鸿蒙原生App开发之:套用混合app开发思路

2024年,似乎华为迎来了新的企业机遇--鸿蒙独立操作系统。

受到全球国际形势的影响,加之第四次科技革命(AI革命)冷不丁的出现,在他国AI技术领先的前提下,中国自主研发的独立操作系统再次提上新的战略高度。其中,鸿蒙独立操作系统(HarmonyOS)就是大新创/国产操作系统的新高度。

鸿蒙原生语法:ArkTS语言

本篇文章主要讲述鸿蒙原生开发,首当其冲就是要了解其独特的语法--ArkTS语言。

ArkTS是用于开发HarmonyOS Next原生应用的首选编程语言。它是TypeScript的超集,这意味着它包含了TypeScript的所有功能,以及一些针对HarmonyOS的特定附加功能。ArkTS旨在成为一种高性能、安全且易于使用的语言,用于开发HarmonyOS应用程序。

ArkTS的一些主要功能:

  • 静态类型检查:ArkTS是一种静态类型语言,这意味着每个变量和表达式的类型都在编译时进行检查,这样可以帮助防止错误并使代码更易于维护。

  • 声明式UI:ArkTS支持声明式UI范式,这意味着开发人员可以使用简单而富有表现力的语法来描述应用程序的UI。这可以使创建复杂且视觉吸引人的UI变得更加容易。

  • 状态管理:ArkTS提供内置的状态管理支持,这使得跟踪应用程序状态并相应地更新UI变得容易。

纵观IOS及Andriod的开发演进进程,原生语言编写的前端应用肯定是对于用户体验最优解。但是,随着市场需求的快速变化,配合业务拓展的应用,不得不以一种更轻量的形式来配合业务的拓展。这个时候,混合App开发理念就开始流行起来。

对应的,我认为应对鸿蒙原生开发进程,也是类似的道理:先以轻量化的原生开发方式抢占市场流量入口,待业务有增量增长以后,再考虑以更优的性能或者体验方式来优化业务场景。

为什么呢?下面两个理由足够我们开发者吃一壶....

首先,似乎企业还没反应过来,华为的手机要换成独立操作系统了,且不再兼容Andriod应用。而且时间非常的紧张,企业现有的App包,在9月30日以后,便不再能在增量的华为手机上运行。

其次,现在让现有的程序员重新学习一遍ArkTS语言,原有的研发任务会收到应用,新语言的学习周期长短也是不可控制的。如果现在从市面上重新招聘一个ArkTS研发工程师,能不能找到人是一回事,成本也是受到市场稀缺性的影响水涨船高...

套用混合App开发思路,可行?

混合App开发是一种利用Web技术和原生开发技术相结合的开发方式,它可以充分发挥两种技术的优势,为开发者提供更高效、更便捷的开发体验。

查阅了相当量的公开资料,发现在9-30之前使用混合App开发的思路,是可行且还挺香的一条路径:

  • 鸿蒙OS的分布式架构支持混合App开发。鸿蒙OS采用分布式架构,可以将应用的UI、逻辑和数据分布在不同的设备和节点上。这使得混合App开发框架可以更容易地将Web技术和原生开发技术结合起来。

  • 华为提供了混合App开发框架。华为推出了HarmonyOS Ace Engine混合App开发框架,该框架可以帮助开发者快速构建跨平台的鸿蒙App。

  • 存在大量优秀的第三方混合App开发框架。目前市场上存在大量优秀的第三方混合App开发框架,如React Native、Weex等老牌开发框架,还有如FinClip等创新性的小程序转鸿蒙App开发框架。这些框架可以为鸿蒙原生App开发提供丰富的功能和组件。

混合App开发思路开发鸿蒙原生App的优势

没有优势就没有使用的价值。对于我们开发者来说,有「利大于弊」的价值,才足够让我们选择并使用它。貌似技术价值层面,与过往混合App开发取代原生开发的价值类似:

  • 开发效率高:混合App开发可以使用Web技术来开发应用的UI,这使得开发效率大大提高。

  • 代码可复用性强:混合App开发的代码可以在多个平台上复用,这可以降低开发成本。

  • 易于维护:混合App开发的代码更容易维护,因为可以使用Web开发工具来进行调试和维护。

当然,也存在一些劣势,如性能可能不如原生App,开发难度可能更高等。但随着框架的封装和迭代演进,这些问题在近年来已经越来越少,开发者也越用越顺畅。

