AppCan:基于混合模式的移动应用开发,移动混合模式应用开发方案

4747 964 2022-10-16

本文讲述了AppCan:基于混合模式的移动应用开发,移动混合模式应用开发方案。

2010年,Hybrid App的概念开始被提出来,如今,经过6年多的演变过渡,这种兼具Native App和Web App的优势,又能将彼此的缺陷最小化的移动应用开发模式,成了一种全新的选择。随后,国内知名的Hybrid App开发平台AppCan逐渐进入移动应用开发者的视野。

到2013年,混合开发模式逐步成为企业移动应用开发的主流,从投入、用户体验、维护成本等方面综合考虑,Hybrid App已经被众多企业所认可。甚至在企业移动信息化平台整体解决方案商提供的方案中,几乎全部都以Hybrid App为首选的移动应用开发模式。

1.什么是Hybrid App

Hybrid App同时使用网页语言与原生程序语言开发,通过应用商店区分移动操作系统分发,用户需要安装使用的移动应用。其总体特性更接近Native App,但是和Web App区别较大。只是因为使用了网页语言编码,所以开发成本和难度比Native App要小很多。因此,HybridApp既有Native App的所有优势,也有Web App使用HTML5跨平台开发低成本的优势。

2.Hyrbid App为什么会兴起

Hybrid App的兴起看似偶然,但却是技术发展的必然。移动互联网的热潮掀起后,众多公司前赴后继地进入,但是很快发现移动应用的开发人员太少,所以导致疯狂的人才争夺。

市场机制下移动应用开发人才的待遇扶摇直上,最终变成众多企业无法负担一个具备跨平台开发能力的专业移动应用开发团队。而HTML5的出现让Web App露出曙光,HTML5跨平台开发移动应用和廉价开发成本的优势让众多想进入移动互联网领域的公司开始心动。

正是在这样的机缘巧合下,既有HTML5低成本、跨平台开发优势又有Native App特质的Hybrid App技术杀入混战,并且很快吸引了众人的目光。

可大幅降低移动应用的开发成本,可以通过现有应用商店模式发行,可在用户桌面形成独立入口等,让Hybrid App成为解决移动应用开发困境不错的选择,也成为普通开发者进入移动市场的最有力武器。

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

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

应用的构成

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

原生应用

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

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

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

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

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

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

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

AppCan开发模型

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

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

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

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

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

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

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

—不再需要依赖各平台SDK。

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

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

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

一、混合方案一:原生+H5

    这类框架主要原理就是将APP的一部分需要动态变动的内容通过H5来实现,通过原生的网页加载控件WebView (Android)或WKWebView(iOS)来加载。这样一来,H5部分是可以随时改变而不用发版,动态化需求能满足;同时,由于h5代码只需要一次开发,就能同时在Android和iOS两个平台运行,这也可以减小开发成本,也就是说,H5部分功能越多,开发成本就越小。我们称这种h5+原生的开发模式为混合开发 ,采用混合模式开发的APP我们称之为混合应用或Hybrid APP ,如果一个应用的大多数功能都是H5实现的话,我们称其为Web APP 。

    目前混合开发框架的典型代表有:Cordova、Ionic 和微信小程序,值得一提的是微信小程序目前是在webview中渲染的,并非原生渲染,但将来有可能会采用原生渲染。

主要优点:

    混合应用的优点是动态内容是H5,web技术栈,社区及资源丰富。

主要缺点:

    缺点是性能不好,对于复杂用户界面或动画,WebView不堪重任。

二、混合方案二:原生+JavaScript

主要优点:

    采用Web开发技术栈,社区庞大、上手快、开发成本相对较低。

    原生渲染,性能相比H5提高很多。

    动态化较好,支持热更新。

主要不足:

    渲染时需要JavaScript和原生之间通信,在有些场景如拖动可能会因为通信频繁导致卡顿。

    JavaScript为脚本语言,执行时需要JIT(Just In Time),执行效率和AOT(Ahead Of Time)代码仍有差距。

    由于渲染依赖原生控件,不同平台的控件需要单独维护,并且当系统更新时,社区控件可能会滞后;除此之外,其控件系统也会受到原生UI系统限制,例如,在Android中,手势冲突消歧规则是固定的,这在使用不同人写的控件嵌套时,手势冲突问题将会变得非常棘手。

 开发框架有:

