鸿蒙全新声明式UI框架ArkUI初体验,开发应用不错,比起flutter如何

简介: 鸿蒙全新声明式UI框架ArkUI初体验,开发应用不错,比起flutter如何

ArkUI框架介绍:


华为开发者大会2021将于10月22日在东莞松山湖正式开幕,推出了全新的ArkUI应用开发框架。


ArkUI一套极简声明式UI范式开发框架,是HarmonyOS提供的一套基于JS/TS语言的开发能力集合,旨在帮助应用开发者高效开发跨端应用UI界面,自动适配多种不同的屏幕形态,开发者无需关心框架如何实现UI绘制和渲染,只需聚焦应用开发,从而实现极简高效地开发。


体验了一把应用开发,组件式开发效率不错。有点儿类似于flutter,但是比flutter牛叉点儿,为啥?因为你至少少学一门dart语言啊,这打它语言要说语法也不难,但是即便再简单也得有生态和下功夫学不是。鸿蒙厉害了,直接是TS的语法和利用现有的js/ts生态。组件化,可视化的开发应用,体验着实不赖,一小会儿功夫就能整出来个漂亮页面来。


感觉这会是后续应用开发的主流,因为开发够简单和高效。且是流行的组件式开发,能够最大限度复用,效率提高不少,若是性能也不错,有啥理由不用呢。


华为开发者生态建设的不错,竟提供了很多的样例和分析教程在官网上,是不错的教程。详细介绍,参见:


https://developer.huawei.com/consumer/cn/codelabsPortal/index



ArkUI框架的详细介绍:


https://developer.huawei.com/consumer/cn/codelabsPortal/carddetails/HarmonyOS-EtsUI


ArkUI框架的优点


流行的组件式开发(最大化复用),可视化开发,支持热更新,开发效率高。


随着用户设备类型的不断增加,手机、平板、大屏、车载、穿戴等设备对应用UI界面开发提出了更加多样化的诉求,应用开发者在开发应用界面的时候要考虑多种设备场景,从而导致工程代码量增加,甚至需要维护多个工程来适配不同设备。


使用ArkUI框架一次开发,多端部署通过多终端统一编程框架、自动适配多终端硬件能力的统一抽象UI控件,以及为不同屏幕的终端提供自适应布局,开发者无需针对不同设备开发多套代码,只需一套应用工程,就可以在多种终端部署。不仅提高了开发效率,还降低了代码的维护难度。


更多“一次开发,多端部署”开发详情,前往官网Codelab: https://developer.huawei.com/consumer/cn/codelabsPortal/carddetails/HarmonyOS-EtsMultiDeployment


ArkUI框架开发体验


环境准备:


下载或更新最新的DevEco Studio,目前最新版本是3.0 Beat1,若已经是3.0版本,可以直接在菜单help->check for updates自动更新软件。DevEco Studio越来越好用了,记得之前的2.x版本软件更新竟需要重新下载安装,真是费劲。这后续直接点击更新自动下载增量更新包完成升级。



新建工程,注意选择eTS语言(扩展的ts,这个估计是今后主推的开发语言)。



如果你的没出来这个选项,可能是一些sdk没有下载或更新。


在File菜单->settings里,找到SDK manager,Harmony OS legacy SDK,选中SDK(API version 7)



为了支持实时界面预览功能,tools里的previewer也更新为最新的3.0.0.0版本。



至此,环境一切准备就绪啦。若是你的sdk没下载成功,多半是网络问题。


接下来选一个empty ability,开始编码啦。



在编码区修改代码,在最后测能够实时看到效果,这开发效率贼爽。且比起flutter来,编码更简单直观,还是你熟悉的css和ts语法,不像flutter一样还要再去学一门打它(dart)语言。直接用ts,谁也不"打"。


以上只是个环境准备和小的hello wrold入门。官网的教程不要太贴心,照着做就是了,有很多例程可以参考。


比如:eTS基础组件Slider的使用,写的太详细了,最后还附上了源码。


https://developer.huawei.com/consumer/cn/codelabsPortal/carddetails/HarmonyOS-ETS-Slider



未来在哪里?未来已来。有些人因为看见而相信,只有少部分人因为相信而看见。华为的创新力真厉害,以后不是你选择用不用鸿蒙,而是因为好用不得不用。譬如电视,看个电视还要会员,手机会员还不行,得买专门电视会员,各种广告和收费。直接上智慧屏手机电影分享在智慧屏看。


什么是真正的万物互联?华为的harmony OS做到了,直接从系统层打通了设备间的通信带来了更好的体验。


活到老学到老,学习也是一种兴趣爱好。与时俱进,终身学习。期待国人不断的创新,发明和创造,引领未来。


使用感受及不足


感受:组件式开发,一次开发多平台部署,可视化开发也够直观,这是优点,可以对标google的flutter。但是体验后仍感受到一些不足。


不足一:目前仅page页面可以预览,如果是自己封装的组件,不支持界面预览。


不足二:官方虽然提供了不少的demo示例,但都是一些demo,介绍太过于零碎,不够系统和完整。比如,如何网络访问,如何文件存储,多页面传值,界面跳转,系统api调用,native层交互等等,有没相应的工程代码指导,如何组织代码结构。期待后续有完整的教程介绍,涵盖应用开发的方方面面。


以上仅是最初级的体验,可能观点不完全对,欢迎提供不同意见。


引用:


如何快速体验鸿蒙全新声明式UI框架ArkUI?_华为开发者联盟-CSDN博客


HarmonyOS系统Codelabs技术指导_华为HarmonyOS源代码 - HarmonyOS应用开发官网


https://developer.huawei.com/consumer/cn/codelabsPortal/carddetails/HarmonyOS-EtsUI


相关文章
|
2月前
鸿蒙使用 @Builder扩展出来的布局数据更新没法更新UI
鸿蒙使用 @Builder扩展出来的布局数据更新没法更新UI
92 1
|
3月前
|
存储 开发框架 JavaScript
深入探讨Flutter中动态UI构建的原理、方法以及数据驱动视图的实现技巧
【6月更文挑战第11天】Flutter是高效的跨平台移动开发框架,以其热重载、高性能渲染和丰富组件库著称。本文探讨了Flutter中动态UI构建原理与数据驱动视图的实现。动态UI基于Widget树模型,状态变化触发UI更新。状态管理是关键,Flutter提供StatefulWidget、Provider、Redux等方式。使用ListView等可滚动组件和StreamBuilder等流式组件实现数据驱动视图的自动更新。响应式布局确保UI在不同设备上的适应性。Flutter为开发者构建动态、用户友好的界面提供了强大支持。
77 2
|
1月前
|
开发框架 Android开发 iOS开发
Flutter相关痛点解决问题之淘特选择桌面端开发框架如何解决
Flutter相关痛点解决问题之淘特选择桌面端开发框架如何解决
|
1月前
|
开发框架 前端开发 开发工具
一个小案例带你快速了解鸿蒙ArkUI的基本使用
一个小案例带你快速了解鸿蒙ArkUI的基本使用
54 4
|
2月前
|
设计模式 编解码 API
Flutter UI设计模式与实现:深入探索与实践
【7月更文挑战第20天】Flutter以其独特的声明式UI模式和丰富的UI组件库,为移动应用开发提供了强大的支持。通过深入理解Flutter的UI设计模式和实现技巧,开发者可以构建出高性能、可维护性强的UI界面。同时,随着Flutter生态的不断完善和发展,相信未来Flutter将在移动应用开发领域发挥更加重要的作用。
|
3月前
|
开发框架 移动开发 Android开发
构建高效移动应用:探索Flutter开发框架
【6月更文挑战第28天】随着移动设备的普及,用户对移动应用的需求日益增长。开发者面临着在众多平台间提供无缝体验的挑战。本文深入探讨了Flutter框架如何通过其跨平台特性、热重载功能以及丰富的组件库简化移动应用的开发流程,同时确保高性能和优雅的用户界面设计。
54 2
|
3月前
|
移动开发 Dart 前端开发
探秘移动开发新纪元:Flutter框架的跨平台魅力
Flutter,谷歌的开源UI工具包,不仅革新前端开发,其跨平台特性延伸至后端,通过Dart语言统一开发流程,提升效率与一致性。使用Aqueduct框架,开发者可构建REST API,如创建新项目、定义数据模型和控制器,实现前后端同栈开发。Flutter与Dart的结合正重塑移动开发,开启全栈新纪元。
82 2
|
3月前
|
前端开发 自动驾驶 程序员
鸿蒙? 车载?Flutter? React Native? 为什么我劝你三思,说点不一样的
本文探讨了在信息技术快速发展的背景下,开发者如何选择学习路径。作者提倡使用终局思维来规划职业发展,考虑技术的长远影响。终局思维注重长远目标、系统分析、反向规划和动态调整。以车载开发为例,预测未来智能汽车可能由语音助手主导,而非依赖平板界面。此外,作者建议不要过分投入打工状态,应思考创建自己的产品,如App,以实现技能补充和额外收入。选择对未来发展和自主性有益的技术,如Kotlin,比盲目追求热点更为重要。做减法和有标准的选择,能帮助减轻焦虑,实现更高效的成长。关注公众号“AntDream”获取更多相关内容。
97 1
|
3月前
|
开发框架 开发者 UED
Flutter作为一款跨平台的移动应用开发框架,自然也提供了丰富的工具和功能来支持可访问性和无障碍设计
【6月更文挑战第11天】Flutter是一款注重可访问性设计的跨平台移动应用开发框架,提供语义化组件、文本缩放、对比度调整、动态内容更新通知和键盘导航等功能,支持无障碍体验。开发者应结合简化操作、清晰反馈、多输入方式支持及测试优化等原则,以创建包容性更强的应用,满足不同用户需求,体现社会责任。
45 1
|
2月前
鸿蒙使用 @Builder扩展出来的布局数据更新没法更新UI
采用的方法是在修改数据时,通过`this.dArray.splice(index, 1, this.dArray[index])`替换指定元素,强制数组更新并反映到界面上。
112 0