解读四大移动web应用开发框架真相

【51CTO译文】近来关于新的移动网页框架及移动平台存在很多争论。平心而论,这些工具在条款内容方面的混乱与模糊也是形成你们误解的缘由之一。我但愿经过几条简短的评述来尽可能清理这种认识层面上的混乱状态。html

网页移动应用程序并不等同于本地移动应用程序浏览器

许多人认为Titanium及PhoneGap与Sencha Touch及jQuery Mobile属于竞争对手关系。事实上它们并非同一类事物。我敢确定在抛出本身的观点后,必定会有人对我进行驳斥。不过网页移动应用程序更应该被看做一类网站,正如Basecamphq.com或是Twitter.com那样。一款网页移动应用程序运行于浏览器之上,并且其所调用的资源几乎都是远程的、存储于服务器端的。固然不排除有些信息也会出现本地存储的状况,但归根结底,它的本质是网站应用程序。服务器

本地应用程序运行于咱们的设备上,其所有资源都安装在咱们的本地设备中。本地应用程序使用该设备的平台、语言以及特殊的本地API以与设备接驳。比方说咱们没法在网页移动应用程序中运行NSString,由于只有本地应用程序才能访问本地资源,而网页移动应用程序作不到这一点。框架

“那么它们之间到底有什么区别呢?”区别以下: Sencha Touch 与 jQuery Mobile enter image description here工具

它们具有网页移动框架。咱们可使用这些技术以建立基于网页的移动应用程序。它们没法访问任何本地API。它们两者的运行都基于JavaScript。而且尽管它们是以彻底独立的方式处理相似的问题,但其仍然具备共同点,即它们为移动页面服务。性能

你们能够在PhoneGap及Titanium上使用Sencha Touch与jQuery Mobile。若是咱们可以接受将html/js做为本身的本地应用程序,还能够将PhoneGap或Titanium嵌入浏览器中并将其放在应用程序在线商店或市场中。我想这可能正是误解的根源。将Sencha Touch或jQuery Mobile进行本地化包装并不能使其成为真正的本地应用程序。该过程只是使其在外观上像是本地应用程序而已。咱们可能从PhoneGap或Titanium中的API上得到过一些功能,但这仍然不必定能够被称为“本地”应用程序。它们充其量只能看做是运行在本地设备上的网页应用程序。这种将网页技术引入本地化领域的应用技术至关了不得。 PhoneGap 与 Titanium enter image description here PhoneGap及Titanium与Sencha Touch及jQuery Mobile之间并无太多类似之处。事实上,我能够说得直白一些——PhoneGap与Titanium之间也并不彻底类似。固然它们两者都容许你们自由分配本地或类本地型应用程序。它们也都不须要为Sencha Touch或jQuery Mobile准备额外的“建立支持”。为何?由于它们所支持的设备自带浏览器。请记住,Sencha Touch与jQuery Mobile是运行在浏览器上的。由于PhoneGap及Titanium都容许咱们在特定设备的浏览器中运行程序,因此它们实际上是经过这种方式实现了对Sencha Touch及jQuery Mobile的支持。网站

PhoneGap与Titanium之间最大的不一样在于它们所提供的功能。PhoneGap的服务内容更像是一种依附于浏览器的外壳,它表现得近似于本地应用程序,但本质上倒是html/JavaScript应用程序。Titanium则经过“页面预览”实现了彻底相同的功能,但却更进一步,为Cocoa Touch在浏览器以外提供了大量的本地API。根据个人观察,这两款应用程序在在线商店中有95%都并非基于网页运行的。编码

在Titanium上咱们经过JavaScript进行编码、利用Titanium自身提供的独特API。最终的结果是,应用程序在运行当中占用的是本机性能以及本地用户界面等等。归纳来讲:咱们用JavaScript编码,而其实际运行却基于Objective-C(这里指的是iOS类应用程序)。 我仍然对“完全终止本地应用”所得到的赞赏之声持怀疑态度。在为浏览器及设备分别制做过应用程序以后,我认为将两者相结合才是正确的选择,且极具发展空间。了解了各类技术之间的差别,我想这对于搞清各种工具的本质应该有所助益。htm

相关文章
相关标签/搜索