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

news2024/11/26 13:41:05

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进行了整体分析,并提出了几点建议。希望这篇文章对您有所帮助。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【NLP项目-01】手把手教你基于TF-IDF提取向量+贝叶斯或者随机森林进行文本分类

【NLP项目-01】手把手教你基于TF-IDF提取向量贝叶斯或者随机森林进行文本分类 本次修炼方法请往下查看 🌈 欢迎莅临我的个人主页 👈这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合,智慧小天地! 🎇 相关内容文…

List, Set, Map, Queue介绍

Java集合框架是一组接口和实现这些接口的类的集合,它提供了对数据集合的高效率存储和操作。以下是Java集合框架中一些核心接口的介绍: 1.List: List是一个有序的集合,允许包含重复的元素。它提供了按插入顺序访问元素的方法&…

【5.x】ELK日志分析、集群部署

ELK日志分析 一、ELK概述 1、ELK简介 ELK平台是一套完整的日志集中处理解决方案,将ElasticSearch、Logstash和Kiabana三个开源工具配合使用,完成更强大的用户对日志的查询、排序、统计需求。 一个完整的集中式日志系统,需要包含以下几个主…

数据库原理(关系数据库规范化理论)——(4)

一、关系模式规范化的必要性 1.关系可能出现的问题 数据冗余大;插入异常;删除异常;更新异常; 2.关系模式应满足的基本要求 元组的每个分量必须是不可分割的数据项;数据库中的数据冗余应尽可能少;不要出…

AcWing 1273:天才的记忆 ← ST算法求解RMQ问题

【题目来源】https://www.acwing.com/problem/content/1275/【题目描述】 从前有个人名叫 WNB,他有着天才般的记忆力,他珍藏了许多许多的宝藏。 在他离世之后留给后人一个难题(专门考验记忆力的啊!),如果谁…

【深度学习】GPT1,提高语言理解的生成预训练方法

论文: https://s3-us-west-2.amazonaws.com/openai-assets/research-covers/language-unsupervised/language_understanding_paper.pdf 文章目录 提高语言理解的生成预训练方法摘要引言相关工作自然语言处理的半监督学习无监督预训练辅助训练目标 框架无监督预训练有…

基于jeecgboot-vue3的Flowable流程-所有任务

因为这个项目license问题无法开源&#xff0c;更多技术支持与服务请加入我的知识星球。 这个部分主要讲所有任务的功能 1、主要列表界面如下&#xff1a; <template><div class"p-2"><!--查询区域--><div class"jeecg-basic-table-form-…

纯css星空动画

让大家实现一个这样的星空动画效果,大家会怎么做? js,不! 其实使用css就能写 我也不藏着掖着,源码直接放下面了 <script setup></script><template><div class"box"><div v-for"i in 5" :key"i" :class"layer…

函数递归

哈喽啊各位&#xff0c;真是&#xff0c;好久好久好久不见。这段时间实在是太过忙碌了昂&#xff0c;还望诸君见谅&#xff0c;接下来时间会松很多&#xff0c;咱们也会恢复正常更新速度啦 小希在这里祝诸君&#xff1a;期末不挂科&#xff0c;四六级都过&#xff01;功不唐捐…

玩转Word域代码,再也不担心引用多个文献时的排版

文章目录 序列域代码星号和井号多个参考文献交叉引用 在Word中&#xff0c;域代码是一种特殊的文本&#xff0c;可在文档中插入动态内容&#xff0c;而无需手动输入。熟练掌握域代码的基本原理&#xff0c;可以在Word排版时事半功倍。 序列域代码 【CtlF9】会显式出花括号&am…

【一】【QT开发应用】QT开发环境配置,安装QT应用

下载QT软件 点击网址链接&#xff0c;QT下载网址 下载vsaddin插件 点击网址链接&#xff0c;QT下载网址 根据自己的vs版本下载对应的文件. 安装QT 用命令行打开安装程序 找到直接路径, D:\Software\QT\qt-unified-windows-x86-4.3.0-1-online.exe 利用WindowsPowe…

tyflow线相关教程二

线条生长一 生长静脉二 绳索动画三 两个球线连接四 扫帚五

PFA可溶性聚四氟乙烯晶圆盒培养皿一体成型

PFA可溶性聚四氟乙烯晶圆盒培养皿一体成型 PFA培养皿由一个盖子和一个底组成&#xff0c;独特的加工技术&#xff0c;底部圆弧好&#xff0c;经过磨光处理&#xff0c;表面平滑不挂水&#xff0c;无划痕。多用于实验室接种、划线、培养细菌、分离细菌等&#xff0c;尤其是成膜…

RPC框架知识学习

RPC框架介绍 RPC&#xff08;Remote Procedure Call&#xff0c;远程过程调用&#xff09;框架是一种允许程序调用位于另一台计算机上的程序的技术。这种调用看起来就像是调用本地程序一样&#xff0c;但实际上是通过网络进行的。RPC框架使得分布式系统的开发变得更加简单&…

简单几步把完整的Windows塞进U盘,小白都能看懂

前言 小白之前写过相似的文章&#xff0c;但教程是通过WinPE操作实现的。 把Windows系统装进U盘&#xff0c;从此到哪都有属于你自己的电脑系统 有些小伙伴反馈教程写得很复杂&#xff0c;简直生涩难懂。 为啥要写得这么复杂呢&#xff1f;小白是想让小伙伴们多了解一些不同…

【尚庭公寓SpringBoot + Vue 项目实战】用户管理(十五)

【尚庭公寓SpringBoot Vue 项目实战】用户管理&#xff08;十五&#xff09; 文章目录 【尚庭公寓SpringBoot Vue 项目实战】用户管理&#xff08;十五&#xff09;1、业务介绍2、接口实现2.1、根据条件分页查询用户列表2.2、根据ID更新用户状态 1、业务介绍 用户管理共包含两…

++++++局部变量、全局变量及变量的存储类别++++====+++指针+++

局部变量、全局变量及变量的存储类别 局部变量与全局变量的基本概念 局部变量&#xff1a;在函数内部定义的变量称为局部变量&#xff0c;也称为内部变量。它们只在定义它们的函数内部有效&#xff0c;即只有在这个函数被调用时&#xff0c;局部变量才会被分配内存空间&#x…

从根源解决问题:构建体系化BOM管理机制与解决方案

BOM&#xff08;物料清单&#xff09;是设计与生产间的纽带&#xff0c;其准确及时对企业的竞争力至关重要。然而&#xff0c;维护BOM数据时&#xff0c;常遇到录入错误、信息孤岛及跨部门沟通障碍等难题&#xff0c;直接影响生产效率和成本。为此&#xff0c;道合顺将探讨确保…

「布道师系列文章」宝兰德徐清康解析 Kafka 和 AutoMQ 的监控

作者&#xff5c;北京宝兰德公司解决方案总监徐清康 01 前言 当我们使用一个软件的时候&#xff0c;经常都会问这个软件怎么监控、监控他的哪些指标&#xff1f;Kafka 的监控挺长时间都是一个老大难的问题&#xff0c;社区在监控方面一直没有投入太大的精力。如果要实现一…

MTANet: 多任务注意力网络,用于自动医学图像分割和分类| 文献速递-深度学习结合医疗影像疾病诊断与病灶分割

Title 题目 MTANet: Multi-Task Attention Network for Automatic Medical Image Segmentation and Classification MTANet: 多任务注意力网络&#xff0c;用于自动医学图像分割和分类 01 文献速递介绍 医学图像分割和分类是当前临床实践中的两个关键步骤&#xff0c;其准…