Hybrid App如何实现网页语言与程序语言的混合
2017-01-17 16:22
387 查看
Hybrid App依然是一个App,只是在编程过程中采用了HTML5或其他脚本技术。先看看一个普通的应用是如何构成的。如图1所示,一个应用是由众多界面根据功能逻辑进行组织的产物。使用任何开发技术都是为了完成界面、逻辑和组织的研发。
图1. 应用的构成
以原生应用为例,如图所示。
图2.原生应用
—
使用原生技术实现UI、通信、内部逻辑等。
—
实现界面的动画效果和参数传递。
—
处理界面的生存周期和逻辑。
—
封装整合基础库供开发调用。
—
配置开发环境、工程、编译参数并最终完成应用的编译发布。
上述这些工作都由原生开发人员完成,且在不同平台上都要完成一次。Hybrid开发技术希望引入HTML5或脚本技术来达到减少甚至忽略原生开发人员工作量的目标。
目前国外比较知名的混合模式开发技术为PhoneGap。PhoneGap的应用开发模型如图3所示。
目前利用PhoneGap进行开发大多采用All
in One Page模式。开发人员的工作有以下几项。
—
使用网页技术在DIV内实现独立界面的功能,完成UI、通信和内部逻辑。
图3. PhoneGap的应用开发模型
—
使用JQMobile、SenchaTouch等JS框架完成DIV界面间的切换和参数传递。
—
使用JQMobile、SenchaTouch处理界面的生存周期和逻辑。
—
PhoneGap封装系统设备能力基础库供开发调用,原生人员可以开发新插件扩展PhoneGap能力。
—
需要依赖各平台独立SDK,因此需要配置开发环境、工程、编译参数并最终完成应用的编译发布。
上述模型为移动应用开发者提供了新的开发途径,但是也带来了以下一些问题。
—
依然需要依赖各平台SDK。
—
依然要求开发人员配置开发环境等才能完成应用的最终编译。
—
依赖第三方JS框架完成窗口管理和动画,受限于系统能力,体验较差。
—
采用ALL in One Page模式,所有界面都在同一页面内,开发调试复杂,不利于团队协同开发。
可以认为PhoneGap是一个为有原生开发能力的团队或个人提供的混合应用开发工具,受限于国内开发人员能力、环境等,从国内使用情况反馈看,其体验和开发方式并没有获得预期的好评。
AppCan作为国内首家Hybrid应用开发技术提供商,其开发模型如图4所示。
图4. AppCan开发模型
目前利用AppCan进行开发大多采用One
Feature One Page模式。开发人员的工作如下。
—
使用网页技术在独立页面内实现各独立界面的功能,完成UI、通信和内部逻辑。
—
使用原生引擎提供的接口完成窗口管理和动画处理。
—
使用原生引擎提供的窗口栈管理窗口生存期和逻辑。
—
封装系统设备能力基础库、系统能力库、高级功能库、第三方对接库、高体验UI扩展库供HTML5开发调用,原生人员可以开发新插件扩展AppCan能力。
—
不需要依赖各平台独立SDK,不需要配置开发环境、工程、编译参数。
从上述开发模型中可以看到,AppCan技术是以HTML5开发人员作为开发主体,辅以原生开发人员的开发体系。HTML开发人员聚焦于独立界面逻辑、交互的开发。AppCan通过插件引擎在体验、能力、效率、安全各方面提供支撑。
—
不再需要依赖各平台SDK。
—
不再要求开发人员配置开发环境等才能完成应用的最终编译。
—
使用原生技术完成窗口管理和动画。
—
采用One Feature One Page模式,所有界面可独立开发,便于调试,有利于团队协同开发。
图1. 应用的构成
以原生应用为例,如图所示。
图2.原生应用
—
使用原生技术实现UI、通信、内部逻辑等。
—
实现界面的动画效果和参数传递。
—
处理界面的生存周期和逻辑。
—
封装整合基础库供开发调用。
—
配置开发环境、工程、编译参数并最终完成应用的编译发布。
上述这些工作都由原生开发人员完成,且在不同平台上都要完成一次。Hybrid开发技术希望引入HTML5或脚本技术来达到减少甚至忽略原生开发人员工作量的目标。
目前国外比较知名的混合模式开发技术为PhoneGap。PhoneGap的应用开发模型如图3所示。
目前利用PhoneGap进行开发大多采用All
in One Page模式。开发人员的工作有以下几项。
—
使用网页技术在DIV内实现独立界面的功能,完成UI、通信和内部逻辑。
图3. PhoneGap的应用开发模型
—
使用JQMobile、SenchaTouch等JS框架完成DIV界面间的切换和参数传递。
—
使用JQMobile、SenchaTouch处理界面的生存周期和逻辑。
—
PhoneGap封装系统设备能力基础库供开发调用,原生人员可以开发新插件扩展PhoneGap能力。
—
需要依赖各平台独立SDK,因此需要配置开发环境、工程、编译参数并最终完成应用的编译发布。
上述模型为移动应用开发者提供了新的开发途径,但是也带来了以下一些问题。
—
依然需要依赖各平台SDK。
—
依然要求开发人员配置开发环境等才能完成应用的最终编译。
—
依赖第三方JS框架完成窗口管理和动画,受限于系统能力,体验较差。
—
采用ALL in One Page模式,所有界面都在同一页面内,开发调试复杂,不利于团队协同开发。
可以认为PhoneGap是一个为有原生开发能力的团队或个人提供的混合应用开发工具,受限于国内开发人员能力、环境等,从国内使用情况反馈看,其体验和开发方式并没有获得预期的好评。
AppCan作为国内首家Hybrid应用开发技术提供商,其开发模型如图4所示。
图4. AppCan开发模型
目前利用AppCan进行开发大多采用One
Feature One Page模式。开发人员的工作如下。
—
使用网页技术在独立页面内实现各独立界面的功能,完成UI、通信和内部逻辑。
—
使用原生引擎提供的接口完成窗口管理和动画处理。
—
使用原生引擎提供的窗口栈管理窗口生存期和逻辑。
—
封装系统设备能力基础库、系统能力库、高级功能库、第三方对接库、高体验UI扩展库供HTML5开发调用,原生人员可以开发新插件扩展AppCan能力。
—
不需要依赖各平台独立SDK,不需要配置开发环境、工程、编译参数。
从上述开发模型中可以看到,AppCan技术是以HTML5开发人员作为开发主体,辅以原生开发人员的开发体系。HTML开发人员聚焦于独立界面逻辑、交互的开发。AppCan通过插件引擎在体验、能力、效率、安全各方面提供支撑。
—
不再需要依赖各平台SDK。
—
不再要求开发人员配置开发环境等才能完成应用的最终编译。
—
使用原生技术完成窗口管理和动画。
—
采用One Feature One Page模式,所有界面可独立开发,便于调试,有利于团队协同开发。
相关文章推荐
- Hybrid App是如何实现网页语言与程序语言的混合?谁占主体?
- [转]如何用C#语言构造蜘蛛程序(网络爬虫实现)
- 如何用Python,C#等语言去实现抓取静态网页+抓取动态网页+模拟登陆网站
- C# WinForm 如何实现启动系统程序、文件或打开新网页?
- 如何用程序切换网页显示的语言
- 如何实现网页程序自动登录(java)?
- .Net语言 APP开发平台——Smobiler学习日志:如何实现快速跳转网页
- javaScript基础---(一):如何在网页中实现javaScript脚本语言
- javaScript基础---(一):如何在网页中实现javaScript脚本语言
- 如何用Python,C#等语言去实现抓取静态网页+抓取动态网页+模拟登陆网站
- 如何用Python,C#等语言去实现抓取静态网页+抓取动态网页+模拟登陆网站
- 如何用C#语言构造蜘蛛程序(网络爬虫实现)
- 如何实现网页程序自动登录(java)?
- 如何在DBGRID或者STRINGGRID中实现用滚轮进行翻页的功能,就象浏览网页一样?
- 用VB6实现程序多语言界面
- 胡想篇(程序实现拨打电话预警或者短消息预警如何实现?)
- (转)如何用C#语言构造蜘蛛程序
- 如何实现最简单的Struts程序
- 如何通过程序实现网卡的启用和禁止功能?
- 如何在网页上实现进度条