一区二区三区欧美日韩-一区二区三区欧美-一区二区三区免费在线视频-一区二区三区免费在线观看-久久精品店-久久精品第一页

歡迎您光臨深圳塔燈網絡科技有限公司!
電話圖標 余先生:13699882642

網站百科

為您解碼網站建設的點點滴滴

Flutter初體驗 - dart

發表日期:2018-11 文章編輯:小燈 瀏覽次數:1778

什么是 dart

剛開始接觸我經常打成 drat或者datr,這玩意到底是什么?

這個是 Google 七年前(2011年)發布發布新網頁編程語言Dart,是一種基于類編程語言(class-based programming language),在所有瀏覽器都能夠有高性能的運行效率,2011年10月10日Google宣布推出Dart的預覽版。其官網地址是:www.dartlang.org,目前已經是Dart2版本了

Google在dartlang.org公布Dart開發工具及源代碼示例等內容,同時也提供相關虛擬機平臺。
目前Dart有兩種方式運行:一是在本地的虛擬機上,二是將Dart代碼轉成Javascript,直接在Javascript引擎上運行

ECMA已經成立技術委員會TC52展開標準化Dart的工作,同時由于Dart能夠被編譯成標準的JavaScript,它能夠有效地在所有現代瀏覽器上運行。2014年7月,ECMA的第107次全體大會通過了第一版Dart語言規范。

總結下來就是 dart 是計算機編程語言,是由谷歌公司開發的網絡編程語言。就類似常見的 Java、C、Swift一樣。并且Dart是面向對象的、類定義的、單繼承的語言。它的語法類似C語言,可以轉譯為JavaScript,支持接口(interfaces)、混入(mixins)、抽象類(abstract classes)、具體化泛型(reified generics)、可選類型(optional typing)和sound type system。

看到這個答案的時候我就是這個表情


本來你只想簡單的做個 Android 開發者的,但是你不進步就被社會淘汰,比如現在 Kotlin,weex,react native 加上 Android 本身的生態混亂,各種適配已經讓你在風中凌亂,現在又來一個 dart,能給調活路嗎?

但是生活不還是得繼續嗎,學會了dart 到時候又可以拿出去跟小伙伴們吹牛逼了,所以繼續學下去。

Dart語言的特性

Flutter 是 Google 推出的移動 UI 框架,野心路人皆知,但是為什么會選擇 Dart 呢?
可以參考一下 這篇文章

Why Flutter Uses Dart ?
為什么 Flutter 會選擇 Dart ?

里面也提到了一部分特性

  • Dart 是 AOT(Ahead Of Time)編譯的,編譯成快速、可預測的本地代碼,使 Flutter 幾乎都可以使用 Dart 編寫。這不僅使 Flutter 變得更快,而且幾乎所有的東西(包括所有的小部件)都可以定制。
  • Dart 也可以 JIT(Just In Time)編譯,開發周期異??欤ぷ髁黝嵏渤R帲ò?Flutter 流行的亞秒級有狀態熱重載)。
  • Dart 可以更輕松地創建以 60fps 運行的流暢動畫和轉場。Dart 可以在沒有鎖的情況下進行對象分配和垃圾回收。就像 JavaScript 一樣,Dart 避免了搶占式調度和共享內存(因而也不需要鎖)。由于 Flutter 應用程序被編譯為本地代碼,因此它們不需要在領域之間建立緩慢的橋梁(例如,JavaScript 到本地代碼)。它的啟動速度也快得多。
  • Dart 使 Flutter 不需要單獨的聲明式布局語言,如 JSX 或 XML,或單獨的可視化界面構建器,因為 Dart 的聲明式編程布局易于閱讀和可視化。所有的布局使用一種語言,聚集在一處,Flutter 很容易提供高級工具,使布局更簡單。
  • 開發人員發現 Dart 特別容易學習,因為它具有靜態和動態語言用戶都熟悉的特性。

其實說白了就是,可以快速學習(但我不信)、有靈活的 UI、能達到原生的性能、還可以熱重載。

聽起來很厲害的樣子,那不管怎么樣還是要學一下的。畢竟Google 早就看 Java 不爽了,說不定 Android 15.0就不打算支持了咋整。雖然你可能不會做 Android 做到那個時候。

Dart 語法

由于你可能是做 Android 的所以應該是對 Java 比較熟悉(即使不是做 Android 的應該對 Java 也比較熟悉的我相信你),只需要注意下面強調的一些語法特性就行,其他的都比較類似,不需要全部都關注,到時候寫的時候可以現學現用。

  • 方法
