刚接触鸿蒙的ArkUI,谈谈看法。安装环境还是挺快的,没有flutter这种国外框架的限制,下载sdk什么的都贼快!
如同Flutter的热重载技术,实时预览
语法如图,
和SwiftUI和Compose都极其相像,虽然说是声明式,但是为啥还是把属性给放外面捏!
什么ArkUI
ArkUI是一套构建HarmonyOS应用界面的声明式UI开发框架。它使用极简的UI信息语法、丰富的UI组件、以及实时界面预览工具,帮助您提升HarmonyOS应用界面开发效率30%。您只需使用一套TS/JS API,就能在多个HarmonyOS设备上提供生动而流畅的用户界面体验。
ArkUI框架的优点
流行的组件式开发(最大化复用),可视化开发,支持热更新,开发效率高。
随着用户设备类型的不断增加,手机、平板、大屏、车载、穿戴等设备对应用UI界面开发提出了更加多样化的诉求,应用开发者在开发应用界面的时候要考虑多种设备场景,从而导致工程代码量增加,甚至需要维护多个工程来适配不同设备。
使用ArkUI框架一次开发,多端部署通过多终端统一编程框架、自动适配多终端硬件能力的统一抽象UI控件,以及为不同屏幕的终端提供自适应布局,开发者无需针对不同设备开发多套代码,只需一套应用工程,就可以在多种终端部署。不仅提高了开发效率,还降低了代码的维护难度。
鸿蒙arkui比起flutter又如何
Flutter的语法更直观和易于理解,因此对于初学者来说,学习Flutter可能更容易上手。而鸿蒙的ArkUI框架使用TS的语法和现有的js/ts生态,对于熟悉JavaScript或TypeScript的开发者来说,可能更容易上手。
Flutter的性能通常比ArkUI框架更好,尤其是在渲染和动画方面。这可能是因为Flutter使用自己的渲染引擎,而ArkUI框架则依赖于JavaScript引擎。
Flutter的生态更加成熟和丰富,有更多的第三方库和插件可供选择。而鸿蒙的ArkUI框架则主要依赖于华为的开发者生态,其提供的样例和分析教程在官网上非常丰富。
跨平台性:鸿蒙的ArkUI框架支持跨平台运行,可以在不同的设备上无缝切换和协同工作。而Flutter则主要针对Android平台。
当然对于我们这些老油条来说我绝得ArkUI要好一点,我自己体验了一把应用开发,组件式开发效率不错。
比flutter牛叉点儿,为啥?因为你至少少学一门dart语言。TS的语法和现有的js/ts生态基本上都会(有开发经验的)。
而且随着鸿蒙的发展,应该会更好。
感觉这会是后续应用开发的主流,因为开发够简单和高效。且是流行的组件式开发,能够最大限度复用,效率提高不少,若是性能也不错,有啥理由不用呢。
我相信未来的趋势与机遇都在鸿蒙,那么我们应该趁着这个关键时期先做好准备,这里给大家分享一份《鸿蒙零基础入门学习指南》
《鸿蒙零基础入门学习指南》
目录
一、快速入门
适用于HarmonyOS应用开发的初学者。通过构建一个简单的具有页面跳转/返回功能的应用,快速了解工程目录的主要文件,熟悉HarmonyOS应用开发流程。
- 开发准备
- 基本概念
- 工具准备
- 构建第一个ArkTS应用(Stage模型)
- 构建第一个ArkTS应用(FA模型)
- 构建第一个JS应用(FA模型)
二、开发基础知识
- 应用程序包基础知识
- 应用程序包概述
- 应用程序包结构
- 应用程序包多HAP机制
- 应用程序包安装和卸载流程
- 应用程序包更新流程
- 共享包
- 应用程序包快速修复
- 应用配置文件(Stage模型)
- 应用配置文件概述(Stage模型)
- app.json5配置文件
- module.json5配置文件
- 应用配置文件概述(FA模型)
- 应用配置文件概述(FA模型)
- app对象内部结构
- deviceConfig内部结构
- module对象内部结构
三、资源分类与访问
应用开发过程中,经常需要用到颜色、字体、间距、图片等资源,在不同的设备或配置中,这些资源的值可能不同。
- 资源分类与访问
- 资源分类
- 资源目录
- 资源组目录
- 创建资源目录和资源文件
- 创建资源目录和资源文件
- 创建资源目录
- 创建资源文件
- 资源访问
- 应用资源
- 系统资源
- 资源匹配
四、学习ArkTs语言
ArkTS是HarmonyOS优选的主力应用开发语言。ArkTS围绕应用开发在TypeScript(简称TS)生态基础上做了进一步扩展,继承了TS的所有特性,是TS的超集。因此,在学习ArkTS语言之前,建议开发者具备TS语言开发能力。
- 初识ArkTS语言
- 基本语法
- 基本语法概述
- 声明式UI描述
- 自定义组件
- 状态管理
- 其他状态管理
- 其他状态管理概述
- @Watch装饰器:状态变量更改通知
- $$语法:内置组件双向同步
- 渲染控制
- 渲染控制概述
- if/else:条件渲染
- ForEach:循环渲染
- LazyForEach:数据懒加载