继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

鸿蒙HarmonyOS UI设计去掉XML是进步还是开倒车?

2023-11-25 23:09:542345浏览

老卫

1实战 · 202手记 · 2推荐
TA的实战

问题

有学员在课程“鸿蒙系统实战短视频App 从0到1掌握HarmonyOS”里面问道“老师,新版HarmonyOS 采用纯ArkTS来开发应用,那么采用XML 来设计UI是否过时?”

解答

针对这个疑问,讲师回答如下:

这个话题比较有意思。

前端页面设计,传统是 HTML+CSS+JS 三个文件,即遵循外观与行为的隔离。应用开发采用XML来设计UI页面,本质上可以理解为是类似于 HTML ,大多数语言也是依据这个传统,可以更好地将应用的外观与控制应用行为的代码隔离。

比如早期的Flash、Flex、JavaFX等富客户端,以及Android、Vue、Angular无不是如此, UI 描述位于数据处理代码外部,使得页面的可维护性大大提高。对于程序员而言,XML表述的页面,也更直观、更容易被人理解。毕竟所谓页面,就是不同布局和组件的嵌套,而XML也是元素的嵌套。

那么必须要用XML吗?其实也不是,Java早期的UI编程( Swing、SWT、AWT)都是采用纯Java语言开发的,即在Java代码里面设计要设计界面、样式,还要处理行为逻辑。当然,你在JS也能实现类似的编码风格,在JS里面写CSS+HTML。

因此,简言之,在编程界面一直就是有两套UI设计风格,一种就是“外观与行为的隔离”分开成两个文件,另外一种All-In-One“全部在一种纯语言搞定一切”。

JavaFX是后期Java才引入的技术,从这个角度看,UI引入XML是进步啊。

实际上,Android、HarmonyOS也是可以完全采用Java来设计UI,这个在咱们课程中也是有体现。特别是需要实现一些复杂的布局和组件的时候,比较适合采用纯Java API来设计UI。

ArkTS是类似于JS的编程语言,本质是扩展了TS的,引入了ArkUI。从这个角度看,这个语言也没有什么特别。HarmonyOS应用自然也是支持采用纯ArkTS API来设计UI。

这里特别强调,在新版的 HarmonyOS 里面,引入了 Super Visual的概念,表示使用低代码开发功能开发应用/服务。所谓 Super Visual,就是通过拖拉拽的方式来设计页面,页面文件类型是 .visual 文件。你打开.visual 文件可以发现,内容其实就是JSON。因此 .visual 本质也是实现类似于XML的嵌套结果。这种设计页面的方式,其实又回归到了传统的 “外观与行为的隔离”设计原则上去了。

So,你能看明白这个车子是在前进还是在倒退呢?

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP