前言
做应用开发的人,经常需要去封装一些接口,或者去实现一些复杂的功能。但是这些功能接口实现不仅费时,而且还不一定能保证稳定性。这也是导致很多人喜欢使用开源库的原因之一。如果满足需求,确实没必要"重复造轮子"。接下来我们推荐一些比较常用的开源库。
常用开源库
- SQLite
SQLite是一款轻量级的数据库。它主要是为嵌入式设备和移动设备设计,我们很熟悉的Android系统就包含了这个开源库。如果你的系统需要数据库,那它就是不二之选。
- FreeType
FreeType库是一个开源的、高质量的且可移植的字体引擎,它是用C语言编写的,其设计目标是小巧、高效、高度可定制和可移植,同时能够生成高质量的输出(字形图像),支持大多数矢量和位图字体格式。我们可以根据自己的需求来进行裁剪。
- zlib
zlib 是一个压缩解压程序库。这个就没什么好多说的。
源码地址:http://www.zlib.net/
- libnet
Libnet是一个帮助构建和注入网络数据包的API。它为底层网络包的发送和处理提供了一个可移植的框架。Libnet在编写网络工具和网络测试代码方面非常方便。
源码地址:https://github.com/libnet/libnet
- libxml2
Libxml2是为Gnome项目开发的XML C解析器和工具包。对于需要解析一些xml配置文件,或者网络xml文件时,非常方便!
- OpenSSL
假如应用程序需要进行安全通信,避免窃听,同时确认另一端连接者的身份。那么使用OpenSSL肯定没错,它包含了大量加密算法,对数据进行加密。对于网络通信的安全做了保障。
- pureftpd
PureFTPd是一款专注于程序健壮和软件安全的免费FTP服务器软件。其可以在多种类Unix操作系统中编译运行, PureFTPd还有Android移植版本。
- Lighttpd
Lighttpd内存开销小,cpu占用率低,并且有很丰富的模块,兼容性也好。Lighttpd是在轻量级web server上算很优秀的了。需要在嵌入式设备上部署web服务时可以考虑使用。
总结
开源库大部分是经过很多人使用,并测试过的。所以可靠性还是很比较有保障的,很多人在使用过程中发现的bug都是被修复过的。除非有特殊需求,需要自己来实现,否则还是很推荐使用开源库的。使用开源库是很正常的,就连支付宝这种软件都使用了很多开源库。