视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
浅议四种移动APP的开发模式
2025-10-04 22:04:15 责编:小OO
文档
浅议四种移动APP的开发模式

作者:***

来源:《电脑知识与技术》2017年第06期

        摘要:移动APP是移动互联网时代的重要支柱,随着智能终端设备在全世界的普及,大大小小的公司都在设法把自身的业务往移动终端设备上转变,从而对于移动APP的开发与运营也有了极大的需求。本文将结合近年流行的技术,对四种移动APP开发模式进行探讨。

        关键词:APP开发模式;Web App;Native App;Hybrid App;React Native App

        中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2017)06-0087-02

        伴随着4G网络的发展与移动终端设备的普及,移动APP成为了企业在用户身边的重要表现形式,移动APP主要安装在用户的手机中,是公司宣传以及公司与用户开展业务的重要媒介。

        经统计,中国的网民约有7.31亿,与全欧洲的人口总和相当,其中使用手机上网人群已高达95.1%。目前移动端APP开发拥有巨大的市场,并且未来随着智能穿戴设备、智能家居和人工智能的迅猛发展,移动APP还具有十分大的发展空间。

        如今开发出一款成功的APP已经成为公司运营的重要一环,但APP的开发模式很多,不同模式的实现机理不同,因而会在APP的开发成本、运行性能、升级维护和用户体验等方面造成不同的影响。

        1主要开发模式

        APP的主要开发模式主要分为四类,第一类是原生应用开发,即Native App。原生应用开发由于手机操作系统的不同又分为成了两部分,基于Android平台的Java语言开发和基于iOS平台的Objective-C语言/Swift语言开发。第二类是移动网页应用开发,即Web App。网页应用开发是利用Web技术,使用HTML、CSS和JavaScript开发用于移动端显示的网页。第三类是把Native App和Web App结合的混合开发模式,即Hybrid App。第四类是基于React Native框架的JavaScript语言开发的类原生应用,即React Native App。

        1.1 Native App开发模式

        Native App是本地开发方式,基于手机操作系统进行开发,利用Java、Objective-C或Swift语言进行程序开发,然后编译成字节码或机器码后经操作系统调度运行。

        由于操作系统不同以及开发语言的不同,当今最流行的两大移动端平台Android和iOS各有自己的一套的开发模式,两大平台差异较大。现以iOS平台为例简述下Native App的开发模式。首先需要在Mac OS X系统上安装苹果公司开发的IDE——Xcode。Xcode内拥有开发iOS Native App快捷高效的Cocoa Touch框架,是开发原生iOS程序的不二选择。在Xcode中创建一个Single View Application工程后选用Swift语言开发,会自动生成以Main.storyboard、AppDelegate.swift、ViewController.swift开发核心的若干文件。其中Main.storyboard用于构建各个页面之间跳转关系和具体页面布局,在Xcode的右下角有可拖拽的若干控件,拖拽控件到Main.storyboard后结合AutoLayout为各个控件添加各种布局约束,来保证界面在不同大小的屏幕上的适配。AppDelegate.swift是为iOS程序做一些初始化设置,主要用于在APP启动时为重要的数据结构进行初始化,以及响应APP运行时事件,如程序启动、程序运行内存不足、程序切换等。程序员可在AppDelegate.swift中的相关函数里对事件响应进行操作。ViewController.swift就是iOS程序中的初始界面,是UI控件和程序逻辑的控制器。程序员主要通过ViewController.swift中的viewDidLoad和viewWillAppear等方法对iOS程序的数据层和视图层进行控制,来表达APP的业务逻辑。

        Native App开发模式的优势在于Native App是编译后的文件,执行速度快,界面动画十分流畅,对网络的依赖性小,用户体验很好。Native App基于平台层可以非常方便地调用操作系统提供的各种功能,如调用摄像头、推送信息和读取本地通讯录等。

        Native App开发模式的劣势主要是:开发周期长,两套的知识体系复杂且学习成本高,依赖操作系统而无法进行跨平台开发,APP版本升级繁琐需要重新把源文件编译打包再由用户下载覆盖安装。

        1.2 Web App开发模式

        Web App是移动网页开发模式,借鉴了传统Web开发方式,利用HTML、CSS、JavaScript等技术模仿Native App的界面结构,开发适合于移动端显示的网页,并通过手机上的浏览器解释执行。

        与Native App开发模式相比,Web App开发模式的优势有以下几点。首先,知识体系与原本开发网页的方式相似,便于大量的传统网页开发人员学习;其次,网页是跨平台的,相同的业务逻辑无须迎合操作系统的不同而开发Android和iOS两个APP;最后,Web App运营升级简单,只需要把服务器上的网页代码进行修改即可,用户不用重新安装,无须官方审核进入应用商店。

        但Web App存在着很多致命缺陷,过度依赖于网络,没有网络的Web App几乎没有任何功能,页面跳转需要发送网络请求再通过浏览器解释执行交互时间长,而且Web App是基于浏览器开发的,所以无法很好地调用操作系统提供的功能,这些缺陷使得Web App的用户体验很差。

        1.3 Hybrid App开发模式

        Hybrid App是混合开发模式,这种模式将Native App与Web App进行混合开发,一部分基本界面用手机系统的原生语言开发,另一部分功能界面用Web技术开发移动端网页,利用原生语言中的WebView进行显示网页。

        Hybrid App结合了Native App和Web App两种开发模式,把这两种开发模式的优点和缺点折中互补。基本界面是不会经常修改的,需要修改的功能界面用网页来实现,修改时只需更改服务器中的网页,实现了功能界面的跨平台,减轻了开发成本。基本界面常与用户进行交互,用原生语言进行开发,在功能和性能方面比Web App有了较大的提高,提高了用户体验。

        这种混合开发的折中方式越来越受到重视,微信和移动QQ等程序都采用了这种方式,从各个方面迎合了需求。

        1.4 React Native App开发模式

        React Native App是采用React Native框架开发的跨平台移动应用。目前支持最流行的两大移动平台——iOS和Android。React Native App开发模式使用JavaScript、CSS和类似HTML的JSX进行开发,这个框架的原理是基于网页开发技术并利用JavaScript语言与两大平台上的原生语言Java和Objective-C进行交互,互相调用,从而达到使用JavaScript来写原生应用的目的。React Native App存在着原生模块和JavaScript模块,原生模块是一个或多个线程,JavaScript模块只是一个单线程与原生模块异步执行。程序最开始执行是在原生模块中,之后原生模块会调用JavaScript模块,程序员把程序代码用JavaScript语言写在JavaScript模块中,JavaScript代码由手机上的JS解释器执行。React Native内封装了原生的iOS组件和Android组件可在两大平台上很好的适配,并且利用Virtual DOM方式更好的渲染UI组件,再加上diff算法获得UI组件在事件响应时需要更新的部分,极大地提高了React Native App的性能,使其能与原生程序媲美。

        React Native App几乎具备前几种开发模式所有的优点。JavaScript可与Java和Objective-C互相调用,从而可以方便地使用操作系统的功能。只学习React Native这套理论就可以开发两个主流平台的App。程序的JavaScript代码放在服务器上,用户在本地备份执行,在程序升级更新时客户端自动从服务器下载代码到本地解释执行,实现了热更新,JavaScript代码占用的空间很小相当于一份文档,如今的网络速度下载这份代码用户几乎察觉不到,而且React Native App的性能只比Native App差一点,比Web App和hybrid App强很多,用户体验较好。

        2 结束语

        移动互联网的浪潮,推动着移动开发技术的不断发展,移动App的开发模式也丰富了起来。本文探讨了目前主流的四种开发模式,这些模式都存在着自身的优势与不足,在实际开发前应仔细权衡开发人员的知识体系和开发成本。个人认为React Native App是发展趋势,适合学习。不过目前React Native框架还在实验发展阶段,还没有Native App开发模式成熟,最近几年内应还会以Hybrid App为主要开发模式。

        参考文献:

        [1] 杨毅.移动APP开发模式探讨[J].福建电脑,2014(6):86-87.

        [2] 高晶.校园业务中混合模式移动应用软件架构的实现[J].中国信息技术教育,2015(15):119-121.

        [3] 黄悦深.基于HTML5的移动WEB APP开发[J].图书馆杂志,2014(7):72-76.

        [4] 严新巧.基于移动开发现状探讨React Native[J].电脑知识与技术,2016(32):76-82.

        [5] 潘婷婷.React Native在APP开发中的应用研究[J].无线互联科技,2016(19):142-143.下载本文

显示全文
专题