如何快速开发一个鸿蒙原生app

news/2024/10/1 17:42:02
华为鸿蒙操作系统(HarmonyOS)自2.0版本正式上线以来,在短时间内就部署超过了2亿台设备,纵观全球操作系统的发展史,也是十分罕见的。与其他手机操作系统不同,HarmonyOS自诞生之日起,就是一款面向多设备、分布式的万物互联操作系统。“1+8+N”是HarmonyOS打造的全场景战略,其中,“1”是智能手机,“8”是指大屏、音箱、眼镜、手表、车机、耳机、平板电脑和PC“八大行星”。
 
围绕着关键的八大行星,周边还有合作伙伴开发的N个“卫星”,指的是移动办公、智能家居、运动健康、影音娱乐及智能出行等板块的延伸业务。
 
一个典型鸿蒙应用的产品设计,必然要包含鸿蒙应用的特色。既然鸿蒙操作系统主张万物互联,那么配合HarmonyOS独立操作系统的推进,咱们开发的鸿蒙App肯定不能像andriod app一样,还是要多联动鸿蒙操作系统上的流量入口,方能对于后续的业务规划起到更好的拓展作用。一些创新的点包括:
  • 多设备支持,即手机、平板、手表甚至是智汇屏都可以支持
  • 分布式数据或文件能力,不同设备中的同一款应用数据应该是实时同步的,且不完全需要后台服务即可实现
  • 支持卡片功能
  • 支持应用流转
  • 支持原子化服务

开发鸿蒙原生App的两种主流方式

1、请鸿蒙原生开发工程师,用鸿蒙ArkTS语言重新写一遍
我们可以看到鸿蒙官方的开发者文档上,有很详细的开发教程及文档,其中划重点的是,其技术语言为ArkTS语言(直接区别于IOS和Andriod的开发语言)。
这个办法是最完美的开发方式,但也是最慢的开发方式。如果按照鸿蒙原生开发的“套路”去一步步开发鸿蒙版App,就好比中国人学外语一般,开发者还得从0开始学习新的技术语言(ArkTS语言),可能时间窗口就错过了...
 
2、混合App开发思路
混合app开发框架是指能够同时支持原生开发和Web开发的框架,它可以将原生应用和Web应用的优势结合起来,为开发者提供更高效、更便捷的开发体验。
混合app开发框架的概念最早可以追溯到2009年,当时PhoneGap(现为Cordova)框架的发布标志着混合app开发的开始。PhoneGap允许开发者使用HTML、CSS和JavaScript来开发跨平台的移动应用,并通过插件来访问原生设备功能。随后,混合app开发框架得到了快速发展,涌现出了许多流行的框架,如Ionic、React Native、Xamarin等。2016年至今,混合app开发框架趋于成熟,并开始向更细分的方向发展。
 
有了混合开发框架和技术实践下,让”一端开发,多端部署“的概念执行成为可能。
 
混合app开发框架通常采用以下两种技术原理:
  • WebView使用WebView控件将Web页面嵌入到原生应用中,从而实现跨平台开发。
  • JavaScript桥提供JavaScript与原生代码之间的通信桥梁,使得Web代码可以访问原生设备功能。
特性包括以下四点:
  • 跨平台开发使用一套代码可以开发Android、iOS等多个平台的应用。
  • 快速开发提供丰富的UI组件和API,可以快速构建应用原型。
  • 性能优化通过各种技术手段提升应用性能。
  • 原生功能支持可以访问原生设备功能,提供更好的用户体验。
 

兼顾跨操作系统 & 跨智能终端的快速应用开发模式

开发应用要快速的话,还有一个隐藏的前提条件就是:面向业务应用场景可以复用,毕竟现在市场需求日新月异,业务流程线上化基本不会做大的调增,新功能的研发面向市场,也希望能够在短周期内能够在全端(至少是手机端的用户全网发放)。但众所周知,如果用操作系统原生语法开发,就会出现研发团队需要维护三套代码,哪怕修改一个功能,也需要三端共同改造,及其麻烦。
小程序技术或者HTML5技术天然的跨端,以及受益于微信小程序生态近几年来的蓬勃发展,小程序应用场景复用且通过“小程序转换工具”(小程序容器技术,如FinClip;或跨端框架,如Flutter、Weex等),将已有微信小程序一键转换成App,并进行用户活跃和留存,加上社交平台应用作为引流,企业可谓低成本(只需有小程序)的将业务覆盖用户整个生命周期,具了解,凡是小程序容器技术,都有将自己SDK适配鸿蒙操作系统的计划(或者说已经适配了)。
 

3天内开发一个鸿蒙App?

