App的三种开发模式

2019-05-22  本文已影响0人  云翼飞

名词介绍

Native APP

Native APP 指的是原生程序,一般依托于操作系统,有很强的交互,是一个完整的App,可拓展性强,需要用户下载安装使用。(简单来说,原生应用是特别为某种操作系统开发的,比如iOS、Android、黑莓等等,它们是在各自的移动设备上运行的)

该模式通常是由“云服务器数据+APP应用客户端”两部份构成,APP应用所有的UI元素、数据内容、逻辑框架均安装在手机终端上。

原生应用程序是某一个移动平台(比如iOS或安卓)所特有的,使用相应平台支持的开发工具和语言(比如iOS平台支持Xcode和Objective-C,安卓平台支持Eclipse和Java)。原生应用程序看起来(外观)和运行起来(性能)是最佳的。

WebAPP

Web App 指采用Html5语言写出的App,不需要下载安装。类似于现在所说的轻应用。生存在浏览器中的应用,基本上可以说是触屏版的网页应用。(Web应用本质上是为移动浏览器设计的基于Web的应用,它们是用普通Web开发语言开发的,可以在各种智能手机浏览器上运行)

Web App开发即是一种框架型APP开发模式(HTML5 APP 框架开发模式),该开发具有跨平台的优势,该模式通常由“HTML5云网站+APP应用客户端”两部份构成,APP应用客户端只需安装应用的框架部份,而应用的数据则是每次打开APP的时候,去云端取数据呈现给手机用户。

HTML5应用程序使用标准的Web技术,通常是HTML5、JavaScript和CSS。这种只编写一次、可到处运行的移动开发方法构建的跨平台移动应用程序可以在多个设备上运行。虽然开发人员单单使用HTML5和JavaScript就能构建功能复杂的应用程序,但仍然存在一些重大的局限性,具体包括会话管理、安全离线存储以及访问原生设备功能(摄像头、日历和地理位置等)。

HybridAPP

Hybrid APP指的是半原生半Web的混合类App。需要下载安装,看上去类似Native App,但只有很少的UI Web View,访问的内容是 Web 。

混合应用程序让开发人员可以把HTML5应用程序嵌入到一个细薄的原生容器里面,集原生应用程序和HTML5应用程序的优点(及缺点)于一体。

混合应用大家都知道是原生应用和Web应用的结合体,采用了原生应用的一部分、Web应用的一部分,所以必须在部分在设备上运行、部分在Web上运行。不过混合应用中比例很自由,比如Web 占90%,原生占10%;或者各占50%。

有些应用最开始就是包了个原生客户端的壳,其实里面是HTML5的网页,后来才推出真正的原生应用。比较知名的APP,比如手机百度和淘宝客户端 Android版,走的也是Hybrid App的路线,不过手机百度里面封装的不是WebView,而是自己的浏览内核,所以体验上更像客户端,更高效。

三种APP技术特性

Native APP

Native APP的优点:

Native APP的缺点:

WebAPP

WebAPP的优点:

WebAPP的缺点:

Hybrid APP

(1)第一种方案:Web架构为重

优点:

缺点:

(2)第二种方案:编译转换方式

优点:

(3)第三种方案:Native架构为重(主流)

优点:

缺点:

3种APP对比分析

1.主要区别

原生APP中:

WebAPP中:

2.开发难度区别

移动web和混合App开发难度对于web开发者来说相对较低,而且可以充分利用现有的web开发工具和工作流程

3.发布渠道和更新方式

混合App可以在应用商店App Store发布,但可以自主更新,而原生App的更新必须通过应用商店App Store。

4.移动设备本地API访问

混合App可以通过JavaScript API访问到移动设备的摄像头、GPS;而原生App可以通过原生编程语言访问设备所有功能。

5.跨平台和可移植性

基于浏览器的移动web最好的可移植性和跨平台表现;混合App也能节省跨平台的时间和成本,只需编写一次核心代码就可部署到多个平台,而原生App的跨平台性能最差。

6.搜索引擎友好

只有移动web对搜索引擎友好,可与在线营销无缝整合。

7.货币化

