Apache Cordova移动应用开发实战
上QQ阅读APP看书,第一时间看更新

1.2 Cordova的小伙伴们

俗话说“一个好汉三个帮”,再好的框架也不可能应付全部的需求,在许多时候,仅靠着Cordova也是不够的,这时就需要一些来自外界的帮助了。

Cordova一个非常强大的地方在于它能够使用JavaScript去操作API,但是Cordova的一个软肋在于它缺少配套的UI支持库,在HTML中所需要的一切样式都需要开发者利用CSS去实现。这样就造成了Cordova的三个缺点:

(1)Cordova的开发者许多是从Web转行来的,但是他们未必有移动Web的开发经验,在对不同规格屏幕进行适配时往往会出现一些问题,这就给开发者造成很大的困扰。

(2)需要不时去考虑整个应用各个界面间的协调性。

(3)手写CSS相比当前多数SDK中已经实现了的以拖曳方式设计界面的方法明显不够快捷。

但是,这些对Cordova都不能构成实际的威胁,因为毕竟Web发展了这么多年,自然有太多“投机取巧”的方法可以借鉴,有太多方便的前端开发框架和工具可以使用。其中比较有代表性的就是jQuery Mobile、jQuery Touch和jQ iPhone UI。

1.2.1 jQuery Mobile

这是最常用的一款基于HTML 5的跨平台开发框架,上手非常简单,而且官方给出的范例都非常详细,基本上每一个属性都给出了具体使用的例子。从图1-6中可以清楚地看到,官方甚至对每一个版本的功能都进行了分类,可以说非常方便而且人性化。

图1-6 jQuery Mobile官方对API的分类

图1-7中是jQuery Mobile给出例子的方式,其中包括了对使用方法的解释、实现后的效果和具体的代码。

图1-7 jQuery Mobile给出的例子

提示

jQuery Mobile的说明文档非常人性化,甚至对jQuery Mobile没什么了解的人,靠着文档也能摸索着做出自己需要的效果,但前提是要有耐心去读英文才行。

在使用jQuery Mobile进行界面设计时,可以采用一款名叫jQuery Mobile UI Builder的软件用拖曳的方式来更加方便地生成页面。

另外,关于jQuery Mobile还有非常重要的一点,就是jQuery Mobile实际上是jQuery团队对jQuery Mobile在移动Web上的一个补充,所以它比其他框架有更多的优势。

1.2.2 jQuery Touch

如果说jQuery Mobile作为jQuery在移动Web的延伸而得以直接使用Mobile来命名,那么jQuery Touch的命名就完全得益于它强大的事件响应机制了。

与jQuery Mobile相比,在构建传统的Web应用(如论坛、新闻浏览)时,jQuery Touch不具有任何优势,但当应用中需要处理一些图标、手势时,jQuery Touch的优势是显而易见的。表1-1是jQuery Mobile和jQuery Touch的对比。

表1-1 jQuery Mobile和jQuery Touch的对比

1.2.3 jQ iPhone UI

jQ iPhone UI提供了一套基于HTML 5的UI库,似乎是为了更好地证明这一点,它的说明文档也采用了一种独特的方式,如图1-8所示。

图1-8 jQ iPhone UI特色

由于仅仅是一组UI支持库,所以在与jQuery Mobile交锋时jQiPhone UI几乎没有任何优势。但这也不是绝对的,由于它高度仿真了iPhone的原生UI,因此开发者可以用它来达到一些特殊的目的,比如说构建具有iOS风格的Web应用或是在安卓系统上模拟iOS的界面。