是的, 没打错字,做出一个浏览器只需要10分钟。浏览器向来是高深莫测的东西,以前是普通人不敢想的,现在也落入了平常百姓家。10分钟制作一个浏览器,利用的是Adobe AIR 的Runtime内嵌了一个叫WebKit的开源网页排版引擎。WebKit是何方神圣?Google浏览器、苹果Safari浏览器的核心就是它。WebKit本身已经包含了HTML排版引擎和JavaScript脚本引擎,也就是说只要调用WebKit马上就就能浏览网页。
是的, 没打错字,做出一个浏览器只需要10分钟。浏览器向来是高深莫测的东西,以前是普通人不敢想的,现在也落入了平常百姓家。10分钟制作一个浏览器,利用的是Adobe AIR 的Runtime内嵌了一个叫WebKit的开源网页排版引擎。WebKit是何方神圣?Google浏览器、苹果Safari浏览器的核心就是它。WebKit本身已经包含了HTML排版引擎和JavaScript脚本引擎,也就是说只要调用WebKit马上就就能浏览网页。
Adobe AIR 目前已经更新到了1.5,出新品速度非常迅猛。它的优点不少,可是有一点一直困扰了很多AIR开发人员的,就是那个Runtime的安装过程。AIR的运行环境不像Flash插件那么普遍,由于它推出的时间很短,所以它在世界范围内电脑的占有率非常低。因此利用AIR来开发东西,部署的过程会拉得很长,这对应用软件的推广绝对是一个巨大的威胁。直到我找到了Thinstall,终于解决了一个心头大患。现在我可以放心继续用AIR开发了。
APE(Actionscript Physics Engine)是一个ActionScript3写成的物理引擎,用于模拟现实中物体发生的运动和碰撞。它是免费、开源的,遵循MIT协议。看起来特别适用用来做游戏开发,已经有许多很有趣的应用使用这个开发的,缺点就是有点占CPU,我放了一个演示Demo上来看看效果。
字符编码一直以来都是很混乱,非常让人令人头痛的问题,许多新手往往就会卡死在这个地方。出现乱码常见于读取、提交和写入这三个环节,稍微处理不好这个问题,结果都会演变变成乱码。 国内常用的网络编码格式有UTF-8、GB2312、GBK,以及繁体字的BIG5,这几个编码之间的转换郁闷了好多人。大多数语言都有这个问题,AS3也不例外,查了很长时间资料,也没有看到任何人提到URL编码的问题。最后终于找到解决的思路,用AS3实现成这样一个编码的类包。
我承认ActionScript 3 这样的面向对象语言用来写程序很舒服,花费的力气比较小,可惜运行环境却不怎么样。Flash的安全沙盒实在太黑了,可能是因为Flash过于强调它是一种Web应用,为了浏览安全对运行环境做了许多限制。用Flash有许多事情干不了的,比如跨域和鼠标右键...
刚开始做AS3的声音播放肯定会忽略第7步,这就是“播放声音暂停后为什么会无法监听到播放完成事件”的原因。这个问题花费了我30多分钟去调试。最后才发现问题是由一个小小的细节造成的:Sound.play()返回了新的SoundChannal,已经不是原来的那个了。
Adobe终于与Google和Yahoo就Flash 的RIA格式达成协议,很快Google和Yahoo将拥有Adobe授权的SWF和AIR富网络应用等解析能力。SWF文件还是能够被解析了,SWF文件将会有更广泛的应用,从而项目开发不必再过分考虑搜索的问题。不管怎么说,这都是个非常值得高兴的事情。
继续学习ActionScript 3,仍然是通过Flex Builder写纯代码的Flash文件。我把一开始做的那个简单的小球下落运动改进了一下,现在支持鼠标抛动方向和力度大小了,并且可以调节小球的重量、弹性(与墙壁产生碰撞后的动能损失)、空气摩擦阻力等。这个练习依然不是什么高深技术,不过里面一些基础知识都用到了。