Hybrid App如何实现网页语言与程序语言的混合

Hybrid App依然是一个App,只是在编程过程中采用了HTML5或其他脚本技术。先看看一个普通的应用是如何构成的。如图1所示,一个应用是由众多界面根据功能逻辑进行组织的产物。使用任何开发技术都是为了完成界面、逻辑和组织的研发。


Hybrid App如何实现网页语言与程序语言的混合_第1张图片 

1. 应用的构成


以原生应用为例,如图所示。


 Hybrid App如何实现网页语言与程序语言的混合_第2张图片

2.原生应用 


使用原生技术实现UI、通信、内部逻辑等。

实现界面的动画效果和参数传递。

处理界面的生存周期和逻辑。

封装整合基础库供开发调用。

配置开发环境、工程、编译参数并最终完成应用的编译发布。

上述这些工作都由原生开发人员完成,且在不同平台上都要完成一次。Hybrid开发技术希望引入HTML5或脚本技术来达到减少甚至忽略原生开发人员工作量的目标。

目前国外比较知名的混合模式开发技术为PhoneGapPhoneGap的应用开发模型如图3所示。

目前利用PhoneGap进行开发大多采用All in One Page模式。开发人员的工作有以下几项。

使用网页技术在DIV内实现独立界面的功能,完成UI、通信和内部逻辑。


Hybrid App如何实现网页语言与程序语言的混合_第3张图片 

3.  PhoneGap的应用开发模型


使用JQMobileSenchaTouchJS框架完成DIV界面间的切换和参数传递。

使用JQMobileSenchaTouch处理界面的生存周期和逻辑。

PhoneGap封装系统设备能力基础库供开发调用,原生人员可以开发新插件扩展PhoneGap能力。

需要依赖各平台独立SDK,因此需要配置开发环境、工程、编译参数并最终完成应用的编译发布。

上述模型为移动应用开发者提供了新的开发途径,但是也带来了以下一些问题。

依然需要依赖各平台SDK

依然要求开发人员配置开发环境等才能完成应用的最终编译。

依赖第三方JS框架完成窗口管理和动画,受限于系统能力,体验较差。

采用ALL in One Page模式,所有界面都在同一页面内,开发调试复杂,不利于团队协同开发。

可以认为PhoneGap是一个为有原生开发能力的团队或个人提供的混合应用开发工具,受限于国内开发人员能力、环境等,从国内使用情况反馈看,其体验和开发方式并没有获得预期的好评。

AppCan作为国内首家Hybrid应用开发技术提供商,其开发模型如图4所示。


Hybrid App如何实现网页语言与程序语言的混合_第4张图片 

4.  AppCan开发模型


目前利用AppCan进行开发大多采用One Feature One Page模式。开发人员的工作如下。

使用网页技术在独立页面内实现各独立界面的功能,完成UI、通信和内部逻辑。

使用原生引擎提供的接口完成窗口管理和动画处理。

使用原生引擎提供的窗口栈管理窗口生存期和逻辑。

封装系统设备能力基础库、系统能力库、高级功能库、第三方对接库、高体验UI扩展库供HTML5开发调用,原生人员可以开发新插件扩展AppCan能力。

不需要依赖各平台独立SDK,不需要配置开发环境、工程、编译参数。


从上述开发模型中可以看到,AppCan技术是以HTML5开发人员作为开发主体,辅以原生开发人员的开发体系。HTML开发人员聚焦于独立界面逻辑、交互的开发。AppCan通过插件引擎在体验、能力、效率、安全各方面提供支撑。

不再需要依赖各平台SDK

不再要求开发人员配置开发环境等才能完成应用的最终编译。

使用原生技术完成窗口管理和动画。

采用One Feature One Page模式,所有界面可独立开发,便于调试,有利于团队协同开发。

你可能感兴趣的:(互谅网干货)