1.React Native

    React Native (简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的JS框架 React 在原生移动应用平台的衍生产物,目前支持iOS和Android两个平台。RN使用Javascript语言,类似于HTML的JSX,以及CSS来开发移动应用,因此熟悉Web前端开发的技术人员只需很少的学习就可以进入移动应用开发领域。

2.Weex

    Weex是阿里巴巴于2016年发布的跨平台移动端开发框架,思想及原理和React Native类似,最大的不同是语法层面,Weex支持Vue语法和Rax语法,Rax 的 DSL(Domain Specific Language) 语法是基于 React JSX 语法而创造。与 React 不同,在 Rax 中 JSX 是必选的,它不支持通过其它方式创建组件,所以学习 JSX 是使用 Rax 的必要基础。而React Native只支持JSX语法。

3.快应用

    快应用是华为、小米、OPPO、魅族等国内9大主流手机厂商共同制定的轻量级应用标准,目标直指微信小程序。它也是采用JavaScript语言开发,原生控件渲染,与React Native和Weex相比主要有两点不同:

    快应用自身不支持Vue或React语法,其采用原生JavaScript开发,其开发框架和微信小程序很像,值得一提的是小程序目前已经可以使用Vue语法开发(mpvue),从原理上来讲,Vue的语法也可以移植到快应用上。

    React Native和Weex的渲染/排版引擎是集成到框架中的,每一个APP都需要打包一份,安装包体积较大;而快应用渲染/排版引擎是集成到ROM中的,应用中无需打包,安装包体积小,正因如此,快应用才能在保证性能的同时做到快速分发。

混合方案三:原生+自绘

   这种技术的思路是,通过在不同平台实现一个统一接口的渲染引擎来绘制UI,而不依赖系统原生控件,所以可以做到不同平台UI的一致性。注意,自绘引擎解决的是UI的跨平台问题,如果涉及其它系统能力调用,依然要涉及原生开发。

主要优点:

    性能高;由于自绘引擎是直接调用系统API来绘制UI,所以性能和原生控件接近。

灵活、组件库易维护、UI外观保真度和一致性高;由于UI渲染不依赖原生控件,也就不需要根据不同平台的控件单独维护一套组件库,所以代码容易维护。由于组件库是同一套代码、同一个渲染引擎,所以在不同平台,组件显示外观可以做到高保真和高一致性;另外,由于不依赖原生控件,也就不会受原生布局系统的限制,这样布局系统会非常灵活。

主要不足:

    动态性不足;为了保证UI绘制性能,自绘UI系统一般都会采用AOT模式编译其发布包,所以应用发布后,不能像Hybrid和RN那些使用JavaScript(JIT)作为开发语言的框架那样动态下发代码。

上文就是小编为大家整理的AppCan:基于混合模式的移动应用开发,移动混合模式应用开发方案。

国内(北京、上海、广州、深圳、成都、重庆、杭州、西安、武汉、苏州、郑州、南京、天津、长沙、东莞、宁波、佛山、合肥、青岛)Finclip软件分析、比较及推荐。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:利用docker搭建朋友圈盲盒小程序,操作过程和方法分享~小程序docker部署
下一篇:小程序 多线程Worker(类似h5的webWorker),小程序是单线程还是多线程
相关文章

 发表评论

评论列表

2024-06-28 09:36:31

感谢小编分享关于AppCan的内容,这种混合开发模式确实为移动应用开发带来了很多便利和选择。希望能了解更多关于AppCan的实际案例和应用场景。

2024-06-28 11:51:33

AppCan作为国内首家Hybrid应用开发技术提供商,对于解决移动应用开发困境的问题确实是一个不错的选择。不再需要依赖各平台独立SDK和配置开发环境等,对于开发人员来说是一大福音。

2024-06-28 17:11:37

我对Hybrid App这种同时使用网页语言和原生程序语言开发的方式很感兴趣。尤其是能通过现有应用商店模式发行和在用户桌面形成独立入口的特点,让用户更方便地使用和访问应用。

2024-06-28 18:36:36

阅读这篇文章之后,我对Hybrid App的兴起有了更深的理解。企业由于移动应用开发人才的紧缺,选择Hybrid App可以大幅降低开发成本,同时又能提供良好的用户体验,这对企业来说是一个双赢的选择。

2024-06-28 21:21:37

通过阅读这篇文章,我了解到了Hybrid App的开发模式。AppCan作为国内首家Hybrid应用开发技术提供商,采用了一种以HTML5开发人员为主体,辅以原生开发人员的开发体系。这种模式对于开发人员来说非常友好,也能提高开发效率。

2024-06-29 22:20:13

文中提到的混合方案一中的原生+H5,我非常认同这种开发模式,它能够利用H5的动态特性和原生的性能优势,可以满足动态内容更新和开发成本的需求。

2024-06-29 22:20:14

这篇文章中介绍的混合方案二中的原生+JavaScript也很有吸引力。不仅可以利用Web开发技术栈的优势,还能实现原生渲染提高性能,同时还支持热更新,非常适合快速迭代的开发环境。

2024-06-29 22:20:15

自绘引擎作为混合方案三,通过统一接口的渲染引擎实现UI的绘制,确保不同平台的UI一致性,这个思路非常有趣。不过,由于自绘UI系统采用AOT模式编译发布包,动态性相对较差,这一点需要注意。

2024-06-29 22:20:16

作为移动应用开发者,我对AppCan这种基于混合模式的移动应用开发方案很感兴趣。它可以在既有Native App的优势的基础上,兼具Web App使用HTML5跨平台开发的低成本优势,这对于开发者而言是一个非常有吸引力的选择。

2024-06-29 22:20:16

作为移动应用开发者,我对AppCan这种基于混合模式的移动应用开发方案很感兴趣。它可以在既有Native App的优势的基础上,兼具Web App使用HTML5跨平台开发的低成本优势,这对于开发者而言是一个非常有吸引力的选择。

2024-06-29 22:20:17

关于Hybrid App如何实现网页语言和程序语言的混合,AppCan提供了一种以HTML5开发人员为主体的开发模型,通过原生引擎提供的窗口管理和动画处理等功能,实现了混合开发的优势。这种模型非常适合团队协同开发和快速迭代。

2024-06-29 22:20:17

关于Hybrid App如何实现网页语言和程序语言的混合,AppCan提供了一种以HTML5开发人员为主体的开发模型,通过原生引擎提供的窗口管理和动画处理等功能,实现了混合开发的优势。这种模型非常适合团队协同开发和快速迭代。

2024-06-29 22:20:18

文章中提到的混合开发框架Cordova、Ionic和微信小程序等都具有各自的特点和优势。我想了解更多关于这些框架的比较和使用案例,以便在实际开发中做出更好的选择。

2024-06-30 10:46:57

阅读了这篇关于AppCan的文章,对于混合开发模式有了更深入的了解。虽然混合开发有一些缺点,但是在降低开发成本和提高开发效率方面的优势还是让我对这种开发方式产生了兴趣。

2024-06-30 15:37:00

AppCan作为国内首家Hybrid应用开发技术提供商,在混合开发方面积累了很多经验。希望能看到更多关于AppCan在实际项目中的应用案例和技术分享。

2024-06-30 15:47:02

这篇文章对Hybrid App的发展历程和优势进行了很好的总结。Hybrid App通过兼具Native App和Web App的优势,满足了移动应用开发的多样化需求,对于企业和开发者来说都是一个不错的选择。

2024-06-30 15:56:59

对于Hybrid App的兴起,我认为除了HTML5跨平台开发的低成本优势,还有移动互联网行业的发展趋势推动。我很期待Hybrid App在未来会有更多创新和突破。

2024-06-30 15:57:01

阅读了这篇关于AppCan的文章,对于混合开发模式有了更深入的了解。我希望未来能有更多的开发工具和技术支持,让Hybrid App的开发更加便捷和高效。

2024-06-30 16:27:04

AppCan的开发模型让我觉得很有意思,以HTML5开发人员为主体,辅以原生开发人员,实现了开发效率和性能的双重优势。期待未来能看到更多类似的开发模型和框架。

2024-06-30 18:02:03

看完这篇文章对于Hybrid App的开发有了更全面的了解。AppCan作为国内首家Hybrid应用开发技术提供商,为开发者提供了很多便利和支持,让我们更加方便地进行移动应用开发。

2024-07-01 09:52:16

对于Hybrid App这种同时使用网页语言和原生程序语言开发的方式,我觉得它能够结合各自的优势,为移动应用开发带来很多可能性。我希望能了解更多关于Hybrid App实际应用的案例和经验分享。

2024-07-01 10:22:12

文章中介绍的混合方案一中的原生+H5,我觉得这种方式非常灵活,能够在保证性能的同时实现动态内容的更新。这对于企业和开发者来说都是一个很有吸引力的选择。

2024-07-01 13:37:11

通过阅读这篇文章,我对Hybrid App的兴起有了更深的理解。它不仅可以大幅降低移动应用的开发成本,还可以提供良好的用户体验,对于开发者来说是一个非常有吸引力的选择。

2024-07-01 14:47:15

对于Hybrid App如何实现网页语言和程序语言的混合,AppCan提供了一种以HTML5开发人员为主体的开发模型。通过插件引擎提供支撑,实现了混合开发的效果。这种开发模型非常适合团队协同开发和快速迭代。

2024-07-01 16:27:18

AppCan作为国内首家Hybrid应用开发技术提供商,在混合开发方面积累了很多经验。希望能看到更多关于AppCan在实际项目中的成功案例和技术分享,为开发者提供更多帮助。

2024-07-01 17:47:23

阅读了这篇关于AppCan的文章,对于混合开发模式有了更深入的了解。希望未来能有更多类似的开发工具和框架出现,让开发者能够更加便捷地进行移动应用开发。

2024-07-01 19:57:22

这篇文章对于Hybrid App的发展历程和优势进行了很好的介绍。Hybrid App通过结合Native App和Web App的优势,提供了更多可能性和选择,对于企业和开发者来说都是一个不错的选择。