现今,移动互联网主导着整个ICT产业,成为了最大的信息消费市场。随着移动互联网发展浪潮的刮起,市面上各种移动App犹如雨后春笋般层出不穷。伴随着人们对移动App应用需求的不断提升,以及需求业务的急速扩展,各个开发团队争分夺秒,如火如荼,竞争十分激烈。这使得对App开发效率的要求越来越高。
部分中小型互联网软件开发公司,由于没有强大的技术后盾,项目开发周期短,开发预算寥寥可数,这个时候,如果再使用iOS&Android原生技术来开发App的话,其劣势不言而喻。原生App开发需要既开发Android系统又开发iOS系统,的设备也有限(只能在系统所属的平台专属设备上使用),导致开发成本高,周期长。
这时,一种新的开发模式:Hybrid App就这样偶然的悄然兴起。
Hybrid技术是一种混合开发模式,即同时使用Native与Web搭建的App。它的定义是:“同时使用网页语言与程序语言开发,通过应用商店区分移动操作系统分发,用户需要安装使用”。Hybrid App总体特性更接近Native App,但由于使用了网页语言编码HTML5,所以开发成本和难度比Native App要小很多。
Hybrid App以前端Javascript+Native两者相互调用为主,从开发层面实现“一次开发,多处运行”的机制,成为真正适合跨平台的开发。我们常使用的58同城、网易云音乐就是采用的这种开发模式。所以说,Hybrid App兼具了Native App良好用户交互体验的优势,也兼具了Web App使用H5跨平台开发低成本的优势。
Hybrid App开发,现阶段主流的开发平台包括AppCan、PhoneGap等,虽然已成为很多开发者开发App的首选,但Hybrid技术目前依然存在着些许不足。
若App开发界面设计要求模仿iOS的某个界面,这就需要大量的HTML及CSS代码,结果或许还会不尽如人意,应了“跨平台开发,兼容是前端的痛”这句话。
在UIwebview中,JS在创建XMLHttpRequest对象发起ajax请求的时候,会存在内存泄漏问题。Hybrid技术使JS与Native的交互操作非常频繁,使用XMLHttpRequest会引起较为严重的内存问题,容易导致App程序运行速度减慢,有时甚至系统崩溃。
对于App开发到底选何种方式,需要根据需求来选择工具,用适当的工具做合适的事情。每一种技术都有其优缺点,所以需要我们不断的尝试,这样才能选择最合适的开发方式去创造更好用户体验的应用App。