发新话题
打印

[版本进展: v0.2.1c] M8平台云计算WebOS及浏览器试验项目之Webkit核心

本主题由 gzdanny 于 2009-4-21 20:14 设置高亮

[版本进展: v0.2.1c] M8平台云计算WebOS及浏览器试验项目之Webkit核心

本贴拒绝未经本人同意随意转帖,特别是掐头去尾没有上下文关联的转贴,以免引起对M8不友好人士的围攻转而升级为人身攻击,谢谢!

扒饭专区试运行:
http://www.m8fans.com/meineson/list-1.html

捐助通道:
http://item.taobao.com/auction/item_detail.jhtml?item_id=2a754417174a68a577a385b14219e9c6&x_id=0db2

Support MBSTUDIO for Webkit4M8:
https://www.paypal.com/cgi-bin/w ... d_button_id=5355555

捐助者权利说明V1.09.05.28:
  如果您是M8普通用户,对MBSTUDIO试验中的Webkit、Gecko核心浏览器和基于Webkit、Gecko核心的Web2.0软件开发框架及发布平台感兴趣,您可以捐助;
  如果您是开发人员,对M8上的Webkit、Gecko移植开发有兴趣,想加入MBSTUDIO的开发平台和开发框架,您可以捐助;
  捐助过的用户和开发人员,可留下您的邮箱并使用该邮箱交流,您将更早得到MBrowser的最新编译版本及使用上的技术支持,得到更及时的开发问题答复响应;
  业余项目的开发和问题响应受时间和外界因素影响较大,MBSTUDIO保留在不得以情况下修改本权利说明的权利,修改后的说明将及时通知到捐助人邮箱或在mbstudio.cn发出公告,再次感谢您的理解和支持,谢谢。

+++++++++++++++++++++++++++++
  注:只是业余项目,无法实时反馈,请捐助了的朋友耐心等待,除非特殊情况,一般会每天晚上10点左右集中处理一次当天的捐助人名单并及时发出通知邮件,如未收到通知邮件,可能是垃圾邮件过滤问题,可PM更换邮箱,默认使用支付宝的邮箱作为捐助人联系邮箱,除非在淘宝定单有留言或本站PM通知更改邮箱,谢谢支持:)

+++++++++++++++++++++++++++++
开源说明:
  本软件基于Qt的LGPL授权,可以不用开放源码的,但考虑到个人时间限制,对Qt也不太熟悉,基于Webkit的Ajax开发也比较业余,所以欢迎有能力有兴趣的开发人员,主要包括Qt开发人员和Ajax应用及网站美工等,可以分别参于到MBrowser的改进和基于MBSDK的离线应用的移植进程中来(例如MBar的Google地图,可能现在是在基于IE核心在做,有空可以试下在MBrowser里试验,需要Javascript调用的底层功能例如拨号、震动切换屏幕方向等,我可以慢慢加进来),源码暂时仍放在MBMAIL的SVN服务器上,有空会重开M8Webkit源码库开MBrowser和MBSDK开发库,谢谢支持:)


+++++++++++++++++++++++++++++
项目进展:
2009-5-29 0:03:02:
Gecko项目同步启动,详见:
http://bbs.meizu.com/thread-972883-1-1.html

2009-5-27 21:43:13:
受Rayman的提醒,小提升了一下性能,放上新视频体验下差别,内部测试人员请查收邮件:)
——不过,这也是没硬件加速情况下,几乎能达到的最快速度了……
http://v.youku.com/v_show/id_XOTQzOTk0NjQ=.html


2009-5-27 1:52:40:
原因就不多说了,2D SDK无期了,所以基于硬件加速的Webkit也无期了~~

2009-5-17 15:58:56
撒花,第一个公开版本发布,源码请在本页找,呵呵!
说下这个版本发布的目的,可能它现在并不好用,速度也慢,但算是个MileStone版本,基础环境也差不多定了,从这里开始要打开新开发分支了,其他开发人员可以利用这个基础参与开发了^-^:
分支一:加速页面显示、拖动、放大缩小和减小内存占用(打开页面速度不关偶事,找Meizu的网络驱动开发人员去,呵呵),主要是依赖Meizu的原生的显示加速(OpenGL ES库完善)或LBE的2D SDK的引入,否则速度上不去的:)
原理就是:页面解析后不是一直保存完整的HTML解析树在内存里(因为普通的网页中,排版和美化占许多内存),而是取出页面中链接及坐标参数映射表,将整个页面缓存成图片,然后释放全部页面结构或部分无用结构的内存,以图片方式进行浏览加速显示和操作,同时响应点击映射查找链接打开新页面,但缺点就是不能进行复杂的页面交互操作,所以说,这是个纯浏览模式分支,以速度为第一目标,研发项目为MBrowser2;

