• 第一章:hybrid app开发之技术选型


    伴随着移动互联网的兴起,越来越多的企业将部分资源投入其中,想在互联网+的大潮中分一杯羹,并期望着站在风口上,成为时代的弄潮儿。

    现在不会做一个app都不好意思说是搞互联网的,那么开发一个app的方式有哪些呢?基于目前市面上比较流行的app都是基于android和ios的,所以我们只针对这两种平台谈app;虽然也有其他平台,但鉴于市场占有率,不纳入本系列的范围。

    第一种方式:native app

    IOS:基于XCode开发工具,使用Swift或者OC开发语言,来进行原生态的IOS应用的开发。

    Android:基于Eclipse或者Android Studio开发工具,使用Java开发语言,来进行原生态的Android应用的开发。

    优点:

    1. 原生态的功能和性能体验,可以完全控制所有的功能。
    2. 完善的API文档和demo。

    缺点:

    1. 学习曲线较陡峭。
    2. 开发成本较大。
    3. 部署审核时间较长。

    第二种方式:hybrid app,基于开源的framework,使用HTML+CSS+JS编程语言,通过编写web应用,并且转化成native app的方式来进行开发,下面列举的framework都基于开源的Cordova内核。

    Sencha:使用Ext JS框架进行web开发,并通过Cordova提供的API来进行Device层面的交互。开发的应用能够在多个平台上面运行,目前的流行度比较低,原因是因为框架太大、运行速度太慢。

    JQuery Mobile:使用JQuery框架进行web开发,口头禅是“write less,do more”。开发的应用能够在多个平台上面运行,开发人员比较多,主要是是基于JQuery的。

    Ionic:使用AngularJS进行web开发。ionic是目前为止流行度最高的hybrid应用开发框架,ionic生态圈比较好,有一堆丰富的工具和插件。但是页面的切换及动画效果不是很理想。

    Ionic 2:ionic的下一个主要版本。

    OnsenUI:使用AngularJS或者JQuery进行web开发,OnsenUI是ionic的主要竞争对手,其总是比ionic领先一步,拥有更好的performance。但是使用的人不是很多。

    OnsenUI 2:OnsenUI的下一各主要版本,可以基于任何的Javascript语言,并不局限于AngularJS或者JQuery。对最近比较火爆的ReactJS有非常好的支持。

    优点:

    1. Write once,run anywhere!
    2. 学习曲线比较平滑,web思维,开发简单。
    3. 开源,有大量的社区支持以及丰富的案例。
    4. 可以在线部署,免去部署审核时间。
    5. 开发成本较小。

    缺点:

    1. Web不能解决一切问题。
    2. 不适合高质量交互及动画类应用,性能相比native app有一定的差距。

    第三种方式:基于跨平台的开发工具,来进行原生态应用的开发。

    Xamarin:基于VS开发工具,使用C#开发语言,进行native app的开发。随着微软产品的开源,相信Xamarin会有越来越多的人使用。需要针对不同的平台进行不同的编码。

    Titanium:使用Javascript语言,通过提供跨平台的Javascript运行时和mobile api来进行native app的开发。需要针对不同的平台进行不同的编码。

    React Native:使用Javascript语言,通过JavascriptCore与Native API进行通信来进行native app的开发,由Facebook开源。

    优点:

    1. Lean once,write anywhere!
    2. 拥有native app的性能。
    3. 拥有web开发的效率。

    缺点:

    1. 入门门槛比较高。
    2. 需要自己为不同的平台定制UI组件。

    结论:

    每种方式各有其优缺点,我们应该根据实际的应用场景、团队成员的技术储备来选择合适的技术。

  • 相关阅读:
    C语言实验报告
    C语言实验报告
    第四次作业4-树和二叉树
    第03次作业-栈和队列
    第02次作业-线性表
    Data_Structure01-绪论作业
    C语言第二次实验报告
    C语言实验报告
    第04次作业-树
    第03次作业-栈和队列
  • 原文地址:https://www.cnblogs.com/allanli/p/how_to_choose_hybrid_app_framework.html
Copyright © 2020-2023  润新知