专栏首页ionic3+SwiftUI,是FlutterUI该有的样子吗?

SwiftUI,是FlutterUI该有的样子吗?

刚刚的【2019 WWDC 大会】苹果发布了 SwiftUI 开发语言,咋看上去,和Flutter的UI比较像,但个人感觉比Flutter的方式更好——虽然有些地方比较奇怪。有兴趣的开发人员可以试着按链接操作一下:

https://developer.apple.com/tutorials/swiftui/

Flutter的写法:

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    var stack = new Stack(
      alignment: const Alignment(0.6, 0.6),
      children: [
        new CircleAvatar(
          backgroundImage: new AssetImage('images/pic.jpg'),
          radius: 100.0,
        ),
        new Container(
          decoration: new BoxDecoration(
            color: Colors.black45,
          ),
          child: new Text(
            'Mia B',
            style: new TextStyle(
              fontSize: 20.0,
              fontWeight: FontWeight.bold,
              color: Colors.white,
            ),
          ),
        ),
      ],
    );
  }
}

SwiftUI的写法:

struct ContentView: View {
    var body: some View {
        VStack {
            VStack(alignment: .leading) {
                Text("Turtle Rock")
                    .font(.title)
                HStack(alignment: .top) {
                    Text("Joshua Tree National Park")
                        .font(.subheadline)
                    Spacer()
                    Text("California")
                        .font(.subheadline)
                }
            }
            .padding()
        }
    }
}

没有child/children的困惑、没有了括号地狱,也不用把装饰器等不像widget的东西硬要变成widget使用,感觉肉眼终于能较好分辨出UI结构了,有股云雾散开的感觉……

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Flutter实现搜索框中文占位提示文字

    Flutter出来这么久了,网上居然很难搜到实现搜索框中文占位提示符(placeholder/hintText)的文章,难得找到的都是类似操作:

    IT晴天
  • 【Appetite】ionic3实录(一)前言,刚好遇见你

    要想掌握一门技术,最好亲自动手做点东西,只有在解决问题的过程中,才能思考问题,进而加深技术的掌握,所以在写ionic3相关内容时,我就一早留了个【示例篇】,只是...

    IT晴天
  • 【Appetite】ionic3实录(六)首页实现

    观察之,发布者和内容的文本信息可以用ionic现有的组件实现,而视频播放和图片画廊(如果是轮播图可以用slides组件,它是阉割并封装过的swiper,好像现在...

    IT晴天
  • ZK实现分布式锁

    上一篇说了ZK是什么以及能干什么,今儿这篇就来用ZK实现分布式锁,分别用java原生的zookeeper客户端、ZKClient实现。

    Liusy
  • 【Flutter 专题】12 ListView 用哪种方式绑定数据?

    和尚昨天刚学习了一下底部状态栏 BottomNavigationBar 的基本使用方法,今天学习一下 ListView 的基本用法。 和...

    阿策
  • Java IO

    java中涉及到的io流基本都是从以上四个抽象基类派生出来的,其子类都是以其父类的名字做后缀。

    万能青年
  • Spark——底层操作RDD,基于内存处理数据的计算引擎

    Apache Spark是一个快速的通用集群计算框架 / 殷勤。它提供Java,Scala,Python和R中的高级API,以及支持常规执行图的优化引擎。它还支...

    时间静止不是简史
  • Java企业微信开发_07_JSSDK多图上传

     所有的JS接口只能在企业微信应用的可信域名下调用(包括子域名),可在企业微信的管理后台“我的应用”里设置应用可信域名。这个域名必须要通过ICP备案,不然jss...

    shirayner
  • java 实现文件下载中文名不显示

    Arebirth
  • Apache Commons 工具类介绍及简单使用

    提供了一些公共的编解码实现,比如Base64, Hex, MD5,Phonetic and URLs等等。

    黄泽杰

扫码关注云+社区

领取腾讯云代金券