HarmonyOS——UI开展前的阶段总结

当足够的了解了HarmonyOS的相关特性之后,再去介入UI,你会发现无比的轻松,特别当你有着其他的声明式UI开发的经验时,对于HarmonyOS的UI,大致一扫,也就会了。

如何把UI阐述的简单易懂,又能方便大家使用,这是自己一直想做的事情,即区别于官方又能实际的结合需求,是接下来自己对UI相关的知识点的分享。

初始化准备

无论是之前已经发表的文章还是接下来讲述的内容,Api都是基于9以及以上的版本,采用的语言生态是ArkTS语言,其模型是Stage,如果你的环境和我的有出入,建议以我的为主,进行学习和开发项目,主要原因如下:

ArkTS语言

虽然ArkUI框架也就是方舟开发框架(HarmonyOS提供了一套UI开发框架)针对不同目的和技术背景的开发者提供了两种开发范式,基于ArkTS的声明式开发范式和类Web开发范式,但是仍然建议你第一选择,一定要选择声明式开发范式的ArkTs语言。

主要原因有来自于官方的推荐,以及在开发效率和应用性能上,ArkTs语言性能更佳,开发更高效。

Stage模型

采用Stage模型,是因为以后主推且会长期演进的模型,下图来源于官方文档。

未来HarmonyOS舍弃AOSP是必然的事件,大家尽量舍弃之前Api,已全新的Api进行介入,方便后续的项目开发。

以脚手架为产出物

如何让大家在学习HarmonyOS的时候,更加的方便,遇到相关UI效果,能够第一时间的查看到代码,基于之前的Android和Flutter,便萌生了一个HarmonyOS版的脚手架。

之前的Android端脚手架

之前的Flutter端脚手架

在移动端,也许,大家对脚手架有陌生感,说白了就是一个工具,通过工具,可以帮助我们生成代码,提高我们的开发效率,和IDE插件不同的是,它可以更加的灵活,拓展出插件所实现不了的一些功能。

那么接下来,我也会仿照着之前所做的一些工具,结合HarmonyOS语言,以UI为介入点,从0到1,开发出一个HarmonyOS版的脚手架,当然了工具只是最终的产出物,实际还是以技术要点为文章,旨在既能帮助到大家学习,又能帮助到大家以后的项目开发。

第一阶段还是以桌面程序为主,第二阶段可以拓展到DevEco Studio插件里。

虽然说,ArkUI-X进一步将ArkUI扩展到了多个OS平台,但是截至到当前,还未支持PC端,那么桌面程序只能选择其他语言了,一开始想到的是Flutter,毕竟刚开发过,但是HarmonyOS已经有了NodeJs,基于此,便改用Electron作为桌面开发工具,后续如果出了PC端,再进行移植。

为了能让大家更好的学习鸿蒙 (Harmony OS) 开发技术,这边特意整理了《鸿蒙 (Harmony OS)开发学习手册》(共计890页),希望对大家有所帮助:https://qr21.cn/FV7h05

《鸿蒙 (Harmony OS)开发学习手册》

入门必看:https://qr21.cn/FV7h05

  1. 应用开发导读(ArkTS)
  2. 应用开发导读(Java)

HarmonyOS 概念:https://qr21.cn/FV7h05

  1. 系统定义
  2. 技术架构
  3. 技术特性
  4. 系统安全

如何快速入门:https://qr21.cn/FV7h05

  1. 基本概念
  2. 构建第一个ArkTS应用
  3. 构建第一个JS应用
  4. ……

开发基础知识:https://qr21.cn/FV7h05

  1. 应用基础知识
  2. 配置文件
  3. 应用数据管理
  4. 应用安全管理
  5. 应用隐私保护
  6. 三方应用调用管控机制
  7. 资源分类与访问
  8. 学习ArkTS语言
  9. ……

基于ArkTS 开发:https://qr21.cn/FV7h05

  1. Ability开发
  2. UI开发
  3. 公共事件与通知
  4. 窗口管理
  5. 媒体
  6. 安全
  7. 网络与链接
  8. 电话服务
  9. 数据管理
  10. 后台任务(Background Task)管理
  11. 设备管理
  12. 设备使用信息统计
  13. DFX
  14. 国际化开发
  15. 折叠屏系列
  16. ……

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

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

相关文章

[论文阅读]CT3D——逐通道transformer改进3D目标检测

CT3D 论文网址:CT3D 论文代码:CT3D 简读论文 本篇论文提出了一个新的两阶段3D目标检测框架CT3D,主要的创新点和方法总结如下: 创新点: (1) 提出了一种通道注意力解码模块,可以进行全局和局部通道聚合,生成更有效的解码权重。 (2) 提出了建议到点嵌…

235. 二叉搜索树的最近公共祖先

235. 二叉搜索树的最近公共祖先 原题链接:完成情况:解题思路:_235二叉搜索树的最近公共祖先_递归_235二叉搜索树的最近公共祖先_简洁递归 参考代码:错误经验吸取 原题链接: 235. 二叉搜索树的最近公共祖先 https://…

zookeeper集群+kafka集群

Kafka3.0之前依赖于zookeeper Zookeeper开源,分布式的架构,提供协调服务(apache项目) 基于观察者模式设计的分布式服务管理架构 存储和管理数据,分布式节点上的服务接受观察者的注册,一旦分布式节点上的…

在Linux本地部署开源自托管导航页配置服务Dashy并远程访问

文章目录 简介1. 安装Dashy2. 安装cpolar3.配置公网访问地址4. 固定域名访问 简介 Dashy 是一个开源的自托管的导航页配置服务,具有易于使用的可视化编辑器、状态检查、小工具和主题等功能。你可以将自己常用的一些网站聚合起来放在一起,形成自己的导航…

Spring 日志

日志的作用: 1.定位和发现问题 2.系统监控 3.数据采集 观察日志 先写一段打印日志的代码 日志内容 日志级别分类 默认日志级别是Info,级别一下的就不打印了 Spring 帮我们集成了日志框架,我们直接使用即可 我们测试一下用日志框架打印日志是如何 我们就会发现打印的结果跟…

《HelloGitHub》第 92 期

兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。 https://github.com/521xueweihan/HelloGitHub 这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 …

enote笔记法之附录1——“语法词”(即“关联词”)(ver0.24)

enote笔记法之附录1——“语法词”(即“关联词”)(ver0.24) 最上面的是截屏的完整版,分割线下面的是纯文字版本: 作者姓名(本人的真实姓名):胡佳吉 居住地&#xff1…

定向网络攻击主要风险检查表

一、互联网入口攻击 二、内部网络横向攻击 三、集权类系统风险和要求 软件开发全资料获取:点我获取 定向网络攻击主要风险检查表分类测评项风险描述检查项检查结果整改建议互联网入口攻击应用网站安全漏洞应用系统和网站存在高风险安全漏洞,可能直接被…

推荐一款好用的BMP转PNG工具BMP2PNG

推荐一款好用的BMP转PNG工具BMP2PNG 自己写的一个BMP转PNG工具BMP2PNG 写这个工具是因为要使用传奇的部分素材在COCOS2DX使用, 但是COCOS2DX不支持BMP 如果直接将BMP转换到PNG的话,网上找到的工具都不支持透明色转换。难道要用PS一个一个抠图吗&#xf…

k8s-daemonset、job、cronjob控制器 6

Daemonset控制器(一个节点部署一个) 、 创建Daemonset控制器 控制节点上不能进行部署,有污点 解决方式: 扩容节点,token值过期的解决方法: 回收pod job控制器 需要使用perl镜像,仓库没有&…

OSCP系列靶场-Esay-1

总结 getwebshell : ftp可匿名登录 → 发现隐藏文件夹 → 发现ssh密钥 → 猜解ssh用户名 → ssh密钥登录 提 权 思 路 : 发现suid权限文件 → cpulimit提权 准备工作 启动VPN 获取攻击机IP → 192.168.45.191 启动靶机 获取目标机器IP → 192.168.179.130 信息收集-端口扫…

论文阅读——SEEM

arxiv: 分割模型向比较灵活的分割的趋势的转变:封闭到开放,通用到特定、one-shot到交互式。From closed-set to open-vocabulary segmentation,From generic to referring segmentation,From one-shot to interactive segmentati…

IDEA中springboot 提示 java: 找不到符号 符号: 变量 log

在以下位置加上该配置"-Djps.track.ap.dependenciesfalse" 然后重新启动项目,到此问题解决!!!

SpringCloud原理】OpenFeign之FeignClient动态代理生成原理

大家好,前面我已经剖析了OpenFeign的动态代理生成原理和Ribbon的运行原理,这篇文章来继续剖析SpringCloud组件原理,来看一看OpenFeign是如何基于Ribbon来实现负载均衡的,两组件是如何协同工作的。 一、Feign动态代理调用实现rpc流…

指纹芯片的工作原理及应用领域详解

指纹芯片是一种利用指纹识别技术的电子设备,可以通过扫描人体指纹的纹理特征,将其转化为数字化信息并进行存储和识别。指纹芯片广泛应用于各个领域,包括智能手机、银行和金融、门禁系统、身份验证等,因其高度准确、快速便捷的特点,得到了广大用户的青睐。 指纹芯片的原理是基于…

【MYSQL】表的基本查询

目录 前言 一、Create(增) 1.单行数据 全列插入 2.多行数据 指定列插入 3.插入否则更新 4.替换 二、Retrieve(查) 1.select列 1.1全列查询 1.2指定列查询 1.3查询字段为表达式 1.4为查询结果指定别名 1.5结果去重 …

2948. 交换得到字典序最小的数组 (分组排序)

Problem: 2948. 交换得到字典序最小的数组 文章目录 题目思路Code 题目 给你一个下标从 0 开始的 正整数 数组 nums 和一个 正整数 limit 。 在一次操作中&#xff0c;你可以选择任意两个下标 i 和 j&#xff0c;如果 满足 |nums[i] - nums[j]| < limit &#xff0c;则交换…

[node] Node.js的Web 模块

[node] Node.js的Web 模块 什么是 Web 服务器&#xff1f;Web的应用架构http使用方式使用 Node 创建 Web 服务器使用 Node 创建 Web 客户端 什么是 Web 服务器&#xff1f; Web服务器一般指网站服务器&#xff0c;是指驻留于因特网上某种类型计算机的程序&#xff0c;Web服务器…

算法通关村-----超大规模数据场景的问题

对20GB文件进行排序 问题描述 假设有一个20GB的文件&#xff0c;每行一个字符串&#xff0c;请说明如何对这个文件进行排序 问题分析 20GB的文件很难一次加载到内存中&#xff0c;可以采用分块策略&#xff0c;先使块内有序&#xff0c;在使块间有序。 实现思路 按照给定…

【重点文章】将Java程序打包成exe文件,无Java环境也可以运行(解决各种疑难杂症)

文章目录 一、将Java程序打成jar包二、将Jar打成exe三、加壳改造成安装包 编译器为IDEA 一、将Java程序打成jar包 2. 3. 你打的包一般会出现在根目录下面的out文件夹下面  当然你也可以用maven的package功能打包&#xff0c;效果是一样的   二、将Jar打成exe 使用工具e…