存档

文章标签 ‘javascript’

Thoughts on Flash

2010年4月30日

今天在Apple的主页上明显位置看到了Jobs关于Flash的一篇声明,声明中措辞强烈的列举了6条不使用Adobe Flash技术的原因,包括Flash技术并不开放,Flash对于网站并不算不可或缺,Flash对性能,安全性和稳定性的影响,对于电池的过度消耗,不支持Touch以及Flash开发平台会破坏Apple平台的最新特性。这里我们抛去Apple和Adobe的恩怨不谈,文章里面还是有很多很有意思的信息,我想这些代表了Apple对于未来技术演变的想法,这些也是和Qt紧密相关的,我列举如下:

1. …and created WebKit, a complete open-source HTML5 rendering engine…By making its WebKit technology open, Apple has set the standard for mobile web browsers.

Apple是Webkit的创始者之一,也在一直在对Webkit做出贡献,在Apple看来,Webkit就是未来浏览器引擎的标准,尽管目前IE和Firefox还有很大的市场。

2. …Apple has adopted HTML5, CSS and JavaScript – all open standards…New open standards created in the mobile era, such as HTML5, will win on mobile devices.

Apple是HTML5的最早推动者之一,当然,Google也是,Qt(Nokia)也是。而且Apple认为HTML5迟早会是网络的标准,取代现有的私有框架,例如Flash.

3. …Third, there’s reliability, security and performance…In addition, Flash has not performed well on mobile devices.

Apple认为因为Flash技术本身的限制,Flash在可靠性,安全性和性能方面都存在很大的问题,特别是性能,在嵌入式系统中,Adobe从来没有证明Flash可以很好的运行。

我的看法,无论你同不同意Jobs的看法,也不管Apple有可能有其他的商业目的,但上面的这些原因或者说法都没错。如果Flash还是像现在一样发展,那么HTML5早晚会取代他。而且,回到Qt,我们也是按照Webkit+HTML5+Performance的方向来走,关于这点,我后面会再写一篇。

Qt , , , , , , ,

Qt 4.5 新功能逐一看 – Qt Script 调试器

2009年3月19日

对于Qt Script本身感兴趣的同学,官方文档在此

简而言之,Qt Script就是一个符合ECMAScript标准,和Qt本身紧密集成的Script引擎,相比与其他基于ECMAScript的脚本语言 JavaScript和Flash ActionScript,Qt Script语言最大的特点就是提供了对Qt对象(QObject)的拓展,从而实现了Qt本地对象和脚本对象的互通。你可以在C++代码中将一个本地对象“暴露”到脚本中,从而在脚本中调用该对象的方法以及设计对象的属性,还可以将本地对象的Signal(信号)与脚本中的函数相连接。最终可以实现用脚本编写应用程序。

开发Javascript的同学爱用Firefox,因为Firefox有调试Javascript的插件。现在Qt 4.5里面也有类似的Qt Script调试器了,可以单步,跟踪变量,自动追踪异常等等。具体的Qt Script Debugger使用手册在此

最后做个小调查,看看有多少人用Qt Script:

你使用Qt Script开发Qt程序么?

路过看看结果

Loading ... Loading ...

Qt , , , , , ,

Qt 4.5 新功能逐一看 – WebKit 集成

2009年3月16日

Qt 和 Webkit 的集成是在 Qt 4.4 的版本中实现的,关于什么是webkit,为什么要将 Qt 和 Webkit 集成在一起以及可以用来干什么等等内容,请移步此 在线研讨会
有空写写关于 Webkit,浏览器引擎的未来,周围也有很多朋友在积极的开发和贡献着。

今天主要介绍一下在 Qt 4.5 中 Webkit 集成的最新功能。

1. 首先是将 Webkit 升级到了最新的trunk版本。trunk 是目前 Webkit 最新的也是主要的开发分支,目前 Webkit 的 nightly build 就是基于 trunk 编译的。
trunk 的源代码在此:http://trac.webkit.org/browser/trunk
QtWebkit 现在已经是 trunk 中的一部分了,也就是说你也是直接在 Webkit 中使用 QtWebkit 代码,编译出 QtWebkit 库了。
相比与 Qt 4.4 中旧的 Webkit 核心,trunk 带来的好处包括:更好的网页兼容性,接近100%的 acid3 测试结果,不知道 acid3 的同学可以猛击此处,看看你的浏览器可以得几分?全屏幕缩放(包括字体以及图片,如果我没记错的话,这也是IE7的新功能),以及对CSS animation 和 transition 的支持,transition 其实就是最简单的 animation,目前来看,CSS animation 还是 Webkit 特有的扩展,想看看具体效果的同学可以分别在Safari 4 以及 Firefox 3中打开这个链接

2. 引入了对 Netscape plug-in 的支持,全称为:Netscape Plugin Application Programming Interface (NPAPI), Netscape Navigator 浏览器早已离我们远去,但Netscape plug-in 却还顽强的活着,并且成为绝大多数浏览器都支持的跨平台插件标准,其中最常见的N插件莫过于 Flash 了,想想满世界的类 “Youtube” 你就知道了。 现在 Qt 4.5 中支持了N插件,最直观的改变就是在 Qt Demo Browser 中原本应该显示 Flash 的位置不会再是一片空白了。
还能做什么? 一个 Youtube 的客户端应该很容易。

3. HTML 5! 这个最最最新的 Html 规范,估计还没有几个人真正用上。唯一见到的应用(也是预览)就是, Google 在 Android 平台的 HTC Magic 和 Mac OS 的 iphone 3g 上演示了基于 HTML5 的离线 Gmail。当然,HTML5还引入一些其他新的元素,诸如 audio 和 video。 不过联想到 Qt 里面的 Phonon 和 sqlite 模块,你就应该能理解 Qt 对于 HTML5 的支持应该就是水到渠成了吧。
关于HTML5的文章,请移步
关于 Gmail 在不同设备的演示,请移步

4. SquirrelFish Javascript 引擎。先来个 logo
squirrelfish
SquirrelFish 是全新的 javascript 引擎,相比于原来 Webkit 中的 JavaScriptCore, 特点就是一个“快”!下面这张图是 SquirrelFish 和原来 Webkit JavaScriptCore 运行 SunSpider 测试的性能对比,Longer bars are better.
squirrelfish-webkit-graph
现在浏览器星球 javascript 引擎众多,有空抄一些东西写篇纵览。

最后来张ppt:
webkitintegration

先到这吧。

Qt , , , , , , , , ,