小程序转鸿蒙原生App实践

近期在研究FinClip的免费“小程序转换App”工具,结合他们新推出的鸿蒙SDK,发现还挺好用,大致步骤如下:

  1. 上传小程序代码包:如果已经有微信小程序应用,那么下载一下他们家的FinClip Studio(IDE开发工具)进行简单的转换。

  2. 使用微信登录插件:已经预先调试好的微信登录插件,非常方便,能够在转好的App中,通过一个中间转换的小程序调起微信登录接口,快速跑通业务。

  3. 生成App前必要的配置:如App图标、启动闪屏、权限配置等

  4. 生成App:配置一下对应IOS或Andriod的证书,然后「一键」生成App

实操下来,这个工具还是挺方便的。当然,其他跨端转换框架应该也是操作便捷,感兴趣的同学都可以试试。

使用混合App开发思路来开发鸿蒙原生App是一种可行的方案。该方案可以提高开发效率、降低开发成本,但同时也存在一些劣势。开发者可以根据自己的具体需求来决定是否采用这种方案。

随着鸿蒙OS生态的不断完善,鸿蒙原生App开发也将迎来新的机遇和挑战。相信在不久的将来,鸿蒙原生App开发将会更加成熟,为用户带来更加丰富、更加优质的应用体验。

这篇文章对使用混合App开发思路来开发鸿蒙原生App进行了整体分析,并提出了几点建议。希望这篇文章对您有所帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/717274.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Javaweb08-JDBC数据库连接技术

JDBC数据库连接技术 **原理:**JDBC在应用程序与数据库之间起到了一个桥梁作用,当应用程序使用JDBC访问特定的数据库时,需要通过不同数据库驱动与不同的数据库进行连接,连接后即可对数据库进行相应的操作。 一.Jdbc API 1.Driver…

基于Itô扩散过程的交易策略偏微分方程matlab求解与仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于It扩散过程的交易策略偏微分方程,提出了一种确定It扩散过程。通过根据的第一次通过时间来确定问题在这个过程中,我们推导出交易长度的分布函数和密…

Guava-EventBus 源码解析

EventBus 采用发布订阅者模式的实现方式,它实现了泛化的注册方法以及泛化的方法调用,另外还考虑到了多线程的问题,对多线程使用时做了一些优化,观察者模式都比较熟悉,这里会简单介绍一下,重点介绍的是如何泛化的进行方法的注册以及…

网线不通?瞅瞅这里----关于交叉网线的原理。

最近搞了个项目,UDP对接UDP,死活对接不上。 最后发现是交叉网线的事情,在此记录交叉网线的原理。 先说结论:不同设备用直连,相同设备用交叉网线 细说说 1.原理 网线的原理实际就是TX与RX对接。 正常一个设备同时有…

关于使用命令行打开wps word文件

前言 在学习python-docx时,想在完成运行时使用命令行打开生成的docx文件。 总结 在经过尝试后,得出以下代码: commandrstart "C:\Users\86136\AppData\Local\Kingsoft\WPS Office\12.1.0.16929\office6\wps.exe" "./result…

智能室内空气质量监测预警系统小程序设计说明书

智能室内空气质量监测预警系统小程序设计说明书 一、应用功能与系统设计 (一) 应用功能 该小程序设计的目的是为了配合环境监测吸顶灯,Mini空气监测仪等硬件设备实时数据展示与远程设备控制等功能,系统框架图如图1-1所示。用户可以从小程序…

生活好物:日常更精彩

我们的日用杂货店,是生活美学的聚集地。这里汇聚了各式各样的生活用品,每一件都蕴含着对生活的热爱与追求。 走进我们的日用杂货店,仿佛打开了一个充满生活气息的宝藏盒。从厨房的锅碗瓢盆,到浴室的洗漱用品,再到客厅的…

Excel和Word等工具小技能分享汇编(一)

这里汇集刘小生前期微信公众号分享的Excel和Word等工具小技能,为方便大家查看学习,刘小生对其进行分类整理,后期也会不定期整理更新,如有想学习交流或其他小技巧需求,欢迎留言,我们一起学习进步&#xff01…

免费 逼真:快手“可灵”后又一Sora级选手登场