分支二:就是偶移植Webkit到M8上来的原本目的——Web2.0在线业务的本地离线移植,即,依赖Webkit的HTML本地存储以及Javascript与C++数据的直接交互能力,快速将在线AJAX业务API与本地C++对接,例如从Google联系人或日历中读取一条记录,使用javascript用类似mbrowser.add_contact(contact_data);的JS函数的方式添加到m8系统中,这是个开发平台基础,因为最终移植到M8上的Web应用的界面应该要比较简洁,所以不用太多考虑内存问题,用HTML+CSS+JS以快速开发WEB2.0离线应用为目标(目前版本自带的Google提供的文档、地图等算是个雏形),研发项目为MBSDK;

下载地址:http://mbmail-m8lite.googlecode. ... V0.2.1b%20demo1.rar
下载说明:本版本只是技术预览版本,不能忍受死机或响应慢的用户,请选择其它软件或稍候再来,需要替换UCWeb的,本软件定位不同,您可以期待3Gtan做出类似功能,需要替换Opera的,暂时本软件可能会让您失望,您可以稍候再来,以免让您失望打击您易受伤的心灵,或者你也给偶400w,呃,就人民币吧,两年时间,呵呵


操作方式:(操作后要有等一下的习惯哈,后面会加上点击链接后放大显示出来确认点击,放大缩小操作后会有个浮动动画提示下,以免不知道到底点了没有哈)
  双击“按住”后,上移下移为缩小和放大——轻轻往上划一下(100象素)是缩小到原始大小,上划猛一点(300)是缩小到80%,下划一点点是放大到120%,下划狠一点,是放大到180%——不过有些网页对于webkit是写死分辨率不让缩放的,例如百度的新闻页面,For iPhone的一些页面;
  双击顶部(<50象素)是退出,顶部左按钮是切换输入法面板的显示(0905,0906固件支持输入法面板的位置定位了,不会漂在底上一段空白了,0904不确定会咋样),右部按钮是回车,一般在地址栏输入地址直接输入法面板上回车就可以了,除非回车失效时(例如点讯)才用的到:)  
  目前启动时是自动拨号连接的,会实时显示流量——但计算不太精确,例如本地的网页或后退前进也计算了哈~~
  双击“按住”后猛一点往左往右划动是后退和前进了~~

呃,暂时就这些,打算后面定义为:
  不隐藏顶部标题栏,改为点一下隐藏并显示地址栏,回车后恢复;
  双击标题栏调出浮动转盘,显示前进,后退,放大,缩小,停止,刷新,收藏夹,下载……等等功能快速面板~~

浏览模式说明:
  类似Opera的自定义CSS样式,主要是因为一些网页是为IE优化的,其它浏览器显示会出现混乱,不光这里,PC上的Safari,Chrome,Firefox包括Opera一直都是这么干的,我不太熟悉CSS样式定义,暂时只是简单写了三个:iphone兼容,www兼容和自定义,切换到正确的模式时,能基本完美显示为iPhone定制的一些网站和普通www网站,如果是做网站开发的CSS比较熟,也可以自己改写程序目录下的user.css文件来优化显示,也欢迎反馈给我打包到新版本中提供给其它用户使用,谢谢!

2009-5-16 0:24:03:
v0.2.0d 20 min demo video:
http://v.youku.com/v_show/id_XOTE2NjM5Njg=.html


2009-5-12 20:55:32:
  休息,休息一下,连续几个星期到凌晨两三点,再加上天气多变,实在是吃不消了,把手头的v0.2.0c版本打包先发给内部测试人员,然后休息到周末,如果没啥大问题,周末会考虑放出第一个公开体验版本——单页面,放大缩小前进后退,呃,就这么多功能,喔,还有就是Jquery的整合试验(虽然貌似比较慢,默认主页就是基于它的哈),算是偶的WebOS SDK开发环境的最初雏形,不过是否同步公开最新版偶还是顾虑比较多的——因为目前运行速度比较慢,而有些愤青视一切他认为不好用的东西是垃圾的态度实在让人吃不消,呵呵,以后看情况定了,其实偶们许多开发人员都在等LBE小组的2D SDK,来硬件加速渲染和无极缩放——或者Meizu自己把SDK里的绘图接口都加速了,oyeah~~


2009-5-11 1:37:45:
MBrowser2进展中,内部代号KO,oyeah~~  ^-^


