鸿蒙(HarmonyOS)ArkTs语言基础教程开发准备

news2024/11/28 10:36:49

本文档适用于HarmonyOS应用开发的初学者。通过构建一个简单的具有页面跳转/返回功能的应用(如下图所示),快速了解工程目录的主要文件,熟悉HarmonyOS应用开发流程。

在开始之前,您需要了解有关HarmonyOS应用的一些基本概念:UI框架的简单说明、应用模型的基本概念。

基本概念

UI框架

HarmonyOS提供了一套UI开发框架,即方舟开发框架(ArkUI框架)。方舟开发框架可为开发者提供应用UI开发所必需的能力,比如多种组件、布局计算、动画能力、UI交互、绘制等。

方舟开发框架针对不同目的和技术背景的开发者提供了两种开发范式,分别是基于ArkTS的声明式开发范式(简称“声明式开发范式”)和兼容JS的类Web开发范式(简称“类Web开发范式”)。以下是两种开发范式的简单对比。

开发范式名称

语言生态

UI更新方式

适用场景

适用人群

声明式开发范式

ArkTS语言

数据驱动更新

复杂度较大、团队合作度较高的程序

移动系统应用开发人员、系统应用开发人员

类Web开发范式

JS语言

数据驱动更新

界面较为简单的程序应用和卡片

Web前端开发人员

更多UI框架的开发内容及指导,详见UI开发。

应用模型

应用模型是HarmonyOS为开发者提供的应用程序所需能力的抽象提炼,它提供了应用程序必备的组件和运行机制。有了应用模型,开发者可以基于一套统一的模型进行应用开发,使应用开发更简单、高效。请见应用模型的构成要素。

随着系统的演进发展,HarmonyOS先后提供了两种应用模型:

  • FA(Feature Ability)模型: HarmonyOS API 7开始支持的模型,已经不再主推。FA模型开发可见FA模型开发概述。
  • Stage模型: HarmonyOS API 9开始新增的模型,是目前主推且会长期演进的模型。在该模型中,由于提供了AbilityStage、WindowStage等类作为应用组件和Window窗口的“舞台”,因此称这种应用模型为Stage模型。Stage模型开发可见Stage模型开发概述。

FA模型和Stage模型的整体架构和设计思想等更多区别,请见应用模型解读。

快速入门提供了一个含有两个页面的开发实例,并使用了不同的开发语言或不同的应用模型进行开发,以便开发者理解以上基本概念及应用开发流程。

工具准备

  1. 安装最新版DevEco Studio。

  2. 请参考配置开发环境,完成DevEco Studio的安装和开发环境配置。

完成上述操作及基本概念的理解后,可参照构建第一个ArkTS应用(Stage模型)、构建第一个ArkTS应用(FA模型)、构建第一个JS应用(FA模型)中的任一章节进行下一步体验和学习。

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

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

相关文章

Intel FPGA (4):状态机

Intel FPGA (4):状态机 前提摘要 个人说明: 限于时间紧迫以及作者水平有限,本文错误、疏漏之处恐不在少数,恳请读者批评指正。意见请留言或者发送邮件至:“Email:noahpanzzzgmail.com”。本博客的工程文件均存放在&am…

学习Linux推荐的书籍

我记得有人曾经说过,征服一个男人最好的途径就是抓住他的胃。 ‍‍‍‍ 学习Linux,最重要的就是要先搞懂Linux是啥,有啥,为啥?‍‍‍‍‍‍‍‍‍‍‍‍‍ 所以,我推荐的第一本书就是-《Unix编程艺术》。…

力扣热题100_链表_142_环形链表 II

文章目录 题目链接解题思路解题代码 题目链接 142. 环形链表 II 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中…

深度学习_NLP常用库报错问题解决

1、SpaCy can‘t find model ‘zh_core_web_sm‘. It doesn‘t seem to be a python package or a valid path to a data 或者 can‘t find model ‘en_core_web_sm‘. It doesn‘t seem to be a python package or a valid path to a data 安装最新的版本: en_…

PE 系统收集 (下一次何至于慌忙乱)

简介 介绍一些PE系统, 还有就是多种烧录PE到U盘方式。 PE 1. Hikari PE Hikari PE 官网说明 当电脑无法制作启动盘时可以使用Android收集制作

家庭网络防御系统搭建-配置流量镜像到NDR系统

由于需要将家庭网络中的全部流量送到NDR分析系统进行分析,因此需要一个具备流量镜像功能的交换机或者路由器。在前面文章所提及的家庭网络架构中,需要一台交换机即可拷贝东西向流量以及南北向流量。当然如果家庭中的路由器或者其他设备具备交换机镜像功能…

