For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
随着移动互联网的不断发展,我们在开发app软件的时候已经不单单只是开发PC端的应用,在不同的移动设备上我们也需要开发能够跨平台使用的软件,下面我们就一起来了解一下具体情况吧。
Web应用(Web App)与原生客户端应用(Native App)
关于这两种移动化方案孰优孰劣的辩论已然有不少了。
我相信,如果你能以Web应用的方式打造移动化产品,那么你确实应该这样做;反之则不应该...另外一种情况则介于两者之间,即通过HTML、CSS、JavaScript等前端技术,结合移动设备原生开发方式,打造所谓的混合型应用。
看似废话,但重点在于“能”或“不能”。这里我们主要指具体的项目需求,而非技术开发能力。我所在的团队,做过的多数案例,都来自于企业级的客户。大公司,顾名思义,在人员、产品及服务等方面都具有相当的规模,他们所需要的移动化解决方案在跨平台方面的需求都很高。
当接手一个新的企业级移动化项目时,我会将Web App作为默认的首选方式,同时结合以下三个问题进行进一步评估:
功能方面,是否涉及那些只有本地应用才能利用的设备硬件资源?
比如,一款有条形码扫描功能的应用,必须配合设备的摄像头进行工作,而摄像头是浏览器无法获取的硬件资源,所以这款应用不能以Web App的形式存在;类似的功能还包括影像音频的录制传输、后台运行、消息推送等。如果该产品确实必须基于这些功能才能被正常使用,那么原生客户端应用便是不二之选。
该产品的用户是谁?
如果产品拥有大规模的公众用户群,那么原生或Web应用的方式都是可选的,前者可以通过平台官方的App Store或应用市场进行推广,后者的跨平台性更好。如果产品属于公司或组织内部使用的管理信息系统等类型,那么Ad hoc、类似Apperian这样的第三方App Store或Web App都是可选的。
该应用在系统资源消耗等方面的敏感度如何?
很多方面的因素会使移动设备浏览器占用过多的内存资源,从而影响Web App的执行效率及用户体验。这些因素包括半透明视觉效果及动画效果、大量的内容数据、文件加密和解码、基于地图的复杂交互方式等。
回答了这三个问题之后,对解决方案的选择便容易多了。举例说,比如我收到的需求是为企业员工设计开发一款B2E应用,用来管理他们的个人信息及收益情况,并且不需要使用移动设备提供的高级硬件功能,那么Web App的方式是最恰当的选择。另外一方面,如果需求是开发一款面向大众的虚拟地图应用,并需要配合手机的陀螺仪功能才可以工作,那么我们必须选择本地客户端的方式进行开发。
不过,正如我们之前提到的,在这两者之间,还有另外一种混血方案可以去考虑,也就是混合型客户端应用。
原生客户端应用(Native App)与混合型客户端应用(Hybrid App)
所谓混合型应用,就是在原生客户端中嵌入基于前端技术构建的页面视图;这种方式其实已经很常见了。本质上讲,页面视图就是HTML页面,但它不需要另外调用移动设备中的浏览器进行查看和操作。
混合型应用的典型实例其实是我们非常熟悉的:iPhone、iPad等iOS设备的本地App Store或iTunes,以及Twitter和Facebook的客户端等。
在混合型应用中,原生的部分其实只相当于一个架子或容器,应用的核心是基于HTML、CSS、JavaScrit或前端框架打造的页面视图。页面的静态文件资源可以存储在服务器端,动态数据通过Ajax的方式在页面视图与移动应用中传输。
跨平台的前端开发工具
这是第一大类,主要包括一些在传统Web前端开发方面比较常见的JS框架。它们在混合型应用的页面视图中可以起到同样重要的作用。
jQuery
jQuery显然是最有群众基础的JS库之一,为各种常见的JS功能需求提供了统一的API,包括DOM操作、Ajax、事件绑定等。它通过了A、B、C全部三个级别浏览器(包括桌面与移动版本)的严格测试,拥有庞大的开发者社区以及优质的文档资源,并且是完全开源的。
凡事有利必有弊,jQuery在浏览器方面的优异表现,一定程度上取决于它包含了大量用于修正桌面浏览器兼容性问题的代码;对于移动应用方面的开发来说,这方面的代码是没什么意义的。这让jQuery看起来有些重了。
对我个人来说,如果需要开发一个传统的、主要用于桌面设备浏览的网站,那么jQuery会是我的主要选择。但是对于网站移动化方面的项目或是混合型应用的开发,我不会选择它。
Zepto
在移动化开发方面,作为一款更轻量的框架,Zepto是jQuery的一个不错的替代品。Zepto并没有被声明可以兼容旧浏览器,包括IE6等,同时,它在功能方面却几乎可以与jQuery媲美。如果你习惯于使用jQuery,那么你完全可以通过Zepto进行网站移动化或是混合型应用的开发。
XUI
作为一款轻量级JavaScript框架,XUI是特别为移动版本的浏览器打造的。XUI的侧重点是移动浏览器中最常见的功能需求,以最少的代码量实现最基本的功能。语法方面也很简单,不过与jQuery的风格有所区别,需要加以习惯。
Lawnchair
Lawnchair也是一款轻量级JS库,它最大的特色是,可以将客户端抽象为持久化的“无SQL”风格的数据存储空间。它采用适配器模式,支持多重回调机制。语法风格非常简单直白,支持简单的query查询。
在开发混合型应用或传统网站时,出于客户端持久化存储功能的需求,或是性能等方面的考虑,我会选择Lawnchair作为框架。
译者: C7210
来源:Be For Web
【免责声明】:本内容转载于网络,转载目的在于传递最新信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。