文档结构  
翻译进度:已翻译     翻译赏金:0 元 (?)    ¥ 我要打赏

随着越来越多的公司决定开发自己的移动应用程序(简称app),他们将面临选择app开发框架的问题。

这些公司首先必须要做的是让程序按照现有的流程运行,并且让用户能够通过手机操作。而现在的手机程序充分利用设备提供的诸多特性后,变的日新月异,这些特性比如位置服务,推送服务,无缝数据分享等。选择app开发框架时最大的问题是发布采用那种形式的app:原生的,Web形式的,还是混合形式(原生+web)的。

第 1 段(可获 1.1 积分)

原生应用程序开发

通常,开发原生应用程序能带来更好的用户体验。手机操作系统开发商对于各自的开发工具投资巨大,并希望以此确保使用该原生语言开发的手机开发者们能利用好最新的系统特性和平台。

但是,没有移动开发经验的公司可能会犹豫是否让他们的开发者学习多种语言,来单独开发针对ios和安卓系统的应用程序,因为支持不同系统需要额外的努力。在有些场景中,当公司仅仅需要支持一个系统或者依赖于集成硬件设备,比如嵌入式设备,无人贩售机,收银机和一些其他针对公司特殊问题的设备,那开发原生app会成为更好的选择。

第 2 段(可获 1.66 积分)

基于浏览器的Web应用程序

与原生开发对应的是Web应用程序,用户可以直接在手机浏览器中访问该程序。开发者能够使用他们熟悉的Web技术构建Web应用程序,比如Html5,CSS,JavaScript。一个Web App能够在多种手机操作系统上运行。此外,HTML5的优势意味着Web App也能够做到许多原生App可以做到的事情,比如使用照相机和地理定位,从Web应用程序启动原生应用程序。

这些优点都非常有吸引力,但是Web App有明显的短板。他们只支持在少数特定浏览器中给用户推送消息,登录状态将会迅速过期,此外,Web 应用程序不能利用到所有最新操作系统的特性,而这些特性中有些十分重要且独一无二,它们使的手机app有极大的价值。

第 3 段(可获 1.81 积分)

由于这些原因,Web App在企业开发中使用较少。Web App的另一个问题是相对于原生App来讲使用起来不够方便。用户必须记住如何导航到Web App页面,为了下次方便进入将网址保存在收藏夹,或者书签放在手机桌面上。IT人员能够使用手机管理软件增加这些书签,但是他们仍然需要相比于原生app更多的不同的处理流程。

混合应用程序

混合应用程序是指在将web app封装起来,让其在原生App中运行,看起来,似乎是两全其美。开发这能使用Web语言编写核心逻辑,并让它在跨平台上运行,而用户接口层使用原生程序来与设备交互,使用设备特性。最后,开发者能够像使用原生程序一样管理和发布混合程序

 

 

第 4 段(可获 1.88 积分)

混合app可以简单的看成是把web页面嵌入到原生app里,但它们也可以很复杂。许多app开发框架允许app开发人员使用基于WEB技术或其它语言来编写代码,然后根据不同的移动操作系统(mobile OS's)编译为对应的原生应用。一些app开发框架只提供了混合应用开发所需的UI,这些UI是使用原始代码开发且符合操作系统的界面风格。

虽然混合开发很流行,但是它的缺点也是非常明显的。使用一套代码来适配多种操作系统意味着开发人员需要做一些折中的方案。比如: iOS 不支持完整的近场通讯, Android 和iOS app有不同的导航风格。

在某些情况下,“一次开发,到处部署”概念开发的app想要运行在不同的平台上是需要额外的工作,与只投资于原生app开发(native app development )来说它还是比较容易的。 

第 5 段(可获 1.86 积分)

其他的考虑

企业级移动app需要使用基础设施组件如: 推送通知、管理、安全、分析、数据同步和连接到企业数据库、订阅 。

有些人认为混合app与web app对企业app来说很好。另外一些人认为用户体验非常重要,app应该利用移动操作系统上提供的原生功能。 但不同的应用程序、不同情况,需要不同的开发方法和思考。

第 6 段(可获 0.94 积分)

文章评论