Javascript 并不仅仅只用于网页和网站程序。你还可以创建实时应用、服务端解决方案、桌面和移动应用。移动应用分为两种:浏览器里的网页应用和本地应用。本地应用通常更快更强大,因为它们有访问文件系统、传感器、照相机等设备的权限。本地应用通常使用手机指定的语言编写,例如 Objective-C 、 Java 。所以独立开发者通常使用 HTML+CSS+Javascript 的解决方案。幸运的是,感谢最新的技术,我们可以很方便的将网页应用转换为真正的本地应用。
Titanium?Appcelerator
?? ?视频( http://vimeo.com/moogaloop.swf?clip_id=8730218&server=vimeo.com&show_title=0&show_byline=0&show_portrait=0&color=&fullscreen=1 )
?
?? ?这个恐怖的工具允许你使用所知道的网页技术通过本地控制为 iPhone 、 iPad 、 Android (稍后将支持黑莓)创建强大的移动应用。这些技术包括 HTML5 、 CSS3 、 Javascript 、 PHP 、 Ruby 和 Python 。此外,它最近还更新了文档。
?? ?你可以使用任何一个你想用的框架(例如 Mootools 、 jQuery 、 Prototype )并利用上 CSS3 和 Javascript 的最新特性。这是因为 Titanium 程序实际上运行在聪明的嵌入式 Webkit (即 Safari )窗口中。 从 Titanium 1.0 版本开始,除 Webkit Webview 外只有 Javascript 模拟器。像 米切尔所写的一样 :
?? ?在 Titanium 0.8 版本中, Webkit 的 Webview 被当作核心使用,周围是 GPS 、用户界面、相机和映射到操作系统的数据。而到了 Titanium 1.0 版本,开发者现在可以选择通过直接绑定到操作系统的 API 为 iPhone 上的 Objective-C 或者 Android 上的 Java 建立 Javascipt 桥。
?? ?如果你学习了 Titanium手机 API ,你会发现它使用地理定位或者鼠标手势是多么的简单。你甚至还可以仅仅通过简单的几行代码,就可以把你的 应用连接到 Facebook 。
PhoneGap
?????? 就像 Titanium 一样, Phone Gap 让你可以使用 HTML 和 Javascript 来为多个手机平台构建应用,包括 iPhone 、 Google 的 Android 、塞班、 Palm 和黑莓。你可以在 这里 看看上面提到的这些平台目前支持哪些特性。
?????? 坦白的说,我只用过 Titanium ,但是 PhoneGap 看起来也是一个很好的选择。
?????? 另外还有 QuickConnectFamily 和 NibleKit 。第一个相当强大,第二个缺乏文档同时不支持跨平台(只支持 iPhone 和 iPod )。我还推荐 iWebkit ,但是它的主页最近被黑了(我没有开玩笑 … )。
?????? 你可能会对让你工作更容易的框架感兴趣。 例如,如果你希望你的应用有特别的 iPhone 界面和外观,可以试试:
jQTouch
?????? 它可以使你轻松创建 Webkit 浏览器上运行的 iPhone 应用 ( 还可以再使用 Titanium 或 PhoneGap 来创建本地应用 ) 。
?????? 除 jQTouch 之外还有一个选择: IUI 。你可以在 Google代码 里找到它。
?????? 如果你要选择一个轻量级和非 jQuery 的框架,可以试试 WebApp ,它被设计来模拟 iPhone 和 iPod Touch 真实的用户图形界面。
XUI
?????? 我们听到了你的话。另外一个 Javascript 框架是什么?!当使用 PhoneGap 开发时,使用现代的 Javascript (例如 Prototype 、 MooTools 、 YUI 、 Ext 、甚至 jQuery ),会导致加载时间变慢。一个最大的原因是这些库太大,主要是它们包含了大量跨浏览器兼容性代码。到目前为止,手机平台上浏览器实现和不同的需求很少,所以请考虑 XUI 。
?????? 我已经说得够多了 …
Cappuccino
?????? 这个框架为非 Objective-C 开发者设计, Capucchino 引入了 Objective-J 。
?????? Objective-J 是一个基于 Objective-C 的新式编程语言。它同时是 Javascript 的一个超集,这代表着任何有效的 Javascript 代码也是可用的 Objective-J 代码。任何熟悉 Javascript 和面向对象原理的人,学习 Objective-J 不会有任何困难。熟悉 Objective-C 会有一些帮助,但不是必须的。
?????? 使用这个框架可以创建和桌面应用一样棒的手机应用(这要感谢 Titanium )。可以看看一些示例: 280 slides ,Mockingbird 或者 Github 问题 。
iProcessing
?????? 使用上面的框架你可能无法创建 3D 应用和游戏。所以有了 iProcessing 。它是一个开放的编程框架,帮助人们使用 Processing 语言开发本地 iPhone 应用。它是 Processing.js 库和 iPhone 上 Javascript 应用框架的结合。
?????? 视频( http://www.youtube.com/v/tENliJSMEB8&rel=0&color1=0xb1b1b1&color2=0xd0d0d0&hl=en_US&feature=player_embedded&fs=1 )
?? ? ??你还知道另外值得提到的框架?请给我回复。