【尚武科技APP开发原创内容】混合开发技术是目前移动开发领域的方向和未来,跨平台技术其中是混合开发技术的核心,首先明确跨平台技术的分类,目前跨平台技术分为两个发展方向:
1、HTML5 + Native 混合方向;
2、中间语言编译方向,但是我们应该知道APICloud 和小程序都属于前者。
HTML5 + Native 混合,也就是我们通常所说的混合开发。
这种模式的开发核心是 HTML5,整个 app 的架构是 Native 架构:通过 HTML5 快速实现 app 的 UI 布局、业务逻辑,在开发过程中涉及 HTML5 无法实现,则借助 Native 模块来实现。混合开发保证 app 渲染效率和用户体验的同时,能够降低 app 开发成本和复杂度,提高 app 开发效率。最重要的原因就是可以快速的跨平台开发。
然后我们再看,中间语言编译方向,代表产品为 React Native(RN),Xamarin 、 Google 刚刚发布的 Flutter。中间语言编译,以 React Native为例,传统的 app 开发使用 Android 和 iOS 原生技术-Java、Object-C、C/C++而 RN 的开发过程则要求开发者使用 JS 进行编码输出 app,然后在 app 执行过程中,JS 又映射回到安卓和 iOS 原生层面执行。用 JS 快速实现编码,翻译为原生代码执行。
Html5 到跨平台 APP 应用,典型的APICloud 选择混合开发方向,目的是借助 HTML5 降低 app 开发复杂度,提高 app 开发效率。 通过工程化的实践手段,整个引擎基于 Android 和 iOS 系统的原生技术架构。最上层为 app 应用层,涉及到业务以及功能相关的部分,使用 HTML + CSS 进行 UI 布局和渲染,功能和业务逻辑则通过 JS 实现,这是 app直接开发的地方。第二层是 API 层,API 层核心的功能是桥接和管理,负责 JS 与 Java,JS 与 Object-C 之间的通讯,管理 API 的分发,以及一些 JS-Framework 的加载和执行。
引擎与模块的 API 通过这里向开发者开放
接下来是引擎,引擎主要负责应用的消息命令管理、事件管理、模块管理、以及 UI 渲染。
我们通过将 Android 和 iOS 系统的原生窗口机制抽象出来,再模拟原生的方式实现了一个新的窗口系统,由 Widget/Window/Frame/UI Model 构成,形成混合渲染能力,使得 app 性能和体验接近原生。核心引擎通过开放模块机制,支持动态载入模块,丰富和增强 app 功能。最底下则是 OS 层,OS 层中主要涉及 Android 和 iOS 系统之间一些不同的特性,是我们要花大量时间精力进行适配和抽象的地方。这就是基本的核心模型。
除此之外,一个 app 还应当具备符合 Android 和 iOS 原生 app 的生命周期特性,例如:如何启动,启动流程以及生命周期事件分发等。
以下是 app 开发引擎对 app 生命周期管理的主要处理流程。
我们再来看一下其运作机理:初始化的过程为原生窗口系统初始化,展示启动页->HTML5 运行环境初始化->加载模块运行环境->事件及消息队列管理初始化->根窗口开始渲染,之后开始加载 HTML5 页面,这个 HTML5 页面是整个 app 的入口。App 启动完毕后进入等待状态,由用户的点击等事件驱动打开新的窗口,加载新的模块,UI 更新等。这就是一个完整的使用过程。
使用 HTML5 + Native 混合开发,提高开发效率的目的,然而实践过程远比想象的要复杂, APICloud 在专产品层面已经具备足够的使用令度和客观的应用案例。。
近期,“驻冀高校创新成果发布系列活动——河北科技大学专场”披露的多领域成果引发行业关注。尚武科技第一时间组织核心团队开展专题研学,系统梳理食品加工、生物医药、电子信息等领域的技术突破,结合公司软件开发主业探寻协同发力点,为后续发展明确方向。 1. 解码…
借研发投入东风 强创新发展底气——尚武科技学习石家庄“十四五”科创投入成果有感
最近,《河北省科技经费投入统计公报》正式发布,尚武科技第一时间组织核心团队专题学习了这份公报。公报里一组组亮眼的数据,让我们这些深耕本地科技服务的从业者倍感振奋。从“十四五”开局到2024年,石家庄在研发投入上的持续加码、创新生态的不断优化,不仅勾勒出城市…
这段时间,我们尚武科技专门组织核心团队,认真学习了元氏县科工局联合县税务局举办的“研发费用加计扣除政策培训会”相关内容。这场覆盖150余家县域企业的培训会,通过“政策解读+实操辅导+银企对接”的立体化服务模式,把惠企政策讲深讲透,不仅让参会企业吃下“定心丸…