• 混合式开发


    现如今APP开发有两个主流的方向:原生App 以及移动Web App。

    什么是原生app(Native app)?

    在智能手机上运行的App应用程序有NativeAPP(基于本地操作系统运行)和Web APP(基于手机浏览器运行),其中Native App就是原生App的意思,所以原生App开发也就是指基于本地操作系统的App开发服务。如今市面上多数的APP软件开发都是使用的原生程序编写的应用程序,也就是说大部分的手机APP属于原生APP应用软件。

    原生APP访问和兼容的能力也比较好,可以支持在线或者离线消息推送或是进行本地资源访问,以及摄像、拨号、蓝牙、功能的调取。原生APP开发有许多的优势,如原生APP是针对不同的平台为用户提供不同的体验、原生应用可以节约宽带成本、访问本地资源、打开的速度更快并为用户提供最佳的用户体验和优质的用户界面等。

    什么是web app?

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

    原生app和web app区别?

    开发方面:

    原生APP:每一种移动操作系统都需要独立的开发项目,iphone版本、Ipad版本、安卓版本。每种平台都需要独立的开发语言。Java(Android), Objective-C(iOS)等等3.需要使用各自的软件开发包,开发工具以及各自的控件。开发成本高、开发速度慢、维护成本高。三个平台(IOS、安卓、windows)的规则、推广、运营都不相同。官方应用商店对APP上线审核流程比较复杂而且很慢,会严重影响APP的发布上线。

    Web App :因为运行在移动设备的浏览器上,所以只需要一个开发项目。可以通过HTML、 CSS或者JavaScript来进行Web APP的开发。开发成本低、开发速度快。

    功能方面:

    原生App:原生APP是一个系统性的应用程序,可以类比于电脑上的软件。原生app可以调用移动终端的硬件设备, 比如:麦克风、摄像头、短信、GPS、蓝牙、重力感应等。实现功能丰富

    Web App:Web APP可以类比于电脑上的网页。Web APP更多是页面展示类的APP。只能使用有限的移动硬件设备功能。更多用于页面展示,侧重于简单的交互,无法使用很多硬件设备独特的功能。

    应用安装使用方面:

    原生App:需要通过应用商店将原生app下载到手机上或移动终端上。以独立的应用程序运行

    用户必须手动去下载并安装这些原生App,原生应用可以节约宽带成本,可以访问本地资源、缓存。

    Web App:通过移动设备上的浏览器访问,软件更新只需要更新服务器就够了,用户层面不需要做任何操作。不需要安装客户端,可以节省手机终端的内存空间。

    版本控制方面:

    原生App:用户可以自由地选择是否更新软件版本,所以会出现不同用户同时使用不同版本的情况。同时也会导致维护成本比较高。使用旧版本的用户无法体验新版本的完整功能。

    Web App:所有的用户都是用同样的版本,所有用户获得的功能都是相同的。版本更新比较方便,直接在服务器侧更新数据即可。一个功能做好了就能上线,一天更新几十次都毫无压力。如果客户端只是个浏览器,那一切都会变得很简单。另外web统一性高,跨平台适用时开发量少。由于其入口不明显(浏览器导航或者随意点击链接进入),让用户记住的门槛也随之拔高,每次推广导入的流量都可能沦为一次性努力,用户留存率低。

    加载速度方面:

    原生App:原生APP由“云服务器数据+APP应用客户端”两部分构成,APP应用所有的UI元素、数据内容、逻辑框架均安装在手机终端上。访问的时候,不需要重新下载加载应用页面框架,只需要加载数据即可。所以加载速度更快,页面响应更快。

    Web App:而Web APP打开一个页面,都需重新加载页面的所有元素,访问速度受手机终端性能和网络环境的限制,导致加载速度慢,而且操作频繁容易卡死。

    -----------------------------

    总之  原生App偏向于交互,注重用户体验(导航切换、勾选选项、图片、视频等操作),Web APP偏向与浏览和简单的交互。 一些功能需要访问硬件(摄像头、传感器等),使用原生App, Web APP用于信息展示。 成本有限时,核心的功能使用原生APP,周边辅助的功能可以使用Web App。

    现状:比较流行的方法就是将原生App 和Web App进行融合,就是说应用大的框架是原生的,其他详细的内容就通过网页封装,这样做的好处就是在方便更新的同时,也能保证核心功能的交互体验。

      

      

  • 相关阅读:
    Beta阶段DAY1
    Beta阶段DAY2
    Beta阶段冲刺前准备
    Beta阶段Scrum 冲刺博客合集
    alpha阶段项目复审
    网络15软工个人作业5——软件工程总结
    软工网络15个人作业4——alpha阶段个人总结
    软件工程网络15个人作业3 (201521123051 谢庆圆)
    软件工程网络15专业结对编程
    软工网络15个人阅读作业2 (201521123051 谢庆圆)
  • 原文地址:https://www.cnblogs.com/sxxya/p/10547965.html
Copyright © 2020-2023  润新知