M8平台云计算WebOS及浏览器试验项目之Webkit核心

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.com/files/MBrowser%20V0.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打开都卡的哈:)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值