移动端技术选型规划

版权声明:转载请注明出处,谢谢合作。 https://blog.csdn.net/mch111666/article/details/83614829

一、总体架构

应用软件的发展,在进入Web时代之后,其架构基础是服务端+客户端,就当前各种技术而言,总在这个架构之内发演绎,对一些细节进行优化。

服务端主要包括数据、资源和业务处理,有些应用系统中将分为数据服务器、应用服务器等,有些分为数据层、数据访问层、业务处理层、负载均衡、代理服务器等,这些方法都是对服务端的进一步细分。

客户端则是用户和应用系统交互的介质,例如PC、笔记本、平板、手机、PDA、可穿戴设备等,是用户直接感知的应用系统设备。随着技术的发展演进,部分服务端功能也会在客户端处理,减轻服务端的工作量,例如一些简单的业务运算。

移动端是客户端的一种技术,伴随着客户端与服务端分离、客户端轻便易携、移动网络等理念和技术发展,客户端经历了一体机、PC、笔记本、手机等技术迭代。移动端是采用移动网络接入、使用移动设备、通过移动平台使用移动应用的一类客户端。

二、移动端技术模式分析

移动端技术模式主要包括Native APP、Hybrid APP、Web APP和微信小程序。

Native APP是原生应用,是基于终端操作系统编写运行的第三方应用程序。类似于早期的Windows程序和Linux程序,不能够跨平台,只能在特定的操作系统上运行;但是能够充分利用原生操作系统的功能和性能。

Web APP是网页应用,是基于Web的系统和应用。类型于Web应用程序,能够跨平台,但是对于原生操作系统的功能和性能利用不足。

Hybrid APP是混合应用,是介于Native APP和Web APP之间的APP,兼具Native APP的用户交互体验和Web APP跨平台的优势。类似于JVM,在操作系统之上加了一个中间层,开发人员无须特别关注底层实现方式,通过中间层即可取得操作系统的功能,但是性能上有所损失,这个损失相比Web APP来说是可以接受的。

 

Native APP

Hybrid APP

Web APP

开发成本

维护更新

复杂

简单

简单

原生功能体验

接近优

Store或Market认可

认可

认可

不认可

安装

需要

需要

不需要

跨平台

性能

非常快

安全

开发语言

Native开发语言

Native和Web或只用Web

只用Web

充分利用现有技术

折中考虑,使用Hybrid开发模式,能够集Native和Web两者之长。一方面,Native可以充分利用现代移动设备所提供的全部不同特性和功能;另一方面,使用Web开发的所有代码都可以在不同的移动平台之间共享,使得开发和日常维护过程变得集中式、简短、经济高效。

从研发团队内部技能储备考虑,充分利用我们拥有的Web 开发技能。选择 Hybrid 开发方法,在合适的解决方案的支持下,Web 开发者只要仅仅运用 HTML、CSS 和 JavaScript 等 Web 技能,就能构建 App,同时提供 Native 用户体验。

从未来技术发展趋势考虑,HTML5的可用性和功能都在迅速改进。许多分析师预测,它可能会成为开发前端 App 的默认技术。如果用 HTML 来编写 App 的大部分代码,并且只有在需要时才使用 Native 代码,就能确保我们今天的投入在明天不会变得过时,因为 HTML 功能变得更丰富,可以满足一系列更广泛的移动要求。

可见,从开发模式这一角度分析比对,HybridAPP更具优势。 

三、集成开发平台

序号

名称

公司

评价

1

AppCan

正益无线

国内Hybrid混合开发、移动平台、移动云平台的倡导者、领导者。云端打包、离线打包。

2

PhoneGap

 

国外开源

3

WeX5

起步科技

采用Apache许可证开源模式,商业友好,完全免费。

4

HBuilder

DCloud(数字天堂)

HBuilder是一个极客工具,追求无鼠标的极速操作。云端打包、离线打包。

5

ExMobi

烽火星空

专门针对企业领域移动应用开发特点推出的跨平台的专业开发平台。云端打包。

6

APICloud IDE

APICloud

云端定制开发,技术上类似于DCloud。

7

CrossAPP

9秒社团

完全开源、免费、跨平台的移动应用开发引擎,采用C++开发,可直接导出iOS和Android原生应用,拥有高性能、多控件、开发速度快的优势。

四、前端开发框架

序号

名称

公司

评价

1

jQuery Mobile

 

jQuery框架的一个组件,简单易用,支持全球主流移动平台,主要用于移动端浏览器应用。

2

Frozen UI

腾讯

针对移动端开发的JS组件库,依赖ZeptoJS,所有组件以Zepto插件形式存在,调用简单,体积小,功能不够强大

3

Sencha Touch

Sencha团队

世界上第一个基于HTML5的Mobile APP框架,基于最新的HTML5、CSS3、JavaScript,支持世界上最好的设备,增强的触摸事件,强大的数据集成能力

4

Bootstrap

Twitter

基于HTML、CSS、JavaScript的,简单灵活,开发快捷。

5

MUI

DCloud

最接近原生APP体验的前端框架。

6

MSUI

阿里

SUI Mobile是阿里巴巴国际UED前端团队的移动端UI库,主要借鉴Framework7的形态并以此为基础,参考Ratchet、Ionic、Onsen各种不同的思路,强化功能,精简体积,并提供国内最稳定快速的CDN支持。非常轻量,兼容iOS6.0+、Android4.0+。

7

Clouda

百度

已停更。

8

Agile Lite

烽火

支持jQuery和Zepto双引擎

9

Jingle UI

 

基于HTML5、CSS3、Zepto,依赖于iscroll

五、小结

通过上述研究分析,可以确定移动端技术模式一旦发生变化,将对既有技术路线带来非常大的影响,比如Window Phone、黑莓等操作系统的市场占有率下降,微信小程序市场的活跃度提升等,我们必须避免此类变化带给我们的影响,因此,我们不能将在开发模式上,限制技术,应该采用Hybrid APP这一模式。

集成平台仍处于充分竞争时期,但是基本上各类平台均能够支持整个开发过程:新建移动APP项目、真机调试、本地及云端打包;均对底层原生系统进行了封装,并提供了访问接口。

前端框架百花齐鸣,各有其优缺点,有实力的大公司均实现了前端框架的自主研发。

六、示例开发

1、基于AppCan平台的示例开发,主要试验整个开发流程

2、基于AppCan平台的数据存储示例开发,主要试验数据库存储功能

3、基于AppCan平台集成Sencha Touch框架的示例开发,主要试验Sencha Touch框架

4、基于WeX5平台的示例开发,主要试验整个开发流程

5、基于WeX5平台的数据交互示例开发,主要试验数据交互功能

猜你喜欢

转载自blog.csdn.net/mch111666/article/details/83614829