BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Appcelerator RIA平台概览

| 作者 Jon Rose 关注 0 他的粉丝 ,译者 张龙 关注 12 他的粉丝 发布于 2008年9月16日. 估计阅读时间: 7 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!
在这篇新闻中,InfoQ与Appcelerator的社区开发副经理Matt Quinlan讨论了Appcelerator平台。Quinlan着重谈到了Appcelerator的优势及常见用法。

Appcelerator的站点对问题“Appcelerator是什么?”给出了详尽的解答
Appcelerator是完全集RIA与SOA于一体的平台。

Appcelerator将Web 2.0和RIA可用性的优势与SOA的可重用性和灵活性结合了起来。该结合产生了一种“面向Web的客户端/服务器”开发模式……
在明白了“是什么”之后,InfoQ向Quinlan问道:软件开发者为什么应考虑使用Appcelerator呢?
为什么?来看一下,它使得一般人也可以开发基于Ajax的RIAs应用,而不仅仅是让像Google那样拥有众多JavaScript高手的博士团队才能做到!
InfoQ提到了Appcelerator的表达式语言(Expression Language):
Web表达式语言实际上只是用于传统HTML中的JavaScript事件模型的一个扩展(语法有些微调)。某些情况下二者的行为是一致的。例如,你可以将onClick="some javascript"作为某些HTML元素的属性。通过Appcelerator的Web表达式语言,你可以这样使用on=“click”,然后编写JavaScript脚本。但对于使用Appcelerator的Web开发者来说,可用的事件(condition)和行为(action)要更多一些。
事件(Conditions):
  • DOM事件(单击、焦点、移出、改变、鼠标事件)
  • 键盘事件(向上、向下、按下)
  • 其他(历史、拖拽、选择、调整大小、面向iPhone、排序)
  • 订阅客户消息
行为(Actions):
  • Scriptaculous效果(显示/隐藏、淡入淡出、移动、滚动、放开、渐变、高亮、变体等)
  • 设置元素值(静态、动态、绑定)
  • 设置CSS类或者属性
  • 执行自定义JavaScript
  • 发布自定义消息
这使得开发者可以使用类似于现在处理事件(如onClick)的方式来一致地进行事件处理、DOM操作以及Ajax(通过自定义消息)。

请查看http://doc.appcelerator.org首页,以了解可以解耦UI的消息与Ajax。回想一下观察者和发布/订阅模式,而不是API调用。
InfoQ询问了Appcelerator应用的部署:
基于Appcelerator的应用可以运行在任何支持JavaScript的Web浏览器中(无需插件)。只需在HTML中包含进 appcelerator.js就行了。我们想说:“我们已经编写了大量复杂的JavaScript,因此你就不用再写了”。我们为6个主要的Web开发平台(Java/J2EE、.Net、Ruby、PHP、Python、Perl)提供了服务绑定。
接下来,InfoQ继续向Quinlan问道部署是否需要一个SOA后端:
不需要,我们的客户端技术(Web表达式、Widgets、只针对客户端的消息)可与传统的非SOA Web架构一起使用。这一点很重要,因为它允许开发者采用适合自己的技术(我们称其为“慢行(crawl)”阶段)。但是,我们强烈建议开发者考虑以面向服务的UIs(SOUIs)来构建其Web应用,这本质上是真正的Web客户端(使用HTML、CSS及最少的JavaScript构建)——仅通过异步的服务调用与服务器端交互(我们称其为“步行(walk)”阶段)。你无需再从服务器端脚本来产生UI了(请查看http://www.appcelerant.com/lipstick-on-cgi.html)。
然后Quinlan跟InfoQ读者分享了Appcelerator对Google App Engine的支持:
我们提供一个唾手可得的、像瑞士军刀一样锋利的工具——“app”(类似于Ruby的GEM命令),它使我们可以做很多事情,包括将Appcelerator应用直接部署到Google App Engine云中。你还可以利用该命令将应用发布到Amazon S3云中。

http://www.appcelerant.com/running-appcelerator-on-the-google-app-engine.html
InfoQ问Quinlan,InfoQ读者还需要了解哪些关于Appcelerator的内容:
发布/订阅消息模型极其强大,可以将UI元素本身及UI元素与服务器端进行解耦。这种架构使得基于Appcelerator的应用适合于离线(将消息排入队列,然后刷新)、测试(无需点击、只记录消息即可……提示:这是跨浏览器运行的!)、原型(通过在HTML中模拟服务器端的服务来构建功能齐全的原型,而无需任何服务器端代码)及Web开发者能想到的方方面面。
在InfoQ.com采访完Quinlan不久,Appcelerator宣布将其协议由GPL改为Apache2 license。Appcelerator CEO Jeff Haynie在其文章Appcelerator宣布改变协议;与GPL说再见中宣布了该变化。
在过去的6个月中,我们充分听取了社区的建议,并与其积极讨论以了解人们想怎样使用Appcelerator,他们现在使用Appcelerator的方 式以及未来他们想做哪些事情。我们已经听到了一个共同的声音:从社区角度来看GPL并不是一个很恰当的协议,这是由其给重新分发带来的影响决定的,尤其是它涉及到Web应用的构建、这些Web应用如何通过Web服务器进行组织和下载的。我们一开始就考虑尝试澄清我们对GPL的态度,因为这涉及到一些专门的 法律问题——我觉得本质上我们需要淡化GPL协议的意图,这会改变其目的。很明显,我们的协议与业务和技术目标并不匹配。
请访问http://www.appcelerator.com/以深入了解Appcelerator。

查看英文原文:Overview of the Appcelerator RIA Platform

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT