【鸿蒙4.0】详解harmonyos开发语言ArkTS

news2024/9/22 17:37:10

文章目录

  • 一.什么是ArkTS?
    • 1.ArkTS的背景
    • 2.了解js,ts,ArkTS的演变
      • js(Javascript)
        • Javascript的简介
        • Javascript的特点
      • ts(Typescript)
      • ArkTS
  • 二. ArkTS的特点

一.什么是ArkTS?

1.ArkTS的背景

如官方文档所描述,ArkTS是基于Javascript以及Typescript的生态上做了进一步的扩展,进一步的提高开发效率,使用过低代码开发的老师应该会有一种感觉ArkTS像低代码一样更简洁,几行代码就能实现一个功能。以开发者的角度肯定是越简洁越好。下面来浅浅的了解一下js,ts以及ArkTS。

2.了解js,ts,ArkTS的演变

js(Javascript)

Javascript的简介

js使用来让html页面动起来的,主打的一个交互。

Javascript的特点
  • Javascript是一种解释型编程语言,他不需要编译。
  • Javascript是弱类型的,就是这个变量没有一开始声明时就规定他是什么类型。这也是他和ts最明显的不同点。
  • Javascript是跨平台性的,这个很好理解就是在什么系统上的电脑上都能开发。
  • Javascript是动态的,他可以通过事件驱动来改变一个变量的值,比如最常见的点击事件。
  • Javascript是可以操作对象的,比如操作dom对象以及创建一个对象啥的。
  • 但是Javascript开发起来效率很低,因为代码相对繁琐,每个功能都需要获取元素的dom,改变dom值

ts(Typescript)

Typescript相比于Javascript在声明变量时严格规定了变量的类型,它是在编译的时候直接提示错误。Typescript支持类、接口、继承等面向对象编程的特性,使得代码结构更清晰、可读性更高

ArkTS

ArkTS在TS上做了如下扩展:
基础语法:ArkTS定义了声明式UI描述、自定义组件和动态扩展UI元素的能力,再配合ArkUI开发框架中的系统组件及其相关的事件方法、属性方法等共同构成了UI开发的主体。
状态管理:ArkTS提供了多维度的状态管理机制。在UI开发框架中,与UI相关联的数据可以在组件内使用,也可以在不同组件层级间传递,比如父子组件之间、爷孙组件之间,还可以在应用全局范围内传递或跨设备传递。另外,从数据的传递形式来看,可分为只读的单向传递和可变更的双向传递。开发者可以灵活地利用这些能力来实现数据和UI的联动。
渲染控制:ArkTS提供了渲染控制的能力。条件渲染可根据应用的不同状态,渲染对应状态下的UI内容。循环渲染可从数据源中迭代获取数据,并在每次迭代过程中创建相应的组件。数据懒加载从数据源中按需迭代数据,并在每次迭代过程中创建相应的组件。

二. ArkTS的特点

  • 运用了ts声明变量的方式更严谨
  • 运用了装饰器的方式定义自定义组件类型。组件式开发
  • 页面里面应用了声明式Ui,可以直接调用方法的形式进行页面布局。利用组件属性方法直接可以改变样式。页面逻辑更强。代码模块化。
  • 他也可以组件之间动态传值。以及变量和页面之间的双向绑定。
  • 另外还应用了class类去封装一些变量,开发效率更高。
  • 相比于其他前端框架它实现了跨多平台,可以在预览器运行,在模拟器运行,在实际手机,手表上运行。

ArkUI开发框架

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

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

相关文章

Android Matrix绘制PaintDrawable设置BitmapShader,手指触点为圆心scale放大原图,Kotlin(二)

Android Matrix绘制PaintDrawable设置BitmapShader,手指触点为圆心scale放大原图,Kotlin(二) 在 Android Matrix绘制PaintDrawable设置BitmapShader,手指触点为圆心scale放大原图,Kotlin-CSDN博客 基础上&…

esp32-cam 视频查看教程

一、环境配置 查看以前教程 环境配置 建议使用1.0.6 二、安装基于esp32 cam的代码 资料地址: https://pan.baidu.com/s/1Y9-rLLmAKPYzBDcrEyuGMw 提取码:2022 下载后打开文件下的程序 下载程序 三、获取视频url 在arduino 看不到串口打印的信息&a…

Android studio 简单登录APP设计

一、登录界面: 二、xml布局设计: <LinearLayoutandroid:id="@+id/linearLayout"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:layout_editor_absoluteX="…

assignment1——KNN

KNN 整体思路 加载数据集CIFAR10并随机展示部分数据构建KNearestNeighbor分类器&#xff0c;计算测试集每张图片的每个像素点与训练集每张图片的每个像素点的距离。将图片转化为数组。在测试集使用compute_distances_one_loop&#xff0c;compute_distances_no_loops&#xf…

挑战杯参赛总结-时间序列预测

参赛任务&#xff1a; 目标&#xff1a;针对中国各个市区的不同年份二氧化碳排放量&#xff0c;预测未来年份的二氧化碳排放量。 不同与之前我学习过的波士顿房价预测机器学习-波士顿房价预测-CSDN博客 房价预测是通过学习与房价有关的很多特征&#xff0c;训练出一个模型来预…

UV胶水粘接尼龙聚酰胺类聚合物PA有哪些优势呢?

使用UV胶水&#xff08;紫外线固化胶水&#xff09;粘接尼龙聚酰胺类聚合物&#xff08;PA&#xff09;具有一些优势&#xff0c;这些优势包括&#xff1a; 1.快速固化&#xff1a; UV胶水是一种紫外线固化的胶水&#xff0c;它可以在短时间内迅速固化。这使得粘接过程非常快速…

02-编程猜谜游戏

本章通过演示如何在实际程序中使用 Rust&#xff0c;你将了解 let 、 match 、方法、关联函数、外部crate等基础知识。 本章将实现一个经典的初学者编程问题&#xff1a;猜谜游戏。 工作原理如下&#xff1a;程序将随机生成一个介于 1 和 100 之间的整数。然后&#xff0c;程序…

Pycharm详细安装 配置教程

继上次安装完Anaconda之后&#xff0c;现在更新最新版本的pycharm的安装和使用教程~~~ Anaconda&#xff1a;是一个开源的Python发行版本&#xff0c;其中包含了conda、Python等180多个科学包及其依赖项。【Anaconda和Pycharm详细安装 配置教程_anconda安装时clear the packag…

音频筑基:时延、帧长选取的考量

音频筑基&#xff1a;时延、帧长选取的考量 帧长与时延的关系帧长变化的影响参考资料 音频算法中&#xff0c;时延和音频帧长的选择通常是个需要平衡的参数&#xff0c;这里分析下背后的考量因素。 帧长与时延的关系 一般来说&#xff0c;帧长是音频算法端到端时延的子集&…

【Linux】Linux 系统编程——touch 命令

文章目录 1.命令概述2.命令格式3.常用选项4.相关描述5.参考示例 1.命令概述 在**Linux 中&#xff0c;每个文件都与时间戳相关联&#xff0c;每个文件都存储了上次访问时间、**上次修改时间和上次更改时间的信息。因此&#xff0c;每当我们创建新文件并访问或修改现有文件时&a…

设计模式篇章(4)——十一种行为型模式

这个设计模式主要思考的是如何分配对象的职责和将对象之间相互协作完成单个对象无法完成的任务&#xff0c;这个与结构型模式有点像&#xff0c;结构型可以理解为静态的组合&#xff0c;例如将不同的组件拼起来成为一个更大的组件&#xff1b;而行为型更是一种动态或者具有某个…

【Python爬虫】项目案例讲解,一步步教你爬取淘宝商品数据!

前言 随着互联网时代的到来&#xff0c;人们更加倾向于互联网购物&#xff0c;某宝又是电商行业的巨头&#xff0c;在某宝平台中有很多商家数据&#xff0c;今天带大家使用pythonselenium工具获取这些公开的商家数据 环境介绍&#xff1a; python 3.6pycharmseleniumcsvtime…

快来体验,免费一步步教你,零代码,无需服务器,一键部署你的大模型!

今天给大家分享一个项目&#xff0c;零代码、无需服务器&#xff0c;直接 一键部署 你的大模型项目。 废话不多说&#xff0c;项目就是它&#xff1a; 我们看到目前已支持&#xff1a; ChatGPT-Next-Web&#xff1a;一键免费部署你的私人 ChatGPT、谷歌Gemini 网页应用AutoGPT-…

安防监控系统EasyCVR平台用户调用设备参数,信息不返回是什么原因?

安防视频监控系统EasyCVR视频综合管理平台&#xff0c;采用了开放式的网络结构&#xff0c;平台能在复杂的网络环境中&#xff08;专网、局域网、广域网、VPN、公网等&#xff09;将前端海量的设备进行统一集中接入与视频汇聚管理&#xff0c;平台支持设备通过4G、5G、WIFI、有…

Leetcoder Day9|栈与队列part01

语言&#xff1a;Java/C 目录 理论基础 C 栈 队列 Java 栈 队列 ​编辑 232.用栈实现队列 225. 用队列实现栈 Queue Deque 今日心得 理论基础 又是考研时数据结构里接触到的老朋友&#xff0c;栈是先进后出&#xff0c;队列是先进先出。 C 现在刷题除了思路还…

【算法与数据结构】494、LeetCode目标和

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析&#xff1a;本题和这道题【算法与数据结构】1049、LeetCode 最后一块石头的重量 II类似&#xff0c;同样可以转换成…

Windows系统使用手册

点击前往查看&#x1f517;我的博客文章目录 Windows系统使用手册 文章目录 Windows系统使用手册Windows10解决大小核调度问题Windows系统安装软件Windows系统Typora快捷键Windows系统压缩包方式安装redisWindows安装dockerWindows系统的docker设置阿里源Windows系统下使用doc…

JAVA正则表达式第二个作用:爬取

目录 本地数据爬取&#xff1a; 本地爬取练习&#xff1a; 网络爬取&#xff1a; ----- 以下为均本地数据爬取&#xff1a; 带条件爬取 贪婪爬取和非贪婪爬取&#xff1a; 例题 1&#xff1a;使获取 1 为不贪婪 *例题 2&#xff1a;使获取 0、1 都为不贪婪 之前介绍了正…

mp4文件可以转成mp3音频吗

现在是个非常流行刷短视频一个年代&#xff0c;刷短视似乎成了人们休闲娱乐的一种方式&#xff0c;在日常刷短视频过程中&#xff0c;肯定会有很多同学被短视频 bgm 神曲洗脑&#xff0c;比如很多被网红翻唱带火的歌曲&#xff0c;例如其中"不负人间”&#xff0c;就是其中…

从零开始,自己搭建一个autonomous mobile robot做gazebo仿真(1):mobile robot建模与添加差速控制器

这样一个简单的mobile robot模型 首先写xacro文件&#xff0c;创建 link joint transmission <?xml version"1.0"?> <robot xmlns:xacro"http://www.ros.org/wiki/xacro" name"whill_modelc" ><xacro:property name"PI&q…