五千年(敝帚自珍)

主题:【原创】手机应用开发商之烦恼 [4] 跨平台 -- 邓侃

共:💬34 🌺82
全看分页树展 · 主题 跟帖
家园 唱点“反调”

总结了一下读Chrome的经验,有些不同的观点。

1.跨平台的编译。这个一要看公司可调动的人力资源的情况,二要看是否是Open Source。Chromium中就准备了两套方案:VC 200x中的Solution文件的和x:\chromium\src\build目录中的SCons配置文件(俺是不懂那个SCons,但起码看静态的文件是这样的,见笑见笑)。这个吗,好像前几年流传的段子 --- 如果俺有钱了,俺就弄两个手机,左手拿移动,右手持联通,想联通就联通,想移动就移动。俺是Windows上的懒人,绝对用Solution文件。因为大多数公司是“没钱的”,而且不Open Source,所以楼主的观点是“没有错误”的。

2.如果是NATIVE BINARY CODE,所谓之跨平台语言根本没有什么选择 --- 就是C/C++。所以选语言不如说选基础框架,Chrome的选择包括基础函数库 --- ICU(International Components for Unicode),插件接口 --- NPAPI,图形方面,自然是Google的私家货 --- skia。反正用VS 200x不用MFC。出于Windows上插件兼容性的考虑,ATL用了一点点。

3.第3条俺比较赞同,模块的分割与抽象很重要。这方面Chrome做的比较好,比如Renderer模块中与webkit的衔接,Plugin中和第三方的衔接。

4.该用特定平台的地方不要含糊 --- 80:20法则。Chrome在进程安全性方面,使用了Windows的DEP,Desktop, 进程Token, Job等等。LINUX上有没有类似的东西俺不知道,俺对那上面的开发是一窍不通。

5.叫什么名堂不重要,神似胜过形似 --- 好东西要大胆的借鉴,管它是来自M$还是其它。比如Factory,scoped_ptr,Release(),AddRef()。

6.如果大家的技术都趋向于同质,大家是否会沦落为目前中国的状态 ---“世界工厂”,生存链的底端?如何保持自己的核心竞争能力?

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河