Flutter基础介绍与实作-Day3 Flutter和React Native的比较

Flutter的特色
1.一切皆为元件(widgwt)
在Flutter中一切皆为元件,我们在开始写Flutter之前,一定要有这样的意识。这样我们就能更好的理解与学习。 在Flutter里,几乎任何东西都是元件,不仅是常见的UI元件,甚至是布局方式,样式,动画等都是widget(元件)
Widget 可以定义为 :

  • 介面元件(如按钮或输入框)
  • 文字样式(如字型或颜色)
  • 布局(如填充或滚动)
  • 动画处理(如缓动)
  • 手势处理( GestureDetector)
    每个Widget都具有丰富的属性及方法 ,属性通常用来改变元件的状态(颜色、大小等)及事件回拨方法的处理(单击事件回拨、手势事件回拨等)。 方法主要是提供一些元件的功能扩充套件。

2.Hot Reload
这个功能非常的实用与方便,可以让我们在编译开发上更加的快速,因为Hot Reload它的功能就是可以即时储存更改的程序码,并且直接在App上作更改,不用再重新更新,是不是非常的方便呢!

3.拥有原生效能
他的意思是说可以将在Flutter上编译的程序转变成各个平台都可以适用的native code让你不管是在Android或是ios都可以放心的使用。

4.支援不同平台
因Android和ios两个系统的介面呈现和内建甚至是动画都有所不同,Flutter它可以解决这个问题,让你的App不管是在哪个系统看起来都差不多,不只介面呈现可以相容就连程序码都可以互通。
Native Code运作
https://ithelp.ithome.com.tw/upload/images/20210917/20141032qACnxJChKB.jpg

Reactive 运作
图中 Bridge 指的是 Reactive SDK,因为要透过 Bridge 来跟平台沟通导致整体运行效能上较差
https://ithelp.ithome.com.tw/upload/images/20210917/20141032p16n1lZCgr.jpg

Flutter运作
Flutter是将 Widget 拉到 SDK 这一层,透过 Dart 虚拟机器,不用再透过 Bridge 转换就能绘制出,按钮、文字框…等画面,大幅提升运行效能
https://ithelp.ithome.com.tw/upload/images/20210917/20141032PFFdhjt0zx.jpg

将Flutter转换成Native Code
因为上面有说过Flutter拥有原生效能,所以可以将程序转换成Native Code在各个平台使用,接下来就让我们来看看它的转换方法吧
Flutter的架构分成三层:

  • Framework:使用Dart实作
  • Engine:使用C++实作
  • Embedder:嵌入层,把Flutter嵌入到各个平台上
    ※ Flutter SDK使用ahead-of-time(AOT)技术将Dart Code编译成Native code。
    https://ithelp.ithome.com.tw/upload/images/20210917/201410328lFxAr8IAK.jpg

今日总结
透过上述的简单介绍大家有没有比较了解Flutter的整个运作了呢!明天会开始踏入Dart程序语言的世界,大家不要担心都是一些基础的介绍,也会透过Dart线上编译器来练习,大家不必太担心。


<<:  DAY 5 『 RGB调色盘 - layout ( 约束 ) 』Part4

>>:  day 2 coroutine和架构组件

iPhone维修售後网点如何选择?从了解维修基础知识开始

iPhone手机也是我们通常说的苹果手机,苹果手机在乔布斯的带领下开创了庞大的世界市场,在进入中国市...

Day25 - 【概念篇】Keycloak使用基本概念 - 第一部分: Scopes & Claims

本系列文之後也会置於个人网站 这之前看到的scopes 之前已经看到我一些使用scope的地方: ...

day9 : logging集中(下)

昨天完成k8s log的来源设定,但是查找log如果都要到vector查说实在有点麻烦,因此今天就来...

D5 - 如何用 Google Apps Script 搭配 HTML 客制 Google 表单的回应信件?

来到了第五天,关於寄信可以进入比较进阶的操作。但一样先讲结论,如果你很急着用,可以直接使用这份 Ad...

05 - Uptime - 掌握系统的生命徵象 (3/4) - 透过 Kibana 观看心电图及设定警报

Uptime - 掌握系统的生命徵象 系列文章 (1/4) - 我们要观测的生命徵象是什麽? (2/...