近期在研究FinClip的免费“小程序转换App”工具,结合他们新推出的鸿蒙SDK,发现还挺好用,大致步骤如下:
  1. 上传小程序代码包:如果已经有微信小程序应用,那么下载一下他们家的FinClip Studio(IDE开发工具)进行简单的转换。
  2. 使用微信登录插件:已经预先调试好的微信登录插件,非常方便,能够在转好的App中,通过一个中间转换的小程序调起微信登录接口,快速跑通业务。
  3. 生成App前必要的配置:如App图标、启动闪屏、权限配置等
  4. 生成App配置一下对应IOS或Andriod的证书,然后「一键」生成App
实操下来,这个工具还是挺方便的。当然,其他跨端转换框架应该也是操作便捷,感兴趣的同学都可以试试。
 
将小程序转换为App,如果小程序容器技术支持鸿蒙NEXT版本,那么,使用已有小程序+转换App的功能,便能快速开发出一套适配兼容鸿蒙NEXT操作系统的App。
 
 小程序转鸿蒙原生app的创新开发方式,为开发者提供了快速、便捷的开发途径,助力开发者高效地将小程序业务迁移至鸿蒙生态,同时也为用户提供了更加丰富、流畅的应用体验。展望未来,随着技术的不断发展和完善,相信将会有更多创新的开发模式涌现,为开发者和用户带来更加便利、高效的开发和使用体验。

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

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

相关文章

远程服务器不能复制粘贴解决方法

主要有两种情况: 1、复制粘贴功能原本可以用,突然失灵了 2、从头到尾都无法使用这个复制粘贴功能针对第一种情况,只需重启一下rdpclip.exe就可以了针对第二种情况,步骤: 1、打开任务管理器,查看进程,如果有 rdpclip.exe (有可能是 RDP剪贴板监视程序)进程,先关闭该进…

Lets Encrypt续费证书异常报错解决

Lets Encrypt续费证书异常报错解决 在续费免费证书时出现错误,这里小记一下。 现象#certbot certonly --webroot -w /usr/share/nginx/html -d gh.wqyfchina.com Saving debug log to /var/log/letsencrypt/letsencrypt.log Requesting a certificate for gh.wqyfchina.comCer…

RevitServer 2018安装教程

1.服务器系统必备环境安装 在“.NET Framework 功能”窗格中,选中“TCP 端口共享”、“HTTP 激活”、“TCP 激活”和“Web 服务器 (IIS) 支持”等复选框。在“Web 服务器角色 (IIS) - 角色服务”窗格上展开“应用程序开发”并选择“ASP”、“CGI”。“在服务器端的包含文件”展…

【Miro】Miro入门(指的是我这篇随笔写得很入门)

Miro入门 参考:Miro API入門 创建APPhttps://miro.com/app/dashboard/ → 右上角头像 →「Settings」→「Your apps」→「Create new app」会提示需要创建Team(如果本来没有加到Team中去应该创建完账号可以自己创建Team)创建Team默认为「Dev team」填写「App Name」,其中「…

PDF怎么取消密码设置?2个免费方法值得试试

PDF怎么取消密码设置?出于安全的考虑,现在很多pdf文档在传发前,都会加上一层密码,想要打开文件查看,必须要先输入正确的密码。但是每次我们在查看同一个文件的时候,都要输入密码又过于麻烦,有密码的pdf文件怎么设置成普通文件?pdf密码怎么解除?下面这2个解密方法,小伙…

基于 Nginx Ingress + 云效 AppStack 实现灰度发布

灰度发布是降低生产部署风险,提升线上服务稳定性的重要手段,这在当前快速迭代的软件研发中尤为重要。相对于 K8s 默认的滚动部署或者简单的 Pod 分批,基于流量特征的灰度发布验证更精准,风险更低。作者:子丑 场景简介 灰度发布是降低生产部署风险,提升线上服务稳定性的重…

机器学习策略篇:详解清除标注错误的数据(Cleaning up Incorrectly labeled data)

清除标注错误的数据 监督学习问题的数据由输入\(x\)和输出标签 \(y\) 构成,如果观察一下的数据,并发现有些输出标签 \(y\) 是错的。的数据有些标签是错的,是否值得花时间去修正这些标签呢?看看在猫分类问题中,图片是猫,\(y=1\);不是猫,\(y=0\)。所以假设看了一些数据样…

C#如何查看/写入日志到Windows事件查看器

Windows事件日志 Windows 操作系统将与计算机的系统性能、应用程序和安全方面相关的每个事件记录在 C:\WINDOWS\system32\winevt 的日志中。 事件查看器从这些原始事件日志中读取信息,然后以可读格式呈现信息。 打开Windows事件查看器的方法是 1、运行输入eventvwr 2、Windows…