Tagged: QML Toggle Comment Threads | 键盘快捷键

  • Roger 10:40 am on October 24, 2011 固定链接 | 回复
    Tags: Hybiard, , QML   

    为什么学习JavaScript 

    最近花了不少时间去学习JavaScript,以一般的理解,JS主要用于浏览器前端编程,也就是所谓的Web App。我自己目前是以本地客户端应用开发为主,也就是所谓的Native App,所以JS跟目前的工作交集不大,不过个人认为JS的学习和研究仍然是一件非常有意义的事情,下面是列举的一些理由。

     

    JavaScript的编程范式跟主流语言有很大的不同,跟Python这样的脚本语言也有比较大的差异,它从其它语言里面吸收了很多不同的概念并糅合在一起。学习JavaScript,可以帮助编程经验比较局限在C++/Java这样的主流语言的我拓宽思维的边界,吸收更多新的理念,及打破以往对编程和编程语言理解的一些局限性。

     

    JavaScript虽然是从浏览器前端编程中发展起来,目前也还是它最大的应用领域。但JS本身仍然是一门完整的面向对象的编程语言,只要能够为它提供一个合适的运行时环境,它就可以很好的应用于在其它的领域。而它作为编程语言的一些优点如下:

    1. JavaScript虚拟机的速度越来越快,以V8虚拟机为代表的即时编译技术的成熟使得构建更复杂的应用成为可能;
    2. JavaScript跟其它语言如C++/Java/.Net的binding越来越容易,使它很适合作为一门粘合剂语言,构建Hybird App;
    3. JavaScript对函数式编程和闭包的支持使得它很适合应用于异步编程,像跟网络相关的应用和以事件驱动为基础的GUI应用;
    4. JavaScript操作复杂的数据结构如树结构很容易,这使得它很适合用于GUI编程和网页编程(后者本来就是它最初的发展目的);

    JavaScript在浏览器前端编程的领域内继续迅猛发展,HTML5标准为浏览器的JS运行时环境增加了大量新的API,提供了更完整的功能,为使用JS编写更复杂和本地化的Web App提供了强有力的支持,而其它以浏览器运行时为核心的中间件如PhoneCap更是增强了通过JS直接访问和控制移动设备的能力,这些都进一步模糊了Web App和Native App的界限。

     

    其它的JS运行时环境的发展也使得JS在除了浏览器前端领域外的应用变得越来越重要,NodeJS构建了JS服务器编程的运行时,QML/JavaScipt构建了JS用于Qt的QML GUI编程的运行时,Windows 8的Windows Runtime构建了JS跟.Net混合编程的运行时等等。所以未来,JS在3个主要的编程领域,本地客户端,浏览器前端,服务器后端都会得到更广泛的应用,特别是本地客户端编程,目前主流的GUI框架和OS的发展都有把JS搭配HTML或者其它的UI脚本语言作为本地GUI应用构建的主要语言的趋势,通过JS跟C++/Java/.Net的Binding,Hybird Native App会变得越来越普遍。

     
  • Roger 10:50 am on May 12, 2011 固定链接 | 回复
    Tags: QML, , Qt5   

    Lars Knoll 对Qt5的展望 

    Lars Knoll, KHTML(WebKit引擎的前身)的创建者,目前在Nokia从事Qt的开发。他对Qt,一个极其成功的C++跨平台应用程序/GUI框架,的下一个版本Qt5描绘了自己期望的愿景。从这篇文章中我们可以看到GUI框架未来的演化方向,和以后可能的交互式应用的主流开发方式。

    Objectives with next major version of Qt (Qt 5)

    • Make better use of the GPU, allowing you to create smooth (and accelerated) graphics performance even with limited resources;
    • Making your creation of advanced applications and UIs easier and faster (with QML and Javascript);
    • Make apps connected to the web be as powerful as possible, i.e. to embed and power up web content and services into any Qt app; and
    • Reduce the complexity and amount of code required to maintain and implement a port.

    Qt下一个主要版本(Qt5)的主要目标

    • 更好地利用GPU(2D/3D加速),使得我们即使在有限资源的情况下(移动设备)也可以获得流畅(被加速的)绘图性能。
    • 创建更高级的应用和UIs变得更快更容易(基于QML和Javascript)
    • 应用与Web的互联互通将会变得非常的强悍,也就是可以在Qt应用中嵌入web内容和应用与web之间可以互动
    • 降低移植到不同平台的复杂度和需要的代码量

    从上面可以看出,得益于更普遍和更快的2D/3D硬件加速的能力,和更快的Javascript引擎,我们可以用更快速的方式开发更高级的交互式应用,并且天然具备web整合和跨平台的能力。我们可以使用QML描述界面,用Javascript处理事件交互,少量需要高性能的后端组件(backend component)可以使用C++编写(像已经整合的QtWebKit组件),C++编写的组件和QML/Javascript的解释环境可以无缝地衔接在一起。

    原文:http://labs.qt.nokia.com/2011/05/09/thoughts-about-qt-5/

    对原文的进一步解释,澄清误解:http://labs.qt.nokia.com/2011/05/11/responses-to-qt-5/

     
c
Compose new post
j
Next post/Next comment
k
Previous post/Previous comment
r
回复
e
编辑
o
Show/Hide comments
t
返回顶部
l
Go to login
h
Show/Hide help
shift + esc
取消