2009-5-10 1:03:16:
  累累累,自从搞到了Iris的源码,但Torch又把渲染库藏起来了,偶就又冲动想搞wince的原生webkit了,不过很快偶就打消了这个念头,blackfog搞过这个一年多,应该知道有多累,呵呵——除非Meizu是偶家开的,偶组个团搞才差不多,偶还是继续在Qt的肩膀上搞二次开发吧,克制克制,不再去看新的移植了,编译试验特费时间,呵呵:)
  PS:有熟悉GNOME开发的有兴趣的,可以试下用cegcc这个NB的交叉编译环境,据说可以交叉编译arm wince原生代码来方便移植*nix的开发库,例如mplayer、glib之类的,可能的话也能把目前进行中的Webkit/GTK+移植过来,这样M8上就有Qt,GTK双webkit和界面开发库了,能把Linux上的GNOME和KDE应用都往这移植了哈,oyeah~~
  不过可能速度与Qt的也差不多…………

  目前webkit的核心和界面port渲染实现主导厂家和组织——Apple,Google,Nokia(QT),GNU(GTK+),Torch(WINCE,WM),差不多都是业内巨头和资深 webkit、KHTML开发组,咱们小虾米就算搞,那也是拿cario之类的图形渲染库来对接webkit的解析输出,反正都是移植,还不如拿个功能多点的,毕竟webkit的用处除了浏览网页,更重要的是web2.0交互,如果搞的半死弄个流畅的WINCE原生webkit浏览器(要流畅就直接用wince内置的wininet+mhtml模块了,或者直接资源管理器访问网址^-^),结果交互接口难扩展,没有二次开发人员跟进,那也是白浪费精力了;
  嗯,暂时先不去试验新东西了,把前几天看的Qt资料与Google的在线API整合下,先开始搞几个在线 web2.0的离线应用来,oyeah~~

2009-5-9 19:46:38:
  出差回来,收到一位MY发来的短消息,说有IRIS浏览器的webkit for WinCE源码,兴冲冲地下载回来编译到凌晨5点,结果白高兴一场,想来也是,IRIS靠这个商业支持收钱的,不应该这么容易就全部开放,只不过受GPL限制,他们继承的代码也要开源,只是开放了webcore和javascriptcore这两个Webkit的最重要的核心代码,但界面渲染部分,他们没开源,并且只开放了编译好的Windows Mobile 5平台上面的Lib库加头文件(所以用这个可以为wm5,wm6基于这个库开发webkit浏览器,iris for wm也是免费的)方式放了出来的,目前试验下来M8似乎用不了,仍在尝试中~~~~
  就象苹果移植到 windows上的safari,也只是开放了一个webkit library,里面有webkit显示内容用的渲染核心lib库,但没开放这部分源码,想来目前成熟的Webkit的渲染库,只有Webkit的本家苹果用在MAC和Iphone上的一套(包括移植到Windows上的版本包含在源码里的for windows的示例),Google自已搞的Chrome的一套(甚至还重写一个javascriptcore核心,但其代码还没考虑过嵌入式移植的问题,不好移植),还有就是Linux上开源的两套桌面开发库GTK与Qt(目前唯一开源且能在WinCE上跑起来的)对webkit的渲染支持,其它就只能自己动手把Webcore核心处理的数据用自己的显示引擎来显示了,但就不是个人团队能做大做完善的了的,比如iris的这套商业OEM版本;
  SO,目前还只能继续在QtWebkit上做进一步工作(Qt在M8上其实速度还是不错的,但一启用webkit就拖慢,好在Qt4.6也在不断进步中,性能会不断优化,特别是QtWebElement特性,可以替代JQuery的功能了^-^),同时关注下什么时候iris或其它团队有for CE的强大的webkit渲染库了:)