混合App除广告外,还支持付费下载及程序内购买;原生App的程序内购买金额2012年首次超过下载收费。

8.消息推送

只有混合App和原生App支持消息推送,这能增加用户忠诚度。

9.获取方法区别

原生APP中:

WebAPP中:

10.版本控制区别

原生APP中:

用户可以自由地选择是否更新软件版本,所以会出现不同用户同时使用不同版本的情况

WebAPP中:

所有的用户都是用同样的版本

如何判断一个混合APP开发的页面形式

怎样选择开发模式(视情况而定)

近年来随着移动设备类型的变多,操作系统的变多,用户需求的增加,对于每个项目启动前,大家都会考虑到的成本,团队成员,技术成熟度,时间,项目需求等一堆的因素。

因此,开发App的方案已经变得越来越多了。无数的人参与或者看到过一个讨论:原生开发还是混合开发,又或者是Web开发?要结实践和自身的情况。

  1. 比如,你的预算是多少?预算充足的话可以开发几个本地应用加一个Web应用
  2. 你的应用需要什么时候面市?Web应用可以很快地开发然后直接推出来
  3. 你的应用需要包含什么特点和功能?如果跟手机的某些功能深度整合了,比如摄像头,需要呈现大量图形和动画就选原生 应用好点
  4. 你的应用是否一定需要网络
  5. 你的应用的目标硬件设备是所有的移动设备还是仅仅只是一部分而已
  6. 你自己已经熟悉的开发语言,或者说现有资源
  7. 这个应用对于性能要求是否苛刻
  8. 如何靠这个应用赢利我想这几个问题应该能让你做出明智的选择
  9. 你的应用是否需要使用某些设备的特殊功能,比如摄像头,摄像头闪光灯或者重力加速器
  10. 移动Web无所不在,移动Web是目前唯一的支持各种设备访问的平台,与桌面Web一样,移动Web支持各种标准的协议。移动Web也是唯一一个可供开发者发布移动应用的,平台,它将各种移动交互与桌面任务有效地连接了起来;而开发Native App可以充分利用设备的特性,而这一点往往是Web浏览器做不到的,所以对一个产品本身而言,Native App是最佳的选择。
  11. 为应用收费(人们的观念webApp是不收费的)用原生开发模式
  12. Web Apps是唯一一个经久不衰的移动内容、服务、应用开发平台。
  13. 使用定位功能、使用摄像头、使用感应器、访问文件系统、离线用户、多点触控:双击、缩放及其他组合的用户界面(UI)手势;快速图形API:原生平台为你提供了显示最快速的图形。如果你显示只有寥寥几个元素的静态屏幕,这个功能可能不太重要,但如果你使用大量数据,需要快速刷新,这项功能却很重要;流畅动画:与快速图形API有关的是实现流畅动画的功能。这在动画、高度交互的报表或者转换照片和声音的计算密集型算法中显得尤为重要;内置部件:摄像头、地址簿、地理位置及设备的其他原生功能可以无缝地整合到移动应用程序中。另一个重要的内置部件是加密的存储装置,这方面稍后会有详细介绍;易于使用:原生平台是人们耳熟能详的平台,所以如果你在这个熟悉的平台上添加人们期望的所有原生功能,也就拥有了一款使用起来完全更容易的应用程序时用原生
  14. 是原生App还是移动Web App,主要受商业目标,目标用户,以及技术需要这些因素影响的。其实更多时候你也不要为选择那种App模式烦恼,正如本文提到,类似Facebook这样的公司就为用户提供了两种选择。然而对于大部分人来说,预算,资源限制将会逼迫我们只能选择其中一种(或者只能以其中一种为重点

六、WebAPP和原生APP交互区别

1.Web APP受限因素

相比Native App,Web App体验中受限于以上5个因素:网络环境,渲染性能,平台特性,浏览器限制,系统限制。

(1)网络环境,渲染性能

(2)浏览器限制

(3)系统限制,平台特性

2.Web APP设计要点

(1)简化

(2)少用

(3)减少

(4)增强

3.有效的WebAPP产品设计

上一篇 下一篇

猜你喜欢

热点阅读