HarmonyOS应用开发前景及使用工具

HarmonyOS应用开发001

文章目录

  • 前言
  • 前景
  • 一、技术特性
  • 二、使用工具
    • 1.项目目录结构


前言

学习之前,需要有一定的开发基础(如:java、c#、c++、WEB前端的一些了解)。
HarmonyOS开发使用的ArkTS,ArkTS是在TS的基础之上进行封装的,而TS是由JS进行封装起来的,因此需要先熟悉thml,CSS,JS等相关知识。


前景

	自HarmonyOS 4.0发布会后,各大厂一开始着手准备“纯血鸿蒙版”开发工作。随着鸿蒙原生应用开发的日益兴盛,对鸿蒙开发人才的需求呈现井喷式增长。随着鸿蒙用户基数的持续扩大,众多关键应用和平台开始针对性地进行鸿蒙原生适配与开发。因此,各家企业纷纷抛出橄榄枝,热招鸿蒙相关技术人才,昭示着鸿蒙开发者的黄金时代已然来临。浏览各大招聘网站,输入关键词“鸿蒙工程师”,便会发现百度、京东等知名互联网企业正积极招聘鸿蒙开发人才。百度公司开出的HarmonyOS开发工程师月薪区间可达20-40k,全年16薪;京东则为鸿蒙方向的前端架构师提供40-70k的丰厚待遇,而鸿蒙架构师的薪资更是令人艳羡,达到了60-90k的年薪,且同样是16薪制。更令人瞩目的是,华为对资深鸿蒙OS架构师的年薪设定在了百万级别,最高可达160万元。还有鸿蒙系统是国家支持的系统,后面也不会对自家的系统进行打压行为。面临的挑战:经过十多年的发展,传统移动互联网的增长红利已渐见顶。万物互联时代正在开启,应用的设备底座将从几十亿手机扩展到数百亿 IoT 设备。GSMA预测到2025年,全球物联网终端连接数量将达246亿个,其中消费物联网终端连接数量将达110亿个(`注:数据来自于全球移动通信系统协会发布的《2020年移动经济》报告)。IDC预计到2025年,中国物联网总连接量将达到102.7亿个(注:数据来自于IDC发布的《中国物联网连接规模预测,2020—2025》报告)。全新的全场景设备体验,正深入改变消费者的使用习惯。同时应用开发者也面临设备底座从手机单设备到全场景多设备的转变,通过全场景多设备作为全新的底座,为消费者带来万物互联时代更为高效、便捷的体验。新的场景同时也带来了新的挑战。开发者不仅需要支持更加多样化的设备,还需要支持跨设备的协作。不同设备类型意味着不同的传感器能力、硬件能力、屏幕尺寸、操作系统和开发语言,还意味着差异化的交互方式。同时跨设备协作也让开发者面临分布式开发带来的各种复杂性,例如跨设备的网络通信、数据同步等。若采取传统开发模式,适配和管理工作量将非常巨大。当前移动应用开发中遇到的主要挑战包括:1.针对不同设备上的不同操作系统,重复开发,维护多套版本。2.多种语言栈,对人员技能要求高。多种开发框架,不同的编程范式。3.命令式编程,需关注细节,变更频繁,维护成本高。鸿蒙系统基于此应用而生。

一、技术特性

	1.硬件互助,资源共享 :多种设备之间能够实现硬件互助、资源共享,依赖的关键技术包括分布式软总线、分布式设备虚拟化、分布式数据管理、分布式任务调度等。2. 一次开发,多端部署: HarmonyOS 提供了用户程序框架、Ability 框架以及 UI 框架,支持应用开发过程中多终端的业务逻辑和界面逻辑进行复用,能够实现应用的一次开发、多端部署,提升了跨设备应用的开发效率。3. 统一 OS,弹性部署:HarmonyOS 通过组件化和小型化等设计方法,支持多种终端设备按需弹性部署,能够适配不同类别的硬件资源和功能需求。支撑通过编译链关系去自动生成组件化的依赖关系,形成组件树依赖图,支撑产品系统的便捷开发,降低硬件设备的开发门槛。

二、使用工具

1、安装工具:下载安装DevEco Studio
2.   [官网](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/arkts-get-started-0000001504769321-V2)

1.项目目录结构

代码如下(示例):

AppScope 中存放应用全局所需要的资源文件。
entry 是应用的主模块,存放 HarmonyOS 应用的代码、资源等。
oh_modules 是工程的依赖包,存放工程依赖的源文件。
build-profile.json5 是工程级配置信息,包括签名、产品配置等。
hvigorfile.ts 是工程级编译构建任务脚本,hvigor是基于任务管理机制实现的一款全新的自动化构建工
具,主要提供任务注册编排,工程模型管理、配置管理等核心能力。
oh-package.json5是工程级依赖配置文件,用于记录引入包的配置信息。
在 AppScope,其中有 resources 文件夹和配置文件app.json5。AppScope > resources > base中包含
element 和media 两个文件夹,
其中 element 文件夹主要存放公共的字符串、布局文件等资源。
media 存放全局公共的多媒体资源文件
entry 主模块目录含义:main 文件夹中,ets 文件夹用于存放 ets 代码,resources 文件存放模块内的多媒体及布局文件等,module.json5文件为模块的配置文件。 包含当前模块的配置信息ohosTest 是单元测试目录。build-profile.json5 是模块级配置信息,包括编译构建配置项。hvigorfile.ts 文件是模块级构建脚本。oh-package.json5 是模块级依赖配置信息文件。进入src > main > ets目录中,其分为 entryability、pages 两个文件夹。entryability 存放 ability 文件,用于当前 ability 应用逻辑和生命周期管理。pages 存放 UI 界面相关代码文件,初始会生成一个 Index 页面。#配置跳转路径位置
src/main/resources/base/profile/main_pages.json 文件保存的是页面page的路径配置信息,所有
需要进行路由跳转的page页面都要在这里进行配置。

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

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

相关文章

外科休克病人的护理

一、引言 休克是外科常见的危急重症之一,它是由于机体遭受强烈的致病因素侵袭后,有效循环血量锐减、组织灌注不足所引起的以微循环障碍、细胞代谢紊乱和器官功能受损为特征的综合征。对于外科休克病人的护理,至关重要。 二、休克的分类 外科休克主要分为低血容量性休克(包括…

VMware Workstation 虚拟机网络配置为与主机使用同一网络

要将 VMware Workstation 虚拟机网络配置为与主机使用同一网络,我们需要将虚拟机的网络适配器设置为桥接模式。具体步骤如下: 配置 VMware Workstation 虚拟机网络为桥接模式 打开 VMware Workstation: 启动 VMware Workstation。 选择虚拟机…

博客网站目录网址导航自适应主题php源码

开源免费 博客屋网址导航自适应主题php源码v1.0是一款免费开源的PHP分类导航建站程序,源代码公开且无任何加密代码、安全有保障、无后门隐患。 系统稳定 内核安全稳定、PHPMYSQL/Sqlite架构、跨平台运行;版本自带ico接口集成,添加网站时,可自…

PostGIS2.4服务器编译安装

PostGIS的最新版本已经到3.5,但是还有一些国产数据库内核使用的旧版本的PostgreSQL,支持PostGIS2.4。但PostGIS2.4的版本已经在yum中找不到了,安装只能通过本地编译的方式。这里介绍一下如何在Centos7的系统上,编译部署PostGIS2.4…

实验场:在几分钟内使用 Bedrock Anthropic Models 和 Elasticsearch 进行 RAG 实验

作者:来自 Elastic Joe McElroy, Aditya Tripathi 我们最近发布了 Elasticsearch Playground,这是一个新的低代码界面,开发人员可以通过 A/B 测试 LLM、调整提示(prompt)和分块数据来迭代和构建生产 RAG 应用程序。今天…

Web3学习路线图,从入门到精通

前面我们聊了Web3的知识图谱,内容是相当的翔实,要从哪里入手可以快速的入门Web3,本篇就带你看看Web3的学习路线图,一步一步深入学习Web3。 这张图展示了Web3学习路线图,涵盖了区块链基础知识、开发方向、应用开发等内…

桥接模式案例

桥接模式(Bridge Pattern)是一种结构型设计模式,它将抽象部分与实现部分分离,使它们可以独立变化。桥接模式通过创 建一个桥接接口,将抽象部分和实现部分连接起来,从而实现两者的解耦。下面是一个详细的桥接…

接上一回C++:补继承漏洞+多态原理(带图详解)

引子:接上一回我们讲了继承的分类与六大默认函数,其实继承中的菱形继承是有一个大坑的,我们也要进入多态的学习了。 注意:我学会了,但是讲述上可能有一些不足,希望大家多多包涵 继承复习: 1&…

windows环境下基于3DSlicer 源代码编译搭建工程开发环境详细操作过程和中间关键错误解决方法说明

说明: 该文档适用于  首次/重新 搭建3D-Slicer工程环境  Clean up(非增量) 编译生成 1. 3D-slicer 软件介绍 (1)3D Slicer为处理MRI\CT等图像数据软件,可以实行基于MRI图像数据的目标分割、标记测量、坐标变换及三维重建等功能,其源于3D slicer 4.13.0-2022-01-19开…

duplicate key value violates unique constraint

duplicate key value violates unique constraint 遇到的问题 你在尝试向数据库表 goods 插入新记录时,收到了 duplicate key value violates unique constraint 的错误。尽管你确认数据库中没有与尝试插入的 id 相同的记录,但错误依旧存在。进一步的调…

OS Copilot测评

1.按照第一步管理重置密码时报错了,搞不懂为啥?本来应该跳转到给的那个实例的,我的没跳过去 2.下一步重置密码的很丝滑没问题 3安全组新增入库22没问题 很方便清晰 4.AccessKey 还能进行预警提示 5.远程连接,网速还是很快,一点没卡,下载很棒 6.替换的时候我没有替换<>括…

【JavaEE】网络编程——UDP

&#x1f921;&#x1f921;&#x1f921;个人主页&#x1f921;&#x1f921;&#x1f921; &#x1f921;&#x1f921;&#x1f921;JavaEE专栏&#x1f921;&#x1f921;&#x1f921; 文章目录 1.数据报套接字(UDP)1.1特点1.2编码1.2.1DatagramSocket1.2.2DatagramPacket…

数据建设实践之数据规范

目录 一、命名规范 1.业务系统简称规范 2.数据源简称规范 3.数仓分层规范 4.业务板块简称规范 4.数据域简称规范 5.数据域简称规范 6.业务过程简称规范 7.表名规范 通用规范&#xff1a; 二、字段规范 1.Hive表字段类型规范 2.CK表字段类型规范 3.字段默认值规范 …

Spring Cloud Alibaba AI 介绍及使用

一、Spring Cloud Alibaba AI 介绍 Spring AI 是 Spring 官方社区项目&#xff0c;旨在简化 Java AI 应用程序开发&#xff0c;让 Java 开发者像使用 Spring 开发普通应用一样开发 AI 应用。而 Spring Cloud Alibaba AI 是阿里以 Spring AI 为基础&#xff0c;并在此基础上提供…

dive deeper into tensor:从底层开始学习tensor

inspired by karpathy/micrograd: A tiny scalar-valued autograd engine and a neural net library on top of it with PyTorch-like API (github.com)and Taking PyTorch for Granted | wh (nrehiew.github.io). 这属于karpathy的karpathy/nn-zero-to-hero: Neural Networks…

阐述 C 语言中的参数传递机制

&#x1f345;关注博主&#x1f397;️ 带你畅游技术世界&#xff0c;不错过每一次成长机会&#xff01; &#x1f4d9;C 语言百万年薪修炼课程 通俗易懂&#xff0c;深入浅出&#xff0c;匠心打磨&#xff0c;死磕细节&#xff0c;6年迭代&#xff0c;看过的人都说好。 文章目…

多表查询sql

概述&#xff1a;项目开发中,在进行数据库表结构设计时,会根据业务需求及业务模块之间的关系,分析并设计表结构,由于业务之间相互关联,所以各个表结构之间也存在着各种联系&#xff0c;分为三种&#xff1a; 一对多多对多一对一 一、多表关系 一对多 案例&#xff1a;部门与…

【PowerShell】-1-快速熟悉并使用PowerShell

目录 PowerShell是什么&#xff1f;和CMD的区别&#xff1f; PowerShell的演变 自动化IT管理任务 一些名词 详尽的PowerShell开始之路 1.打开PowerShell&#xff1a; 2.基本命令&#xff1a; &#xff08;1&#xff09;Get-Process &#xff08;2&#xff09;变量赋值…

ubuntu系统下使用gelsight

一、背景 创建 conda create -n gelsight python3.8 conda activate gelsight cd GelSight/gsrobotics-main/demos/marker_tracking/ python3 mean_shift_marker_tracking.py ModuleNotFoundError: No module named ‘numpy’ pip3 install numpy ModuleNotFoundError: N…

【核心笔记】Java入门到起飞,小白都能看懂的Java教程 (五)——数组

一 数组的定义和初始化 定义数组 数据类型[] 数组名&#xff1b;例 int[] arr; 数据类型 数组名[]&#xff1b;例 int arr[]; 数组初始化 数据类型[] 数组名 new 数据类型[] {值}&#xff1b;例 int[] arr new int[] {1,2,3}; &#xff08;简化形式&#xff09;数据类型[] 数…