2009-5-6 20:45:29:
  好吧,有人要更新,那就更新下,不过的确没什么大家能感兴趣的哈,就算我两天看完一本Qt的书(不过这本书着实写的太烂,就不点名了,偶严重怀疑我看的不是中文,不然怎么比原版英文的C++ GUI Qt4还晦涩,语句都读不通?呵呵),也不可能再接下来两天里就搞出一个东西出来吧,呵呵,知识还是要消化消化的,目前在试验Qt的各种特性,要找一种结合Webkit中的Web元素与Native C++数据交互的最佳方式,而且公司还有其它事情要办,屋里接二连三的灯坏了、下水道堵了、燃气灶打不着了,也得花时间找人搞哈~~
  不过目前看下来,利用目前了解到的Qt的技术,用Qt仿一个 Meizu的界面风格出来还是可行的(用Meizu的MZFC是不要想了,除非买Qt的商业开发版本用ActiveX方式嵌到MZFC里,不过那样就没有用Qt的意义了),其实Opera也是用图片仿Meizu风格的界面用Opera的引擎显示的,然后全部理解掌握了的话,就可以在M8上直接象iPhone的Web开发SDK一样,其他开发人员直接写一个HTML+Javascript结合我的SDK生成一个软件(当然,也可以用C++写插件,嵌在HTML+Javascript页面构建的软件界面中实现例如视频音乐播放或直接拨打电话等复杂功能),用Javascript就可以调用Meizu的SDK、WinCE以及Qt的API——当然,这些开放给Javascript的接口要一点点规划加进来,可能我会先做一个Google日历或Reader与我重定义的MBSDK结合的示例来试验下,这也是移植Webkit的另一个重大意义,甚至比浏览器更重要哈;
  而单纯的浏览器这块,由于先前内部放出的只是一个PC上的浏览器的移植,纯粹是体验下Webkit的移植性和显示的标准,所以虽然功能几乎和PC浏览器相同,但着实不好用哈,现在正在做的就是去掉所有桌面软件的功能,仿Meizu的界面风格,完全从0重新规划一个只有地址输入框和网页显示的最简单的新版,把操作手势的定义和页面放大、拖动等做流畅做好用了,才有意义去加其它的如收藏、下载,动态的页面切换等功能哈,否则,如果性能受限(其实显示慢还不是最严重的,M8物理上的wlan及GPRS网络传输数据慢是最要命的),只能专注去做Web2.0应用的SDK平台了,毕竟这些应用传输的是纯数据(Web浏览的话,除非象UCWeb或3Gtan对页面压缩,否则原始页面都太大,手机2G网络下直接访问完整页面不太现实),流量较少,这种情况下GPRS速度和稳定性能基本满足日常应用需求,例如同步一两个联系人、邮件头或日历条目之类的,只有几k流量,但由于可以直接使用现成的Web2.0 Ajax接口,开发会相当便利和高效,只要是开放了Web2.0接口的网站都可以很方便地本地化到M8上实时同步+离线应用:)   
  呃,说完了,但啥都是说的容易——而且就算做也容易,再容易也是要花时间的嘛,如果有400w欧的零头在那,偶职业做这些事,保证一个月就有成品出来,但现实还是现实嘛,偶就晚上就那几个小时,偶每天至少还是要保证平均5,6个小时以上的睡眠的哈,不然真要挂了 ^-^

2009-5-2 1:29:30:
  打开OpenGL显示驱动,网页拖动速度明显得到提升(可对比昨天发的视频看下大网页拖动时的反应速度差别),保守估计提升了30%,基本可以达到网页内容跟随手指移动在0.5秒内反应(最好是页面加载完成后,如果正在加载中下载数据会占用资源拖动会变慢^-^),之前大概是在1秒到2秒甚至更长才有反应,证明了QtWebkit的挖掘潜力是巨大的,现在MBrowser是全屏实时拖放,而Opera是网页解析后缓存拖动时显示图片加速拖动的,可惜它没用心处理好双击放大的定位和拖放结束后的显示恢复,影响了使用(最近095版本Opera性能提升较大,基本算可用了),MBrowser后面重新规划界面加入拖放时缓存,达到iPhone的浏览器速度不是不可能哈,而且偶们还能支持更多的同时打开页面和更个性化的操作方式及类PC上浏览器全功能的定义,oyeah~~
  再补充说明一次,MBrowser的定位是WebOS应用的开发平台,浏览器只是一个试验,全新界面Working Working:)
  放上内部预览版v0.1.0b十分钟视频:


2009-4-30 23:07:21:
  换机后继续开工,第一个内部预览打包发布,预览视频如下,如果有内部测试人员没收到信息通报邮件的请PM更改邮箱 ^-^:
http://v.youku.com/v_show/id_XODgyMjY2Njg=.html

2009-4-29 15:29:02:
  各位实在抱歉,一直在出差,而且现在M8出现无信号故障,可能要送修了:)
  最新情况请关注即时报告~~

2009-4-27 9:15:46:
  虽说有图有真相,但还是有人怀疑的,SO,D5474上动态发布预览视频,感谢Mbar的Google Maps for M8的示例:)
  速度上没iPhone的流畅,目前Qt不太熟悉,用上显示缓存就应该能实现更流畅的体验,目前未作优化延时属勉强能接受#_#~~
http://v.youku.com/v_show/id_XODczOTkxNzI=.html

