概述
一、总体架构
应用软件的发展,在进入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 | | 基于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平台的数据交互示例开发,主要试验数据交互功能
最后
以上就是隐形煎蛋为你收集整理的移动端技术选型规划一、总体架构二、移动端技术模式分析三、集成开发平台四、前端开发框架五、小结六、示例开发的全部内容,希望文章能够帮你解决移动端技术选型规划一、总体架构二、移动端技术模式分析三、集成开发平台四、前端开发框架五、小结六、示例开发所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复