就在今日,英伟达投资的旧金山初创公司 Luma AI 打出一手王牌,推出新一代 AI 视频生成模型 Dream Machine,可以文生视频,图生视频,人人免费可用。同时,Luma AI 称 Dream Machine 可以从文本和图像生成“高质…

【会议征稿】第五届物联网、人工智能与机械自动化国际学术会议 (IoTAIMA 2024,7月19-21)

由浙江工业大学主办,第五届物联网、人工智能与机械自动化国际学术会议 (IoTAIMA 2024) 将于2024年7月19-21日在浙江杭州召开。 会议旨在为从事物联网、人工智能与机械自动化的专家学者、工程技术人员、技术研发人员提供一个共享科研成果和前沿技术,了解学…

【SXF2024笔试】

编程题 1. 最长不重复子数组2. 编辑任务所需的最短时间3. 主机连通所需的最短跳数4. 十进制数字的汉诺塔编码 1. 最长不重复子数组 2. 编辑任务所需的最短时间 3. 主机连通所需的最短跳数 4. 十进制数字的汉诺塔编码

STM32在进入main函数之前的准备工作

在大部分嵌入式系统中,在进入main函数之前都需要执行一个系统 初始化序列。这里所说的初始化序列特指的是软件运行环境的初始化。 上图是系统开始运行后,在进入main函数之前的默认初始化序列。从图中可以看出,在左侧有2个函数:__m…

各大APP自动化运行插件开发需要用到的源代码有哪些?

在当今数字化时代,自动化运行插件的开发在各大APP中扮演着至关重要的角色,这些插件不仅提升了APP的功能性和效率,同时也为用户带来了更加便捷的使用体验。 在开发这些自动化运行插件的过程中,源代码的选择与使用显得尤为关键&…

RocketMQ快速入门:集成java客户端实现各类消息发送|异步、同步、顺序、单向、延迟、事务(五)附带源码

0. 引言 前面的章节中,我们已经针对rocketmq的基本概念和消息发送、消费流程进行了讲解,但实际在开发中如何实现rocketmq的接入、实现消息发送、消费还没有落实,那么今天,我们继续来学习如何基于java client集成rocketMQ 1. 集成…

Vue47-修改默认配置webpack.config.js文件

main.js是脚手架项目的入口文件,系统运行时,默认去找src下的main.js文件。这是webpack通过配置文件:webpack.config.js配置的。 脚手架把所有重要的配置文件都隐藏了,方式被开发者修改。 一、查看被隐藏的webpack配置 1-1、webpa…

python基础语法 002 - 3 数据运算

1 运算符 1.1 算术运算符 -*/ 1.1.1 除法:会类型转换、被除数不能为0 #算术运算符a 1 2 print(a) b a - 1 print(b) c b 6 print(c)# 为什么除法得不到整数? #除法可能遇到除不尽 #使用了除法数据类型会转化为浮点数 d c / 2 print(d) print(typ…

SAP 在过账的时候系统提示:被合并的公司 XXXX 和 ‘ ‘ 是不同的解决办法

最近用户反馈在STO的业务模式中交货单过账的时候,报错没有办法过账。查看了一下报错的信息提示:被合并的公司 和1300是不同的 如下图所示: 消息号是F5080 首先根据SAP的消息号找了一下NOTE,发现2091823有详细的说。 主要是财务…

硕士毕业论文《基于磁纹理的磁化动力学研究》

前言 本文是博主的硕士毕业论文,应该也是“自旋电子学(微磁学)”博客专栏的最后一篇博客,该毕业论文预设排版的PDF版本见下载链接:https://download.csdn.net/download/qq_43572058/89447526。若该博客专栏对读者您的…

Linux:生产消费模型 读者写者模型

Linux:生产消费模型 & 读者写者模型 生产消费模型阻塞队列基本结构构造与析构投放任务获取任务总代码 POSIX 信号量基本概念接口 环形队列基本结构构造与析构投放任务获取任务总代码 读者写者模型读写锁 生产消费模型 生产消费模型是一种用于处理多线程之间任务…

「6.18福利」精选大厂真题|笔试刷题陪伴|明天正式开屋啦 - 打卡赢价值288元丰厚奖励

🍰关于清隆学长 大家好,我是清隆,拥有ACM区域赛 银牌🥈,CCCC天梯赛 国一,PTA甲级 98 分。 致力于算法竞赛和算法教育已有 3 年,曾多次 AK 互联网大厂笔试,大厂实习经验丰富。 打卡…