2009-4-26 13:55:24:
  好吧,公布下本周末的成果,下周要出差~~~
  目前主要解决的是效率和平滑拖动及多点触摸放大缩小的问题,包括操作手势的定义——比较麻烦哈,双击和拖动,方便和功能多是矛盾的,下面放图,最高时打开页面数——11,提示内存不足了,没法继续开,而且由于内存不足,“华丽”的提示界面也没能按快捷键抓下图来——放心,机子没死,比以前经常一天要重启M8十多次进步多了:)
  webkit的速度快不是指最终用户使用的速度快,而是解析渲染HTML和JS数据的速度快,而最终到用户接触到的显示还需要有一中间层,目前时间关系,这个中间层是直接用的跨平台的Qt而不是M8的ce win32或mzfc,所以加载Qt的界面Dll就有十多M,快不了哈,最直观的就是启动要15秒左右,所以,大家到时要有心理准备:)
  现在的Demo程序的使用时的响应速度没有直接使用Win32或Mzfc界面库来显示的Opera,UC,3Gtan响应快,当然,最快的是直接用M8的Explorer打开页面,呵呵,那才叫没有一点延时,但是,它们所有人的问题是,要么只是压缩显示的网页而不是全功能页面,要么就对Ajax支持不好,随便拖拖放放操作还会导致点击失效或卡死没反应,所以它们对目前主流的Web2.0应用都没法正常支持,比如mbar出的M8的网页版的Google地图,只能在Opera里通过按图标来操作,相当不便~~
  用webkit的优势就在于,能完美支持这些Web2.0应用,比如在MBrowser里打开上面说的mbar做的本地离线地图html,能完美支持双击放大和平滑拖动,同时,webkit也提供了方便地与页面中所有HTML或JS元素与终端平台软硬件的直接交互能力,例如,可以在上面的离线Html里做修改,与基于Webkit的M8上的软件对接,直接调M8系统的联系人的地址进行定位显示或更复杂交互能力的导航——iPhone上的一系列地理信息定位交互软件就是这么搞的:)
  而这些如果没有Webkit支持,比如WM手机上的Google地图,则需要开发者根据对应的平台来原生地重写,重写地图数据的获取排版和显示等工作,原有的Web2.0的现成的接口都不能使用,所以wm上Google地图也是才出现时间不太长,功能也是渐渐增加的,而S60上因为有Webkit核心原生支持(Qt目前为Nokia公司掌控),所以基于Google地图相关的应用开发非常方便~~
  SO,这里总结下,MBSTUDIO的主要开发方向不是浏览器,没精力也没这个义务,MBrowser只是一个Webkit核心在M8上的试验品——M8上流畅的普通HTML浏览工作应该,也必须由Meizu要求Opera解决,基于GPRS的移动互联网访问则由UCWEB和3Gtan完成,否则就是Meizu的策略层的问题,MBrowser或MBSTUDIO未来推出的软件的定位是作为一个M8上的Web2.0移动应用发布平台,功能包括:
  1.一个轻量型的M8上其它浏览器无法正常支持的web2.0站点的快速访问和支持,特别是完美兼容为 iPhone定制的一些移动应用的网站如Google Reader iPhone专用页面(下面有图,完美兼容),最终达到一个站点就象一个应用一样显示在M8主界面上,一个站点在一个进程中独立运行就象普通应用程序一样,类似Palm WebOS的概念;
  2.为国内外Web2.0站点快速定制M8原生应用,几乎无需站点作复杂开发,只需开放相关数据接口增加调整一些页面显示样式即可,例如日历、联系人、邮件、音乐电影欣赏历史在线同步及点评交流等等;
  3.其它企业级的应用,略,说不定以后找Meizu OEM,oyeah ^_^~~

当当当,最直观了解性能的,压轴的,暴大的Pconline首页当年EeePC701打开都卡的哈:)


2009-4-25 4:24:19:
  对webkit的优秀性能实在是兴奋,所以才一直搞到现在,切换了一下Demo程序里的数据获取和显示逻辑之后,性能提升飞速,从以前打开一个页面卡在那下载,变成同时打开四个页面——Google新闻,Google地图,Gmail全功能界面,Picasa全相册列表页面,第一次看到M8的空闲内存降到30M以下(在强大的电脑上最快的Chrome里,也是要点掉差不多的内存和资源的,毕竟PC上有交换文件机制,M8全是在内存中操作的)——终于是充分用上这么大的内存了哈,关键是,到这时还能正常响应操作,没有过份的卡的感觉——桌面滑动顺畅一如以往,第二次欢呼吧~~~^_^。。
  SO,本以为要花重要精力在优化性能上,现在看来,Webkit是强大的,Qt是强大的,开源社区是强大了,偶们站在巨人的肩膀上,只需要专心去做好为M8的界面定制二次开发及特定平台功能的定义了,明天去买QT开发资料,慢慢开始粉刷界面,oyeah~~

