当前位置: 首页 > news >正文

HarmonyOS开发:UI开展前的阶段总结

前言

关于HarmonyOS,陆陆续续总结了有14篇的文章,大家可以发现,没有一篇是关于UI相关的,不是自己没有分享的打算,而是对于这些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端,再进行移植。

最后总结

接下来的一段时间,都会写一些关于UI相关的,毕竟UI是用于渲染数据的,是HarmonyOS开发中必不可少也尤为重要的组成部分,会和官方进行差异化,和实际的业务进行关联,并沉淀于脚手架,希望接下来能够帮助到大家。

http://www.lryc.cn/news/225766.html

相关文章:

  • Linux安装Libreoffice
  • 如何将系统盘MBR转GPT?无损教程分享!
  • 基于element-plus定义表单配置化
  • LeetCode算法题解(贪心)|LeetCode122. 买卖股票的最佳时机 II、LeetCoed55. 跳跃游戏、LeetCode45. 跳跃游戏 II
  • 计蒜客详解合集(2)期
  • 华为防火墙vrrp+hrp双机热备主备备份(两端为交换机)
  • Angular 由一个bug说起之一:List / Grid的性能问题
  • 第12章 PyTorch图像分割代码框架-3:推理与部署
  • MYSQL---基础篇
  • 【启扬方案】启扬安卓屏一体机在医疗自助服务终端上的应用解决方案
  • 收藏!7个国内「小众」的程序员社区
  • LeetCode(4)删除有序数组中的重复项 II【数组/字符串】【中等】
  • C++ 同构字符串/ 单词规律
  • oracle 中 %TYPE %ROWTYPE
  • Pytorch实战教程(五)-计算机视觉基础
  • 51单片机PCF8591数字电压表数码管显示设计( proteus仿真+程序+设计报告+讲解视频)
  • 普华永道于进博会首发“企业数据资源会计处理一体化平台”
  • IDEA 使用Reset Current Branch to Here 进行git 版本控制,图文操作
  • 有趣的 TCP 抢带宽行为
  • HCIP---VRRP
  • 在家用Python搞副业,也能月入10000+
  • play() failed because the user didn‘t interact with the document first.
  • Java任意视频转MP4
  • flutter实践:慎用Expanded
  • 华为防火墙vrrp+hrp双机热备负载分担(两端为交换机)
  • 欧拉角(横滚角、俯仰角、偏航角)、旋转矩阵、四元数的转换与解决万向节死锁
  • Java Post请求参数格式为XML
  • Windows 安装 JDK 8 和 JDK 17 和多版本JDK切换
  • SpringData、SparkStreaming和Flink集成Elasticsearch
  • 中国电子学会2023年09月份青少年软件编程Python等级考试试卷六级真题(含答案)