专业IT网络知识平台,分享IT百科知识、生活百科知识解答!

易企推科技
易企推科技

武汉APP开发浅析目前业界三种常用APP的开发模式的优缺点

来源:小易整编  作者:小易  发布时间:2022-05-17 12:59
摘要:大量新生移动设备的兴起,改变了当今互联网的格局,每天有数以万计的APP应运而生,如微信、微博、手游、淘宝、电子商务等给人们的工作生活带来了深刻的变化。那这些APP是如何开发出现的呢,他们采用了什么技术,是基本原生开发模式,还是html5呢,或者其它呢...

大量新生移动设备的兴起,改变了当今互联网的格局,每天有数以万计的APP应运而生,如微信、微博、手游、淘宝、电子商务等给人们的工作生活带来了深刻的变化。那这些APP是如何开发出现的呢,他们采用了什么技术,是基本原生开发模式,还是html5呢,或者其它呢?为什么要区分android和ios呢?本文将浅析目前业界三种常用APP的开发模式的优缺点,以供选择开发模式时参考。

一、三种常用开发模式

1、原生开发模式(Native App)。

原生App实际上是一种基于智能手机本地操作系统如Android、IOS和WindowsPhone并且使用原生程序编写运行的第三方移动应用程序。开发原生App软件需要针对不同智能手机的操作系统来选择不同的App开发语言,如安卓App是Java开发语言、IOS APP是Objective-C语言、Windows Phone的APP开发是C#语言。我们可以这样理解,Native APP就相当于在电脑终端的CS架构软件,本身是一个应用程序,与服务器交互采用特殊数据接口如WEBSERVICE,SOCKET等。

如今市面上多数的APP软件开发都是使用的原生程序编写的应用程序,也就是说大部分的手机APP属于原生APP应用软件。原生APP因为位于平台层上方,所以向下访问和兼容的能力也比较好,可以支持在线或者离线消息推送或是进行本地资源访问,以及摄像拨号功能的调取。原生APP开发有许多的优势,如原生APP是针对不同的平台为用户提供不同的体验、原生应用可以节约宽带成本、访问本地资源、打开的速度更快并为用户提供最佳的用户体验和优质的用户界面等。现在市面上一般的手游、百度地图、股票软件等采用Native App的开发模式开发。

WebApp

(图一、原生开发模式的优劣势)

2、WEB技术开发模式(WebApp)。

Web App开发即是一种框架型APP开发模式(HTML5 APP框架开发模式),该开发具有跨平台的优势,该模式通常由“HTML5云网站+APP应用客户端”两部份构成,APP应用客户端只需安装应用的框架部份,而应用的数据则是每次打开APP的时候,去云端取数据呈现给手机用户。我们可以这样简单理解,Web App就是一个Web网站,如他的展示放在电脑上则采用html的开发技术,放在移动终端上则采用htlm5技术以适用于在移动终端上显示。打开方式是通过移动终端的浏览器访问,几乎和固定终端一致。

由于WebApp采用浏览器的模式打开应用,采用的是http协议访问服务端,无法与操作系统底层进行任务调度。因此,操作系统底层所提供的摄像头、文件系统、感应器等功能无法被Web App调用。Web App常用于一些Web网站交互,如微信Web-App,企业应用等。

WebApp

(图二、Web App开发模式的优势)

WebApp

(图三、WebApp开发模式的劣势)

3、混合App开发模式(HybridApp)

Hybrid App是指介于Web App、NativeApp这两者之间的app,它虽然看上去是一个NativeApp,但只有一个UI页面,里面访问的是一个Web App。我们可以这样理解,Hybrid App就是Web App和NativeApp结合体,Hybrid App具有Native App的壳,内部显示确是通过Web App实现,具有“Native搭台,HTML 5唱戏”的特性。这种模式最大的一个优点是可以通过Native App的壳调用摄像头、文件系统、感应器等硬件资源功能,并将调用到数据传送给内嵌的WebApp使用。这样就解决了Web App不能调用系统硬件资源问题。可以这样说,Hybrid App兼顾了前面两种开发模式的一些特点。近几年大量的APP开始采用这种混合开发模式实现,如微信、手机淘宝、百度视频以及大量的企业级应用。

三、后言

从前面的分析和比较可以看出,App的三种常用开发模式,可以说是都具有非常突出的优点,也有他一些天然不可避免的缺点。

就一般性而言,如你是在开发游戏或者对用户体验有着极高的要求,则需要采用原生开发模式,但随之的是成本大量增加。如是企业一般性应用或者一般电子商务系统,则建议采用混合开发模式,这样的性价比较高。对于Web开发模式,一般用到一些特定对用户体验观注不太多的一些特殊场景。

从我们公司的角度来看,如对内部使用的App,由于对用户体验没有极致体验的要求,混合开发模式已经能够满足日常内部使用,同时从性价比的角度来说也应尽量采用混合开发模式。对于通过互联网开放给外部用户使用,如是电子商务类也应采用混合开发模式,这样能够适应电子商务类内容更新快的情况。在一些特殊功能的对外用户模块,如产品宣传,游戏则可以采用原生开发模式,以达到用户体验的效果。对于Web开发模式则尽量不要采用,因为这种模式用户使用感知不好,同时改为混合开发模式的成本增加很小,应尽量改为混合开发模式。因此,在投入、用户体验、维护成本等方面综合考虑,这里我们采用Hybrid App开发模式,第三方跨平台移动应用引擎框架采用国内Dcloud公司的HBuilder+HTML5+MUI+HTML5plus+框架。

HBuilder:作为IDE提供编码,调试,App打包发布功能。

HTML5:负责前端页面展示

MUI:轻量级的样式框架,提供接近原生样式的展示效果。

HTML5 Plus:js框架,逻辑调用层。5+Specification:提供包括二维码、摇一摇、语音输入、地图、支付、分享、文件系统、通讯录等常用API。Native.js:将原生40wAPI映射为JS API,丰富框架的功能。5+SDK:一种插件机制,使第三方SDK可以集成到5+runtime。

其中IDE开发工具Hbuilder如下,集成了强大的语法提示、云打包等功能,虽说HTML最开始其实不是一个编程语言,确实用不着什么ide。但是有一个合适的工具确实能大大提高开发效率。从下图也可以看出,开发者只要掌握js,html,css即可完成app的开发,而且打包后还可兼容IOS和Android系统,大大降低了开发成本和后期的维护成本。



本文地址:APP开发频道 https://www.hkm168.com/web-appkf/1971.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们处理,谢谢!


APP开发
小编:小易整编
相关文章相关阅读
  • c语言的输入函数有哪些

    c语言的输入函数有哪些

    c语言的输入函数有:1、scanf()函数、从标准输入stdin读取格式化输入;2、getchar()函数,从标准输入stdin获取一个字符;3、gets()函数,从标准输入stdin读取一行;4、getch()函数,从stdin流中读取字...

  • 奇异值分解(SVD)简介及其在图片压缩中的示例

    奇异值分解(SVD)简介及其在图片压缩中的示例

    奇异值分解(SVD)是一种用于矩阵分解的方法。它将一个矩阵分解为三个矩阵的乘积,分别是左奇异向量矩阵、右奇异向量矩阵和奇异值矩阵。SVD在数据降维、信号处理、推荐系统等领域广泛应用。通过SVD,我们可以将高维数据降低到低维空间,从而提取出数...

  • 用U盘轻松实现一键重装系统的小白装机教程

    用U盘轻松实现一键重装系统的小白装机教程

    在现代社会,电脑已经成为人们生活中不可或缺的工具。然而,由于各种原因,我们有时候需要重装电脑系统来解决一些问题或提升性能。但是,对于一些小白用户来说,重装系统可能是一项困难的任务。因此,本文将介绍一款小白一键重装系统的u盘装机教程,帮助小白...

  • 因特网能提供的最基本服务有哪些

    因特网能提供的最基本服务有哪些

    因特网能提供的最基本服务有:1、www服务;2、电子邮件e-mail服务;3、远程登录telnet服务;4、文件传输ftp服务;5、usenet网络新闻组服务;6、电子公告牌服务。本教程操作环境:windows7系统、DellG3电脑。因...

  • 某台微机安装的是64位操作系统中,64位指的是什么

    某台微机安装的是64位操作系统中,64位指的是什么

    某台微机安装的是64位操作系统中,64位指的是cpu的字长,即cpu每次能处理64位二进制数据。字长是cpu的主要技术指标之一,指的是cpu一次能并行处理的二进制位数,字长总是8的整数倍,通常pc机的字长为32位,64位。本教程操作环境:w...

  • 总结CreateJS的详细介绍

    总结CreateJS的详细介绍

    CreateJS库是一款HTML5游戏开发的引擎,是一套可以构建丰富交互体验的HTML5游戏的开源工具包,旨在降低HTML5项目的开发难度和成本,让开发者以熟悉的方式打造更具现代感的网络交互体验。掌握了CreateJS可以更方便的完成HTM...

  • 修复:在 Xbox 应用上的 Halo Infinite(Campaign)安装错误代

    修复:在 Xbox 应用上的 Halo Infinite(Campaign)安装错误代码 0X80070032、0X80070424 或 0X80070005

    haloinfinite(campaign)是一款第一人称射击视频游戏,于2021年11月推出,可供单人和多用户使用。该游戏是halo系列的延续,适用于windows、xboxone和xbox系列的用户x|s。最近...

  • 有没有录制电脑屏幕的方法

    有没有录制电脑屏幕的方法

    电脑屏幕有录制的方法吗有两个方法一是用win10电脑自带的录屏软件来录,打游戏的时候按一下【win+g】就行了二是用其他的录制软件来录制,比如“迅捷屏幕录像工具”,操作方法如下:1、首先在电脑上将这个工具下载下来。下载完成后打开工具,主页...

  • 周排行
  • 月排行
  • 年排行