2009-4-23 22:37:41:
  再次声明,这里公布的只是试验数据,跑的是一个PC上的浏览器的Demo,与最终软件一点关系都没,只是为了验证在M8上移植Webkit核心的浏览器的可行性和运行效率测试,顺便公布一下进展,SO,不要在这儿提界面和功能什么的需求,如果最终软件能成功诞生beta版的话,到时再提也不迟,另外,也不要再提与UCWEB和3GTan的速度的比较,完全不同类型的软件(基础知识的普及就不用我再来做一遍了 ),现在测试下来,加入Meizu SDK的硬件按键,页面的拖动和双指的放大缩小功能后,基本还算流畅——但这是在页面下载完成后,如果是刚打开页面,正在下载网页数据,则无论是用GPRS还是wlan或者直接连USB共享网络,M8的系统速度都被严重拖慢甚至任务管理器失效,不知道Opera是不是也因为这个原因就决定精简功能还用虚假过渡显示来糊弄人  
  好了,试验到此结束了,下面要进入漫长的M8原创Webkit浏览器的开发阶段了——多余的话也不多说了,看看Opera用了多少人力财力花了多少时间吧,你就能没脾气了,慢慢等吧,就象偶等偶的老爷机在编译软件时一编译就编几个小时一样,锻炼耐心,心平气和好过日子,坛子里太多人火气太盛了,要不偶也兼职搞点茶叶来卖吧,大家降降火,oyeah~~

2009-4-23 10:07:36:
  感谢coleka的提示,除了Mzfc界面库外,其它的Meizu sdk都能用上了(类似3GTan,要重绘一个界面,不能用标准的Meizu控件\\-_-..),试验了下,可以在Qt中获取多点触摸和物理按键消息了,但与Qt的控件交互还不太顺利(似乎SDK文档里描述的消息号码都不太对?拦截了消息重新定义了下才能用,要沟通下~~),现在需要简单看下Qt的开发手册,毕竟长久没做界面的开发了,要学习,学习一下#_#~~~
  目前阶段的浏览器试用下来,在进行数据连接下载网页内容时,占用CPU较高会导致界面响应较慢,同时又发现Meizu的任务管理器会在某进程挂起时失去作用,以后调出任务管理器全是空白,但此时浏览器肯定还在后台的,但调不出来没法关,只能重启机子||-_-..,也要沟通~~~~
  不过好消息是,打开页面显示完成后,则非常流畅(用Edge时速度还能接受,毕竟是完整的Web版Google地图哈,还是比较大的网页的,用Edge打开也没让人等到黄花菜发凉哈),所以说明webkit是绝对优秀的,只需要在熟悉Qt后,重新写下界面框架,把不必要的功能精简一下,再把数据的下载获取和显示异步化,就能达到很好的效率了——初步观点,还要看后继试验,oyeah~~

2009-4-22 11:51:04:
  试验了下QtWebkit与Mzfc的对接,能同时显示出Mzfc界面和Win32界面,但同时也导致了重复处理Main入口,一有消息触发就会导致程序崩溃,SO,看来要调用Meizu封装好的屏幕多点触摸接口,直接在Win32中似乎不行,要用外挂方式,否则Mzfc的App封装与QT的app封装肯定是互相干扰不行的,具体的是否能完美内嵌,要查看QT的实现的源代码才行,暂时没精力,用外挂了哈~~
  感谢coleka和不碎的瓶子,现在MBrowser能自动拨号,全屏运行,重力感应切换并调出输入法(但由于回车键似乎有问题,不能直接打开新网页哈),QT的UI响应和Win32还是有些区别的,本人长久不做Win下开发,CE是才搞了半个月,SO,需要上述两位的帮助,主要是在Win32中截获Meizu封装好的多点触摸消息,或者coleka可以试下增加滑动、长按、双击时,向当前活动窗口(QTApp)发送指定的Windows消息的接口哈:)
  放上华丽的Google地图,完美拖放、放大及最重要的——显示 ^_^

PS:整天叫没软件,一会要移植WM一会叫移植Android甚至MacOS的,好了,可以开始移植Linux的KDE程序了(QT)——但,这真的是你们想要的吗?
——或者,你们目前还没搞清楚手机和电脑的区别,另外,从0开发软件是比移植软件要花更多精力的事件,移植只是在没有原创或原创要消耗的成本太高时,不得不采用的,所以,请不要用鄙视的语气来评价现有的M8原创软件——不管它们现在还多么的简单!

2009-4-21 19:14:28:
下班走人前,不死心,又试了下,好吧,大家看图
  ——网页内容的显示效果绝对是没的说,标准!比Opera的好的多了去了,就是现在反应还比较慢,输入接口没有对接,没有好的UI,还不能实用哈~


