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的界面。