OpenCV 4.9使用通用内部函数对代码进行矢量化

返回:OpenCV系列文章目录(持续更新中......) 上一篇:OpenCV使用通用内部函数对代码进行矢量化 下一篇:OpenCV系列文章目录(持续更新中......) ​ 目标 本教程的目标是提供使用通用内部函数功…

VSCode必备插件,创建运行JS、Html

这里介绍如何用vscode来创建一下.js文件和.html文件,然后正确的运行他们 一、首先安装两个插件 第一个插件 open in browser (就是我们运行.html文件,把html通过浏览器给它打开) 第二个插件 Code Runner (就是我们运行.js文件,就是直接运行.js文件…

咪咕打造体育元宇宙

9月23日20点,第19届亚运会在杭州开幕。主火炬点燃环节,超过1亿的「数字火炬手」汇聚成具象的数字火炬手,从钱塘江踏着浪花一步步来到「大莲花」上空,和线下的六棒火炬手共同点燃主火炬。 云上观众通过咪咕视频的AR交互界面&#…

Oracle+11g+笔记(1)-SQL语言基础

Oracle11g笔记(1)-SQL语言基础 1、SQL语言基础 1.1 SQL语言的功能 数据定义功能:DDL(CREATE、DROP、ALERT)。 数据查询功能:DQL(Select)。 数据操作功能:DML(INDERT、UPDATE、DELETE)。 数据控制功能:DCL(GRANT、REVOKE、COM…

基于SSM的校园订餐系统

一、功能实现 前台模块 前台主要功能有:用户注册、用户登录、我的购物车、我的订单、商品评论、校园资讯后台模块 后台主要功能有:用户管理、商品管理、订单管理、评论管理、资讯管理等 二、技术选型 2.1 后台技术选型 SpringBoot(Spring、SpringMVC…

ssm015基于java的健身房管理系统的设计与实现+vue

健身房管理系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本健身房管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间…

win11下,RTMP流媒体服务器保姆级教程

本片博客将详细介绍如何搭建一个RTMP流媒体服务器,包含源码下载,编译常见问题解决方法以及流媒体测试,最后讲解了如何利用obs软件实现推流。 服务器:SRS 3.0(Simple Realtime Server,支持RTMP、HTTP-FLV、HLS、WebRTC) 推流端&…

蓝桥杯刷题day13——自助餐【算法赛】

一、问题描述 食堂最近推出了自助取餐功能,可以通过盘子的形状自动计算费用。你参与到自助计算价格的项目工作中。视觉组的同学已经帮你通过图像识别把盘子图片转换为了字符串,你只需要计算具体的价格即可。 餐盘的费用如下表所示: 你将会得到n 个字符…

【css】文本过长溢出一行不换行普通css以及antd实现

.text-box { white-space: nowrap; /* 防止文字换行 */ overflow: hidden; /* 隐藏超出div的内容 */ text-overflow: ellipsis; /* 当内容超出时,显示省略号 */ max-width: calc(100% - 80px); /* 假设按钮宽度为80px,则设置div的最大宽度为容器宽度…

强化基础-Java-集合

这块的知识点比较零碎也是看到了就过来记录一点,可能是之前没有特别注意的,会持续补充 集合 1 通用实现 ListSetSortedSet(如果表达是有序的,返回签名使用有序set来表达)NavigableSet(since 1.6)Queue (since 1.5)Deque(since …

2024 年最值得阅读的 ChatGPT 书籍

自ChatGPT问市以来,其全球风靡之势标志着生成式人工智能新纪元的到来。尽管在ChatGPT之前,大型语言模型(LLM)已存在,但其便捷访问和用户友好界面无疑将LLM的应用推向了新高度。至2024年,ChatGPT持续作为热门话题,本文旨…

Qt加载.css/.qss文件设置控件的QSS样式(支持程序运行时修改且立即生效类似换肤效果)

初学Qt时要想通过QSS修改控件QWidget,QPushButton等原生基础控件的样式,一般都是直接在.ui文件中直接添加qss,或者在代码中通过setStyleSheet(QString qss)来设置。当程序很大时,很多地方需要复用样式时会非常麻烦,qss…

CCIE-12-IPSec-VPN-RemoteAccess

目录 实验条件网络拓朴实验目的 开始配置1. R2 Ping R3确定基础网络是通的2. 配置R23. 配置R53. 验证 实验条件 网络拓朴 实验目的 为R2和R3建立IPSec VPN R4可以ping通R5 开始配置 R2:模拟需要远程访问网络的网关 R4:模拟需要远程访问网络内的目标主…

问题2-前端json数组数据转换成csv文件

代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>将 JSON 数据导出为 CSV 文件</title> …