2009-4-21 17:11:42:
天知道这编译有多么的慢,一大堆库,加上调试修改兼容性,足足编了我一天一夜(凌晨5点,实在是困,不得不放弃~~~),编译的中间文件达到2.78 GB (2,990,215,168 字节)——这还仅仅是Release版的库,如果算上Debug的库,那还要增加2个多G的样子,呵呵~~
现在算一下,如果是拿我配置好的环境以及修改好的源码,顺利编译并且机子够好的话(至少CM1.5G,1G以上内存吧——偶的老爷机配置~~),快的话要两个小时左右~~
期间机子高峰时消耗的内存接近1个G,并由于内存不足导致编译异常多次,SOSO,这种工作还真不好玩——不过,一个让人兴奋的结果是:
所有的库已经成功编译出来了,并且Demo试验程序在M8上跑起来了,验证库移植是正确的!!!!!!!!!
再一个兴奋的消息就是,移植的界面库执行效率与原生win32差不多:)!!!!!!!!!!!!!

好吧,现在宣布答案,公布下技术内幕——偶是站在广大开源社区的前辈的肩膀上迪,呵呵,完全从0开始移植Webkt和界面开发库,那绝对是要用月甚至年的时间单位来计算迪,也不是一两个人三下两下就能变出来的,oyeah~~

WebKit目前的维护主要有Apple的WebKit主项目,主要是Object-C语言,水果家自己用的,偶尔水果也玩一下移植Safari到Windows下~~~
还有就是Linux下的老牌对头,GNOME和KDE它们各自的后台——GTK和QT上的WebKit移植,虽然GTK和QT都是跨平台的界面开发库——类似Meizu的MZFC界面开发库——由于目前GTK的方案还不太成熟,选用了QT+WebKit内建方案~~
PS:现在QT已经被Nokia收购||-_..,技术的垄断啊。。。。不过Webkit的确是有统一Web核心的趋势~~~~

QTWebKit目前支持GNU3和LGPL授权,包括商业授权,对开发人员还是比较宽松的,技术上,几乎所有的最新HTML和Ajax标准都能支持甚至包括HTML5的视频处理^_^

说下为虾米要在M8上移植Webkit和为虾米Webkit这么流行呢?
套用句官方的说法,现在是Web2.0时代,软件的离线和在线的间隔越来越小,要随时随地在手机,PC包括其它数字终端上,得到统一的用户体验是趋势,但由于各软硬件平台的不同,导致开发人员要针对不同的平台开发不同的软件,需要一个更方便的解决方案,可能你想到了JAVA,可惜,JAVA的虚拟机中跑的模型始终得不到普通用户的喜爱,效率也一直是一个问题,这不,SUN刚刚被收购了………………………….net也是类似的。。。。“强大”的托管,呵呵~~~

QT和GTK之类的跨平台方案则是,源码不变,需要在新的软硬件平****运行时,用目标平台上的编译工具重新编译一下,得到的还是该平台的原生程序,保证了程序的高效率,这是保持了UNIX的传统~~~

如果仅仅是跨平台,对M8来说,也没什么意义,因为直接移植CE上的Win32或。Net程序就可以了,没必要搞个第三方界面库的开发核心(大概有30M左右大小的运行库依赖,不过是完全独立于操作系统的,不象.net会融合到系统中,可以简单地把QT看成是一个绿色的运行库^_^)~~

那么移植QT+Webkit的优势是什么呢?
好吗,你想象一下,你用C/C++程序写程序的各种事件的处理代码,然后界面设计人员只要写个XML文件用CSS“画”一个界面,好吧,一对接编译下,你的程序完成了!
OK,还不够刺激?那你还能在程序里直接打开一个网络上的网页,并且网页里的Javascript数据能直接和本机的C、C++代码交互,够强大了吧?不懂?好吧,你的软件可以直接用Javascript去调网络上现在丰富的Web2.0资源,比如Google的地图API,天气预报或新闻的RSS等,而不需要你用C程序去原生地下载——解析——再画个界面来显示,你只需要后台的C程序去调硬件资源,例如拨号连接,发出提示,播放声音提示等工作,而具体的显示,完全由Javascript和HTML来描述,由WebKit加QT来显示给你,如此一来,也就是说你如果是程序开发人员,你只要专注与后台代码的效率和优化,自己简单地用XML画个软件的界面或者如果必要再叫个专业的UI设计公司给搞个优化,好了,强大的软件出现了,而且一上来就是一个Web2.0化的,Web和手机终端同步发布——好了,记得我说过,QT是跨平台的吗?好了,你可以直接再编译一份给S60,给WM,给PC都行,oyeah~~

