Skip to content

Czerrr/ISeeBrowser

 
 

Repository files navigation

blackfog:
我移植的基于iPhone Safari同一引擎WebKit的浏览器iSee,请试用:

1、移植起因
    03年开始玩PDA,IPAQ 3970玩了3年多。很多时候用PDA看书,可惜一直无法看HTML
文件,用起来很别扭。04年的时候尝试移植过一份纯文本的浏览器,基于Linux下面的一款,
移植了一下感觉效果比较差,心就淡了下来。05年的时候开始使用了Haali Reader,感觉
不错,支持HTML、CHM等,就不想再搞下去了。06年的使用在苹果开发站闲逛,发现了
WebKit(那时候叫JavaScriptCore/WebCore,Safari引擎),感觉不错,研究了一下,但
很多代码是Object-C,没有时间搞那个,如果移植到C++,难度也比较大。07年6月份在网上
乱逛,无意中发现了WebKit.org,就是Safari引擎的开源代码,就来兴趣了,当是闲暇打发
时间,就开始移植,当然移植的平台就是WinCE。

2、版本历程
   2007年6月底完成了第一个Windows版本,采用了Cairo和Windows字体显示(未采用Glyph,
因为WinCE平台不支持该类函数),全屏刷新,显示效率比较低。
   2007年7月基于freetype2字体引擎实现了局部刷新的版本,速度还比较快。
   2007年7月开始向WinCE与移植,在网上狂搜Cairo的WinCE版本,信息很少,移植搁浅,曾
一度想放弃。
   2007年8月下定决心,对Cairo进行了改造,支持了WinCE。
   2007年9月第一个WinCE版本移植完成,显示效果非常好,准备在国庆推出第一个试用版本。
   2007年10月,国庆的时候发现还有很多要做的工作,版本推迟发布。
   2007年10月,工作变动,移植工作只能零零星星的进行,版本一直无法发布。
   2007年12月,进行了引擎版本更新,拟修正后于元旦发布版本。在发布的时候发现,虽然
显示效果很好,但是显示速度比较慢,怕发布后被骂,准备研究一下改善刷新速度。
   2008年1月,开始研究网上的一些图形显示库,如SDL等,但是一直没有合适的可以替代
Cairo库的矢量图形显示库。静下心来研究Cairo,因为Cairo是基于24/32位位图的,而WinCE
是16位位图显示,在从Cairo位图刷新到WinCE显示设备时,需要转换,耗费了了大量时间。
花了2个星期的时间对Cairo进行改造支持了16位显示,将位图拷贝时间从20ms以上降到1~2ms。
   2008年3月,春节后工作忙了起来,移植工作搁浅,中间几个月只能零散的做点工作。
   2008年6月,再次更新了引擎版本,开始做移植的最后工作,如常规控件按钮、单选框等
改造等;取消了libxml而改用expat。
   2008年8月,完成广告屏蔽(主要是window.open的非主动点击屏蔽),Cookie、Cache、
读取页面失败提示等等。
   2008年8月24日,发布第一个试用版本。【今天比较有纪念意义:奥运会闭幕,儿子满百日(嘿嘿)】

2010年4月10日,由achellies改进各个工程(*.vcproj)个配置,以便在window端以及wince5.0上(PBTest(armv4i)版本) 上成功编译并运行。

3、版本开发说明
   移植和开发了以下库:
   cairo
   expat
   freetype
   icu
   libcurl
   libiconv
   libjpeg
   libpng
   libxml
   libxslt
   pthread
   sqlite3
   zlib
   wceshunt【自己开发的,实现对部分标准C库和部分Win32函数的模拟】

4、程序配套说明
   版本包括:
   主程序iSee.exe
   配置文件iSee.xml【主页、默认显示语言、内存缓冲大小、广告拦截、字体、菜单显示多国化、Proxy等配置】
   ICU资源:icudt38l.dat
   字体文件:sunglobe.ttf【TrueType字体文件,可以在配置文件配置为任意TrueType字体】
   
5、使用说明
   首先在iSee.xml配置字体文件路径,缺省为(FILE=""时)与应用程序相同目录下的sunglobe.ttf。
   缺省启用10.0.0.172:80的代理。
   其他参看配置文件说明。
   放置到任意文件,启动iSee.exe。
   
6、版本缺陷
   占用内存稍大(受此限制仅提供同时打开4个网页)。
   显示速度稍慢。
   不支持下载进度条显示。
   WLAN支持的比较好,CMWAP由于费用问题测试的较少,可能存在问题。
   Cache和Cookie实现的比较简单,可能还存在问题。
   WM5启动应用很慢,目前还没有想到解决办法(是不是可执行文件太大了)。据说WM5的文件操作本来就慢,未作验证,请有经验的P友支持。
   WM6未作验证。
   
7、版本后续改进
   类似Maxthon的广告屏蔽,就是可以让被屏蔽窗口再次弹出。
   内存调度、占用优化。
   显示速度改进。
   文件下载进度条。
   WM5/6启动速度改进。
   Cache和Cookie优化改进。
   HTTPS支持。
   类似Safari的网页缩放。(目前已经支持,未作验证,暂时屏蔽。)
   Flash支持。
   Netscape插件支持。

8、开源说明
   拟在开源网站开源所有代码,本程序所使用的库的使用请遵照各自的使用限制。
   此处以源码包不定时更新。

Releases

No releases published

Packages

No packages published

Languages

  • C 50.7%
  • C++ 40.0%
  • Shell 2.6%
  • Objective-C++ 1.4%
  • Roff 1.2%
  • Perl 1.1%
  • Other 3.0%