Hybrid App开发(序)

  Hybrid App(混合式App)这个名词如今在国内已经不是什么新的名词了,自从Adobe收购了Phonegap并改名为Cordova时,Web开发和App开发的界限就开始变得模糊了。在Hybrid App这个概念刚出现时,对于大多数开发者而言,用html+css+js这套Web开发技术去开发安装在手机上的App是难以想象的。

  现如今国内无论是互联网企业还是常规的开发团队,都已经或深或浅的接触了Hybrid App开发,那么什么是Hybrid App开发?使用Hybrid App开发技术的意义何在?Hybrid App和Native App相比,优缺点又是什么?让我们一一来讨论这些问题。

                    

  下面所有关于Hybrid App开发指的都是基于Cordova平台开发

  Q1:什么是Hybrid App开发?

    A:Hybrid App开发是相对应Native App开发而言的,Native App开发就是指传统意义上的Android开发(Google)+iOS开发(Apple),Hybrid App目前主流的是基于Cordova平台开发(Adobe)和利用ReactNative技术(Facebook)开发,Android开发中我们一般用的是java+xml,iOS中是Objective-C/Swift+UI_Kit;基于Cordova平台我们一般使用的是html+css+js这些常规的Web前端开发技术。


  Q2:使用Hybrid App开发技术的意义何在?

    A:传统的Native App开发是区分平台的,也就是说Android端我们要开发一个App,iOS端同时也要开发一个App,这样我们的开发人员要有两组,代码要有两套,一旦需求发生更改时,我们就要动用两组人同时去改这两套代码。Hybrid App开发的出现从一定程度上解决了区分平台的问题,理论上只要我们有Web开发人员,就可以不区分平台地用同一套代码去开发出一个App,即节约了成本,也增强了项目的可维护性。


  Q3:Hybrid App和Native App的优劣对比?

    A:相信很多Native App的开发者在看到Q2的时候应该会比较生气吧,是的,Hybird App虽然在开发效率,项目迭代效率上比较优秀,但是由于使用Web开发技术,我们的Cordova平台在打包App时,就相当于在App中加入了浏览器,然后我们的code是跑在浏览器上。虽然Hybrid App天生就存在性能瓶颈,但我们可以有很多优化方案去解决这些性能问题。也许Native App在性能方面超越Hybrid App不太可能,但经过优化,可以无限缩小二者性能上的差距。


  Q4:既然Hybrid App使用的是Web前端开发技术,那么调用手机相机拍照,使用相册,获取通讯录联系人这些功能怎么实现?

    A:Cordova平台帮我们解决了这个问题,当我们开发时,遇到了特殊需求,比如使用粘贴板,图片上传,相机拍照,获取手机联系人这些功能时,我们可以通过调用Cordova的插件来解决这一问题,所谓Hybrid(混合)指的就是Web和Native的混合,用Web技术来开发界面,需要调用相机时,就调用封装好的Cordova插件(插件是区分平台的,以调用相机为例,我们要把Android和iOS调用相机的代码根据Cordova提供的文档封装在一个插件中),我们在打包App时,执行打包CLI时会自动根据打包不同的平台(Android是.apk / iOS是.ipa)将不同平台的cordova插件放入其中。

     所以如果想做好Hybrid App的开发工作,只懂Web前端技术是不行的,因为当我们存在特殊需求,Cordova官网找不到相应的插件时,就只能动手区分两个平台来封装插件了。


  相信阅读完上面这些Q&A后,大家应该对Hybrid App有了一些认识了吧

  本人后面打算整理出一套Hybrid App开发教程(抱拳),还希望广大技术同僚们多多指教

  使用的技术就是Cordova平台 html+css+angularJs+ionic样式库


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值