还天真的认为WebOS就是用Javascrit在一个网页里搞一个类似Windows桌面的玩具吗,就这么简单吗?错了,真正的WebOS是让你的软件(批日常应用,非专业软件)都Web化,这样随便哪里用浏览器访问Web就得到了想要的应用,这样一样,Web就相当于一个宽松的OS了,而数据呢,则是在Web服务器端或本地的离线数据库的缓存,在必要时进行同步更新,这就是另一个名词,叫云端,好吧,现在Google,MS和Apple基本上都在搞,只不过有的比较低调有的比较高调,它们用到的技术都是类似的——一个底层OS加Web核心再加在线服务的支撑!

好了,上面是一个大大大大的饼,就看大家怎么吃了,M8,呃,是一个很好的试验平台:)

[ 本帖最后由 meineson 于 2009-5-31 22:13 编辑 ]

附件

PrtScn20090421180632.png (142.31 KB)

2009-4-21 18:25

PrtScn20090421180632.png

PrtScn20090421181652.png (109.5 KB)

2009-4-21 18:25

PrtScn20090421181652.png

PrtScn20090421181119.png (49.4 KB)

2009-4-21 18:25

QT下的bt客户端~~

PrtScn20090421181119.png

PrtScn20090421192208.png (146.19 KB)

2009-4-21 19:24

PrtScn20090421192208.png

PrtScn20090421201523.png (72.53 KB)

2009-4-22 12:03

语法高亮哈,不错~~

PrtScn20090421201523.png

PrtScn20090422125757.png (180.48 KB)

2009-4-22 13:02

PrtScn20090422125757.png

PrtScn20090422130125.png (195.76 KB)

2009-4-22 13:02

PrtScn20090422130125.png

PrtScn20090426114600.png (144.28 KB)

2009-4-26 15:19

PrtScn20090426114600.png

PrtScn20090426114750.png (142.08 KB)

2009-4-26 15:19

PrtScn20090426114750.png

PrtScn20090426115035.png (171.7 KB)

2009-4-26 15:19

PrtScn20090426115035.png

PrtScn20090426115219.png (209.25 KB)

2009-4-26 15:19

PrtScn20090426115219.png

PrtScn20090426121139.png (137.52 KB)

2009-4-26 15:19

PrtScn20090426121139.png

PrtScn20090426131502.png (137.28 KB)

2009-4-26 15:19

PrtScn20090426131502.png

PrtScn20090426143821.png (98.1 KB)

2009-4-26 15:19

PrtScn20090426143821.png

PrtScn20090426144350.png (109.91 KB)

2009-4-26 15:19

PrtScn20090426144350.png

PrtScn20090426154842.png (137.02 KB)

2009-4-26 15:52

PrtScn20090426154842.png

PrtScn20090426155830.png (122.65 KB)

2009-4-26 16:00

PrtScn20090426155830.png

PrtScn20090511012714.png (117.69 KB)

2009-5-11 01:36

PrtScn20090511012714.png

PrtScn20090511012721.png (88.66 KB)

2009-5-11 01:36

PrtScn20090511012721.png

MBrowser v0.2.0c.png (292.75 KB)

2009-5-12 21:59

MBrowser v0.2.0c

MBrowser v0.2.0c.png

本帖最近评分记录
支持(353) 反对(0)

TOP

好啊~~哈哈
支持(0) 反对(0)

TOP


这么牛!!
强力支持!!!!
支持(0) 反对(0)

TOP

非常期待,静待福音
支持(0) 反对(0)

TOP

前排
给您加分支持兄啊
支持(0) 反对(0)

TOP

虽然没看懂,但是我确定是好东西
支持(0) 反对(0)

TOP


这么牛!!
强力支持!!!!
支持(0) 反对(0)

TOP

哇,这个要顶,
支持(0) 反对(0)

TOP

提示: 作者被禁止或删除 内容自动屏蔽
支持(0) 反对(1)

TOP

这个好东西呀,
完成了是不得了的事情
支持(0) 反对(0)

TOP

加油!!!为你打气!~
支持(0) 反对(0)

TOP

支持搂住!!
支持(0) 反对(0)

TOP

牛人又出来了
支持(0) 反对(0)

TOP

butai不太明白,但肯定支持。
支持(0) 反对(0)

TOP

强力插入

支持(0) 反对(0)

TOP

为高手顶贴...
支持(0) 反对(0)

TOP

虽然没听懂,但是知道lz是牛人
支持(0) 反对(0)

TOP

期待兄弟的大作~
支持(0) 反对(0)

TOP

这绝对是个好东西呀,M8将会越来越强大
支持(0) 反对(0)

TOP

牛 牛 牛!!!!
支持(0) 反对(0)

TOP

发新话题