方向是没有方向。
春天这个季节很容易抑郁,最近很挣扎,挣扎于各种年龄,各种职业的人之间所进行的各种奇怪的事情的忽悠和反忽悠,决定出去散心,时间未定,地点未定,同行人员未定,没有方向。散之前,还是得想想散完了之后得干吗,各种纠结的事情还是得一件一件的做。
开源的东西,一个特点是可以嫁接不同的Backend,来获得多平台的支持,把移植的工作量变成更多是各种依赖关系,makefile脚本的修修补补。
最近一段时间在看Settop-Box的东西,做应用总是会离不开浏览器的平台。考虑如何在受限系统上让浏览器跑的更欢。
firefox和fennec是无论如何还是得看一看的,一想到XPCom和那套很强大的XUL的东东,就…https://wiki.mozilla.org/Fennec
WebKit可能是更好的选择,Owb和OpenMoko的项目也是做的很火… http://www.sand-labs.org/
对于Video这块的支持,可以通过plugin来做硬件的加速。Intel的CE和Sigma的东东现在都支持Adobe的Flash的硬件加速。
图形图像这块,嵌入式系统总是会区分各种不同的能力集,
1. 完全无加速的帧缓冲framebuffer抽象
2. 支持最简单的图片JPG,PNG.解码,基本的硬件Blit和Alpha-Blending,通过SDK提供.
3. 支持硬件加速的矢量图形原语的pipeline,SVG,OpenVG接口.
4. 支持3D pipeline的OpenGL ES接口.
所以我们看到了一堆的Backend, DirectFB的在大量的中低端支持1,2上面很流行,WebKit也有人做DFB的Backend, 更多的是在WebKit的Gtk+的后端嫁接DFB+GTK。
Clutter是个有趣的东西,最早是在Intel的Moblin项目上看到,当然,Moblin很可耻的和Nokia的Maemo合并了,他们现在叫MeeGo, 都是些很有喜感的名字。
Clutter本身就是一个抽象API层,一个2.5D的Container,后台可以用OpenGL来加速啊,当然也开始疯狂的做各种的Backend,越做越大,字体处理,图形,渲染都想去做。http://www.clutter-project.org/
支持4,自然会有人考虑混交了WebKit和Clutter。之前人们总是习惯于用Mesa + X11, 用SDL这个啥都有的东东来敲OpenGL。
好吧,对于一个非3D化的Settop-Box来说,真正靠谱的是视频和图片,矢量图形的加速。Flash的嵌入式平台支持一直不理想,
虽然有GNU的这个好东东Gnash,他们终于开始把整个Render和Raster都换成了AGG。
http://www.gnu.org/software/gnash/
作为一个纯Soft的实现,一直觉得AGG最高。
说来说去,一个好的图形库,后端有各种硬件能力的支持,1,2,3,4,方便裁剪适合不同的系统,好的API文档描述和易用接口。
GTK+,ATK,Pango,Cario这一整套的东东,很好,Mozilla一直痴痴地用它,太大了。
QT很全,新的4.6支持OpenVG,OpenGL的支持也一直在完善,很好,太大了。
DirectFB不是一个图形库,更多是个工具集,粘合剂,缺少图形原语的支持。
好吧,其实最爱的还是Skia。
做一个好的UI,这些还不够。得有好的WM,得有国际化支持,字符集库,小的好用的字体渲染和Layout库,方便的控件库,不依赖于Browser的场景下,松耦合的一套实现逻辑和交互的脚本语言,LUA?
是否该借鉴下Micro-Kernel的思想,还是继续走混搭的路子。