如何在3天内开发一个鸿蒙app

华为鸿蒙操作系统(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.mzph.cn/news/852196.shtml

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

相关文章

【C++取经之路】继承

目录 继承的概念及定义 单继承的格式 继承方式和访问限定符 继承后子类访问基类成员的权限 基类和派生类对象赋值转换 切片 继承中的作用域 引申:重载和隐藏的区别 派生类的默认成员函数 继承与友元 继承与静态成员 如何实现一个不能被继承的类 复杂的…

【Java】解决Java报错:IllegalStateException during HTTP Request

文章目录 引言一、IllegalStateException的定义与概述1. 什么是IllegalStateException?2. IllegalStateException在HTTP请求中的常见触发场景3. 示例代码 二、解决方案1. 确保响应只被提交一次2. 正确管理Servlet的生命周期3. 避免重复访问输入流和输出流4. 使用框架…

HTML静态网页成品作业(HTML+CSS)—— 名人霍金介绍网页(6个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有6个页面。 二、作品演示 三、代…

vscode切换Python解释器

在vscode上切换解析器解决方案: 1、确认自己已经安装了python环境 2、command shift p ,在这里切换即可,见下图: 3、如果状态栏也就是右下角不现实切换操作的话,打开设置:

【六】Linux安装部署Nginx web服务器--及编写服务器启动脚本

一、部署安装nginx 1、查看nginx是否安装依赖包 [rootlocalhost ~]# rpm -q zlib-devel pcre-devel package zlib-devel is not installed package pcre-devel is not installed 2、若没有则安装nginx 依赖包 [rootlocalhost ~]# yum -y install zlib-devel* pcre-dev…

01 Pytorch 基础

paddle不需要放数据到gpu! 区别:1.batch_norlization 不同 2. 1.数据处理 1.取一个数据,以及计算大小 (剩下的工作,取batch,pytorch会自动做好了) 2.模型相关 如何得到结果 3.模型训练/模型…

6月13日 Qtday1

#include "mywidget.h" //腾讯会议的登录界面 MyWidget::MyWidget(QWidget *parent): QMainWindow(parent) {this->setFixedSize(468,830);//主窗口大小this->setStyleSheet("background-color:rgb(255,255,255)");//主窗口背景this->setWindowTi…

Oxlint 会取代 Eslint 吗?

最近,一个基于 Rust 的代码检查工具 Oxlint 在国外前端社区引起了热议,许多专家对其给予了高度评价。那么,相比于它的大哥 Eslint,Oxlint 有哪些优势?它会在未来取代 Eslint 吗?本文将讨论这个话题。 Oxc 和…

现货黄金投资价格怎么分析 低买高卖是核心!

我们做现货黄金投资,总是离不开对黄金价格的分析,分析其实就是一种理性的思考,我们对现货黄金当前走势进行一番思考,进而判断它未来的走向,以此作为自己投资入场的基础。那黄金投资价格怎么分析呢?下面我们…

uniapp开发微信小程序预加载分包

微信小程序分包是一种优化小程序项目结构和性能的方式。它允许开发者将小程序代码包拆分成多个子包,在用户需要时动态加载这些子包,从而减少小程序的首次加载时间和主包的体积。(总体积不得大于20M,主包(共同文件静态资…

Matlab|基于主从博弈的智能小区代理商定价策略及电动汽车充电管理

目录 一、主要内容 二、部分代码 三、程序结果 四、下载链接 一、主要内容 主要做的是一个电动汽车充电管理和智能小区代理商动态定价的问题,将代理商和车主各自追求利益最大化建模为主从博弈,上层以代理商的充电电价作为优化变量,下层以…

Java I/O模型

引言 根据冯.诺依曼结构,计算机结构分为5个部分:运算器、控制器、存储器、输入设备、输出设备。 输入设备和输出设备都属于外部设备。网卡、硬盘这种既可以属于输入设备,也可以属于输出设备。 从计算机结构的视角来看,I/O描述了…

在 Kubernetes 上拉取 Harbor 私有仓库镜像并部署服务

上一篇讲解了IntelliJ IDEA和Jib Maven插件配合,镜像一键推送到Harbor私服仓库,今天来讲解下怎么让k8s直接拉取Harbor 私有仓库上面的镜像 创建 Kubernetes Secret 用于拉取镜像 因为 Harbor 仓库是私有的,我们需要创建一个 Kubernetes Sec…

JavaScript面向对象

一、编程思想 面向过程介绍 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些一步一步实现,使用的时候再一个一个依次调用就可以了。 面向过程,就是按照我们分析好了的步骤,按照步骤解决问题。 面向对象编程&#xf…

阻抗控制(Impedance Control)和导纳控制(Admittance Control)例子

阻抗控制(Impedance Control)和导纳控制(Admittance Control) 是两种用于机械臂或机器人交互控制的策略。阻抗控制定义的是机器人端部的力和位置之间的关系,而导纳控制则定义的是外力和运动之间的关系。导纳控制常用于处理机器人与环境交互中的力控制问题。 适用场景对比…

185.二叉树:二叉搜索树的最近公共祖先(力扣)

代码解决 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/class Solution { public:// 函数用于寻找二叉搜索树中节点 p 和 q 的最低…

Honor of Kings 2024.06.13 (2)

【第一局】准确的说,其实对面优势更加明显,可惜黄忠和墨子喜欢杀人,而我又是不喜欢杀人的,打了好几次失误 【第二局】阵容本来很有优势,这个二呆射手跟第一局黄忠一样爱杀人,应该说三路的输出都爱杀人&…

小主机折腾记26

双独立显卡调用问题 前两天将tesla p4从x99大板上拆了下来,将880G5twr上的rx480 4g安装到了x99大板上,预计是dg1输出,rx480做3d运算。安装完驱动后,还想着按照之前tesla p4的设置方法去设置rx480,结果果然&#xff0c…

Serverless 使用OOS将http文件转存到对象存储

目录 背景介绍 系统运维管理OOS 文件转存场景 前提条件 实践步骤 附录 示例模板 背景介绍 系统运维管理OOS 系统运维管理OOS(CloudOps Orchestration Service)提供了一个高度灵活和强大的解决方案,通过精巧地编排阿里云提供的OpenAPI…

AcWing 477:神经网络 ← 拓扑排序+链式前向星

【题目来源】https://www.acwing.com/problem/content/479/【题目描述】 人工神经网络(Artificial Neural Network)是一种新兴的具有自我学习能力的计算系统,在模式识别、函数逼近及贷款风险评估等诸多领域有广泛的应用。 对神经网络的研究…