为了账号安全,请及时绑定邮箱和手机立即绑定

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

问题

有学员在课程“鸿蒙系统实战短视频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,你能看明白这个车子是在前进还是在倒退呢?

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
全栈工程师
手记
粉丝
1.7万
获赞与收藏
2168

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消