美文网首页开发百宝箱
为什么Flutter放弃xml而使用代码写布局

为什么Flutter放弃xml而使用代码写布局

作者: sugaryaruan | 来源:发表于2018-06-30 16:32 被阅读384次

    在Flutter的Github的Issue上有人提出了一个问题:Consider JSX-like syntax inside dart code。问题传送门

    这让我想起之前曾经有人问

    为什么Flutter放弃xml而使用代码写布局?

    对于这个问题,我正好有一些思考,借助这篇文章说说我的看法。

    我认为Flutter有必要舍弃xml,使用代码写布局。因为使用代码来组织布局,会是未来的新趋势,至少是一个方向。

    已有语言尝试代码组织布局

    用相对现代化的语言Kotlin写Android App时,我发现JetBrains搞了一个gradle插件用来支持在代码里写布局。可见Kotlin是支持和提倡用DSL代码来写布局的。

    链接里的issue讨论中提到JSX,JSX的理念我赞同(刚刷了一篇文章,文中提到,组件模板和组件逻辑分离让问题复杂化了,应该让模板和组件关联),flutter现在也是朝这个方向来的。

    和Hot Reload特性搭配

    Flutter舍弃xml使用代码描述布局,能更方便的和Dart的hot reload特性配合使用,代码改动能立刻反映布局变化。

    后续更有力的资源支持

    之前参加flutter技术分享,我问过这个问题,谷歌工程师给的答复是,后续会进一步增强Dart的语言特性,让代码组织widget tree起来更易读更简洁。比如Dart2比Dart1多了一个特性:可以省略new关键词。

    说个题外话,他们还透露了目前他们花了大量精力在减少开发Flutter依赖包的大小,目标是把在安卓的包从8M减到5M, iOS的从16M减到9M左右。

    未来肯定会出现对布局和语法高亮的Dart插件,让开发人员阅读布局代码更舒适。

    查阅的资料

    1. 为什么要引入 JSX 这种语法(https://hulufei.gitbooks.io/react-tutorial/content/jsx.html
    2. Flutter中文社区(https://flutter-io.cn/)
    欢迎关注CodeThings

    相关文章

      网友评论

        本文标题:为什么Flutter放弃xml而使用代码写布局

        本文链接:https://www.haomeiwen.com/subject/oyotuftx.html