昨天分享了QQ使用的开源代码,今天再看一看微信PC版使用了哪些开源软件。
从微信的安装目录可以看到,共使用了六款开源代码,如下图:
Chromium Embedded Framework (CEF)是基于google Chromium项目的开源Web browser控件,跨平台支持windows, linux, mac平台。除了提供C/C++接口外,也有其他语言的移植版。因为基于Chromium,所以CEF支持Webkit & Chrome中实现的html5的特性,并且在性能上面,也比较接近Chrome。
DirectUI库的作者是丹麦的 Bjarke Viksoe,如果是你是MFC开发人员,是否苦恼于MFC在界面上的难看和复杂,研究一下DirectUI的开源代码吧。
下载地址:
www.viksoe.dk/code/windowless1.htm
在DirectUI - UI Library开源代码的基础上开发的非常不错的界面库,Duilib是一个windows下免费开源的界面库,遵循bsd协议,可以任意修改和免费使用(包括商业项目)。
由于简约易扩展的设计以及稳定高效的实现被各大互联网公司普遍接受,广泛应用于包括IM、视频客户端、股票行情软件、导航软件、手机辅助软件、安全软件等多个行业的众多pc客户端软件。
微信的界面这么好看,靠的就是此君。
protobuf-lite 是protobuf支持库的精简版本,相对体积减小十倍;相对 protobuf 也很简单,可以很轻松的调用相关方法来完成业务消息的序列化与反序列化工作。
QQ也使用了该开源项目。
Speex是一套主要针对语音的开源免费,无专利保护的音频压缩格式。
Speex工程着力于通过提供一个可以替代高性能语音编解码来降低语音应用输入门槛 。另外,相对于其它编解码器,Speex也很适合网络应用,在网络应用上有着自己独特的优势。同时,Speex还是GNU工程的一部分,在改版的BSD协议中得到了很好的支持。
QQ也使用了该开源项目。
SDL(Simple DirectMedia Layer)是一个跨平台的multimedia library ,包含了对图形、声音、键盘、鼠标、操纵杆、2D图像的支持,现在已有不少游戏使用这个开发包进行开发。
目前支持的系统有:Linux, Windows, Windows CE, BeOS, MacOS, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX。
SDL 是用C语言写的,但是能很好地兼容C++语言。并且能被其它语言绑定使用,如: Ada, C#, Eiffel, Erlang, Euphoria, Guile, Haskell, JAVA, Lisp, Lua, ML, Objective C, Pascal, Perl, php, Pike, Pliant, Python, Ruby, and Smalltalk.
SDL发布支持GNU LGPL v2.0 许可协议。也就是说SDL可以免费用于商业应用。
官方地址:http://www.libsdl.org/index.php