HTML5 Plus应用概述 HTML5 Plus移动App,简称5+App,是一种基于HTML、JS、CSS编写的运行于手机端的App,这种App可以通过扩展的JS API任意调用手机的原生能力,实
顺晟科技
2021-06-16 10:51:25
253
在上周分享的文章《企业移动性诉求与开发者的矛盾》中,我们分享了跨平台技术的解决方案,本文将进一步介绍跨平台技术的分类,深入揭示APICloud混合开发技术的技术原理。
速读:怎么办?企业移动性诉求和开发者的矛盾能调和吗
跨平台技术的分类
目前,跨平台技术领域分为两个发展方向:
首先是HTML5原生混合方向;
二是中间语言编译方向,其中APICloud和小程序属于前者。
HTML5原生混合,俗称混合开发。
这种模式的开发主体是HTML5,但整个app的架构是Native架构:app的UI布局和产品业务逻辑可以通过HTML5快速实现,HTML5在开发过程中无法实现或体验较差的功能可以通过Native模块实现。
混合开发既能保证app的渲染效率和用户体验,又能降低app开发的成本和复杂度,提高app开发的效率。
中间语言的编译方向,代表产品有Google刚发布的React Native(RN)、Xamarin、Flutter。
如何理解中间语言编译?
以RN为例,传统的app开发要求开发者使用Android和iOS原生技术——Java、Object-C、C/C等。而RN的开发过程要求开发者使用JS对app进行编码和输出。但是在app执行过程中,JS映射回Android和iOS原生级别执行。借助JS可以快速实现编码,并翻译成原生代码执行,这是中间语言的编译方向。
Xamarin需要微软自己的语言C#。对于大多数开发者来说,C#学习成本很高,Xamarin需要付费,所以目前国内很少使用。Flutter的开发语言是Dart,是Google发明的编程语言。这种语言很有趣。其语法类似于C语言,融合了JS和Java的一些设计思想和语法规则。Dart语言以前很少使用,参考资料也很少,开发者需要一个流程才能入门。
Html5到跨平台应用
每一种新兴技术的出现和普及,都是为了大规模地统一解决一系列复杂的问题。APICloud选择混合开发方向,旨在降低应用开发的复杂度,提高用HTML5开发应用的效率。
通过工程实践,我们首先设计了一个应用开发引擎。让我简单介绍一下这个引擎的架构:
整个引擎基于Android和iOS系统的原生技术架构
顶层是app应用层,涉及业务和功能相关部分。它要求开发者使用HTML CSS进行UI布局和渲染,通过JS实现功能和业务逻辑,这是应用开发者直接参与的地方。
第二层是API层。API层的核心功能是桥接和管理,负责JS和Java、JS和Object-C之间的通信,管理API的分发,以及加载和执行一些JS-Framework。
引擎与模块的API通过这里向开发者开放
接下来是引擎,主要负责消息命令管理、事件管理、模块管理和应用的UI渲染。
我们抽象出Android和iOS系统的原生窗口机制,然后模拟原生方式实现一个新的窗口系统,由Widget/Window/Frame/UI Model组成,形成混合渲染能力,使得app的性能和体验接近原生。
引擎通过开放的模块机制支持模块的动态加载,丰富和增强了app功能,满足了各种需求。
更底层是OS层,主要涉及Android和iOS的一些不同特性,是我们花费大量时间精力去适应和抽象的地方。
此外,一个应用还应该具备符合Android和iOS原生应用的生命周期特征,比如如何启动、启动流程、分发生命周期事件等。
以下是app开发引擎对app生命周期管理的主要处理流程。
引擎触发app的生命周期同原生app一致,触发点来自用户
当用户点击桌面上的图标或手机状态栏中的通知时,系统会将此事件分发到相应的app,引擎收到此事件后会开始初始化。
初始化过程如下:原生窗口系统初始化,启动页面显示-HTML5运行环境初始化-模块运行环境加载-事件和消息队列管理初始化-根窗口渲染,然后加载html 5页面,这是整个app的入口。
App启动后进入等待状态,由用户点击打开新窗口、加载新模块、更新UI等事件驱动。
通过app开发引擎,初步达到了使用HTML5 Native混合开发,提高开发效率的目的。但是实践过程远比预期复杂,所以APICloud在专业化产品层面上做出了非凡的努力。
在浩瀚的人类文明中,得益于计算机的飞速发展和技术的广泛应用,开启了第三次工业革命的新篇章,同时,信息技术成为拉动经济的重要增长点。
移动互联网时代,app开发技术无疑是行业发展的重要推动力。企业对产品快速落地和灵活迭代的迫切需求,使得跨平台开发技术得到广泛应用;APICloud通过具有核心知识产权的混合应用开发技术,进一步帮助企业快速实现移动互联网的布局,为具有生态力量的开发者提供全面的技术服务。
15
2022-09
15
2022-09
15
2022-09
15
2022-09
17
2021-09
31
2021-07