printHello({String name}) {print("hello, my name is $name"); } 

按著 Java 的這種調用方式會直接運行不起


改成這樣就行。

 printHello(name:"簡簡單單敲代碼"); printHello({String name}) {print("hello, my name is $name"); } 

當然還有不一樣的地方,現在方法定義成兩個參數,之前那樣調用還是可以的。

 printHello({String name, String age}) {print("hello, my name is $name ,my age is $age"); }printHello(name:"簡簡單單敲代碼"); 

最后再寫個例子你就懂了

 printHello(name:"簡簡單單敲代碼"); printHello(age:18); printHello(age:18,name:"簡簡單單敲代碼");printHello({String name, String age}) { print("hello, my name is $name ,my age is $age");} 

看看輸出很有意思,跟 Java區別還是挺大的。

  • 首先入參需要指定參數名
  • 傳參可以少
  • 順序可以不一致
  • 所有函數都返回一個值,如果沒有指定返回值,則 默認把語句 return null; 作為函數的最后一個語句執行。
  • 可以把方法當做參數調用另一個方法(羨慕 swift 很久了,也被 iOS 同學鄙視很久了)。
  • 方法也可以賦值給一個變量
  • 比Java爽

是不是就可以不需要方法重載了?

  • 在Dart的構造中可以沒有方法體
  • 關鍵字
  • public、private、protected 沒有了
  • 如果一個標識符以 (_) 開頭,則該標識符 在庫內是私有的,
  • 可以不使用new關鍵字創建對象
  • Dart中變量初始值為null,即使是int類型也是null。
  • 基本類型
  • 沒有float
  • int和double是num的子類
  • String也可以使用單引號
  • Dart需要一個布爾值的時候,只有true對象才被認為true,其他都是false。
  • 操作符
    這個比較多隨便舉幾個例子
  • isis!當對象是相應類型時返回 true/false
  • ??=操作符,如果前操作數是null類型,則將后操作數賦值給前操作數;如果前操作數不等于```null``,則保持前操作數的值發生變化。
  • 使用?? 表達式。
    expr1 ?? expr2
    如果expr1的值為non-null,則返回結果為expr1;反之則返回expr2。
  • ..級聯操作符(額。。。)可以連續的操作同一對象,達到減少中間變量,減少代碼的目的。
    好像很厲害的樣子。

當然還有很多自己看文檔吧。


本頁內容由塔燈網絡科技有限公司通過網絡收集編輯所得,所有資料僅供用戶學習參考,本站不擁有所有權,如您認為本網頁中由涉嫌抄襲的內容,請及時與我們聯系,并提供相關證據,工作人員會在5工作日內聯系您,一經查實,本站立刻刪除侵權內容。本文鏈接:http://www.junxiaosheng.cn/17698.html
相關APP開發
 八年  行業經驗

多一份參考,總有益處

聯系深圳網站公司塔燈網絡,免費獲得網站建設方案及報價

咨詢相關問題或預約面談,可以通過以下方式與我們聯系

業務熱線:余經理:13699882642

Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.    

主站蜘蛛池模板: 国产欧美一区二区精品久久久| www黄色com| 最近中文字幕免费高清MV视频6| 国产精品99re6热在线播放| 欧美成人亚洲高清在线观看| 真实国产精品视频国产网| 黑色丝袜在线观看| 亚洲国产精品热久久| 国产啪精品视频网免费| 试看2分钟AA片| 国产精品久久久久久无码专区 | 日日夜夜狠狠干| 成年人视频在线观看免费| 热综合一本伊人久久精品| 99精品国产免费久久久久久下载| 久久视频在线视频观品15| 中国老头oldday tv| 麻豆COMCN| 麻豆官网入口| 中文字幕在线观看亚洲视频| 老师给美女同学开嫩苞| 在线免费看a| 蜜桃传媒星空传媒在线播放| 999视频在线观看| 欧美深深色噜噜狠狠yyy| 俄罗斯呦呦| 性欧美video| 久久精品久久久| 99久久99久久免费精品蜜桃| 且试天下芒果免费观看| 艳妇臀荡乳欲伦岳TXT下载| 久久机热视频 这里只有精品首页| 亚洲日产2020乱码草莓毕| 久久性色AV亚洲电影无码| md2.pud 麻豆传媒官网| 色偷偷综合网| 韩国伦理三级| 99久久99久久久精品齐齐鬼色| 日韩免费一区| 精品视频中文字幕| porono日本xxx|