移动应用开发技术选型策略

(整期优先)网络出版时间:2019-10-20
/ 2

移动应用开发技术选型策略

谢云

广东东软学院广东省佛山市528225

摘要:移动硬件技术、移动通信技术和互联网技术的迅猛发展使得移动应用得到迅速普及和快速发展。据统计,截至2017年底,每个智能手机用户的平均APP数量达到40个以上,平均每天花费在各类APP上的时间达到约4.2h。因此,对于企业品牌的宣传、产品的推广和服务的扩展而言,除了开发传统的管理系统和网站以外,移动用户的接入是企业应用无法忽略的重要组成部分。然而,移动设备(特别是手机)操作系统的不同使得开发移动应用的技术不尽相同。对于企业而言,面对诸多的应用类型和开发技术,没有现成的指导策略可供参考。因此,本文对移动应用的分类、开发模式、技术路线和开发团队等因素进行相关探讨,为企业移动应用开发技术选型提供策略参考。

关键词:移动应用;开发技术;选型策略

1移动应用开发访问控制

移动应用程序在用户签名时未经允许不能加入网络,确保网络安全的实用性;应用程序需扫描启动,是获得应用程序独一标记;在应用程序标记和应用目标程序匹配时,会解开并解锁的指令,确保移动程序中信息的安全性;设立独立的ADMIN帐号,一样的用户要分别在不同的系统账户中绑定,ADMIN认证访问终端系统,设立里面一体的账号,分别在各个系统里设立相同的账号认证;利用用户的授权机制达到对用户的访问进行控制。移动应用程序制作中,一方面采用辨别、区分、控制访问,不仅维护全部的信息系统,还对移动应用程序关键部位进行保护。

2移动应用开发技术栈的分类比较

2.1传统模式的技术栈

与传统PC应用开发模式类似,针对不同应用类型采取不同的开发方案。Native模式对应NativeAPP的开发,需针对不同的平台使用不同的开发语言和工具,乃至设备。Web模式对应WebAPP的开发,使用HTML5等Web开发技术实现,针对移动设备的特点,一般采用适于移动设备的前端Web框架或基础组件库。Hybrid模式对应HybridAPP的开发,使用Web技术和少量的Native技术实现。国内的AppCan框架是一个比较出色的Hybrid框架;Ionic是当前广泛采用的Hybrid框架,通过Cordova将一个Web应用嵌入到NativeAPP中。

2.2Bridge模式的技术栈

Bridge模式是使用第三方开发语言编写NativeAPP的方式,本文为区分与HybridAPP实现方式的差异,将其称为Bridge模式。该模式的实现思想在HybridAPP的设计中就已形成。在HybridAPP中,Web页面与Native之间存在一种称为JSBridge的通信机制,可实现Web页面与Native功能的互操作;Bridge模式将其进一步发展,摒弃使用WebView渲染的做法,改用Bridge的方式调用原生功能,使用一种语言编写跨平台APP,抽象出与平台无关的业务代码实现通用,基本上实现“一次编写,分别编译,多端运行”的开发部署模式。Bridge模式目前有2种代表性的实现方案,即基于C#的Xamarin方案和基于JavaScript的Native解决方案。1)基于C#的Xamarin跨平台移动开发解决方案由Mono发展而来,Xamarin包含Xamarin.An-droid、Xamarin.iOS和Xamarin.Forms,其本质上是对原生API做一层C#的封装。Xamarin的开发思路是使用C#完成通用的、与平台无关的逻辑部分,针对不同平台UI和交互方式,使用API访问和操控N-ative组件,实现不同平台的UI开发。2)基于JavaScript的Native开发技术是使用JavaScript,通过JSBridge调用原生组件。不同于Hybrid使用WebView,该模式的页面代码由JavaScript引擎处理,并管理渲染Native视图,调用原生API和用户交互。该模式的代表是Facebook的ReactNative技术。国内阿里巴巴的Weex也采用这种技术路线,其在页面渲染上跳出浏览器环境,既拥有原生Native的交互体验,又能保持Web高效和灵活的特点,支持跨平台,通过JavaScript调用原生平台标准组件,使APP获得平台一致的效果和体验,有着媲美Native的性能和流畅性。

2.3寄生模式的技术栈

寄生模式主要实现基于宿主APP的功能扩展开发,依赖于宿主APP本身的功能。以微信公众平台为例,分为微页面模式和小程序模式,2种模式都是基于微信的跨平台方案。1)微信服务号和订阅号除了提供交互转发服务以外,还提供页面嵌入功能,在开发页面时,可调用微信API实现部分原生功能,页面代码运行在微信内置的浏览器中,这种方式可看作是基于微信的Hybrid模式。2)微信小程序使用JSBridge,通过微信调用本地资源,在体验上优于订阅号和服务号,具有NativeAPP体验。小程序开发框架提供有视图层描述语言WXML和WXSS及基于JavaScript的逻辑层框架,并在视图层与逻辑层之间提供有数据传输和事件系统,这种方式可看作是基于微信的Bridge模式。

2.4开发模式的技术栈比较

开发模式并没有优劣之分,选择哪种开发模式与企业产品的要求、产品定位、开发周期和团队技术人员的技术积累有很大关系。企业需根据自身条件进行选择,表2为移动开发模式的技术栈比较。

表1移动应用类型对比

表2移动开发模式的技术栈比较

3结语

本文基于“没有最好的技术,只有最适合的技术”的思路,给出一种选型策略参考模型。移动应用开发技术的选型是一个多因素权衡的过程,本文仅提供一种基于开发技术的选型思路。面对众多的开源组件和框架,开发人员需有效识别需求,选择最适合的开发技术,完成开发模式和技术栈选型。

参考文献

[1]王昕宇,王全强.移动应用开发技术的分析与探究[J].信息与电脑(理论版),2017(24):36-37.

[2]麻斯亮,魏福义.新型移动应用开发模式在金融领域的适用性探讨[J].金融科技时代,2017(11):34-37.

[3]熊亚蒙.跨平台移动应用开发系统的设计与实现[J].电子测试,2017(21):57+55.

[4]白玉羚.移动应用开发行业人才培养模式研究[J].课程教育研究,2017(44):243.