首頁>Club>
9
回覆列表
  • 1 # 老季架構之路

    Dart語言的一些基礎卻現代的特性列表:

    非原始型別。Dart中,一切皆是物件。甚至bool,等價於Java中的boolean,也是一個物件。純面向物件程式語言應該是完全關乎物件的。Java中的原始型別僅僅是實現的細節。

    大幅簡化的冗雜語法。建立編譯期已知的公開常量可能透過關鍵字const來完成。不再有public static final。關鍵字public和private不再是語言的一部分。變數、方法和類的可見性基於Dart的命名規範:一切預設為public。如果實體名以”_”開頭,那麼它就是private的。已命名和工廠建構函式。Java要求構造器依據類名命名,例如Rectangel。如果建立了Rectangle(int left, int top, int right,int bottom)和Rectangle(int left, int top,int width, int height),那麼你將以編譯期錯誤結束。因為Java使用引數來分辨構造器。解決這個問題的一種方式是建立一個靜態工廠方法。Dart以允許你建立已命名(和可選的工廠)建構函式的方式方法修改了這個問題。現代引數傳遞:Dart支援按位和已命名引數。他們是可選的,並且具有預設值。還有:混合型別(mixins),隱式介面,isolates(簡單的併發模型)。

    但任何語言都有它的有點和缺點,推動Dart到Android上顯然表示Google將不得不努力工作以解決諸如效能、相容性和互通性等問題。

    所以做Android 開發只要你的基礎紮實,無需在意什麼語言開發,任何語言都能很好的開發

  • 2 # 尐鳶

    個人覺得,就目前而言,做Android開發最理想的語言是Kotlin。

    Dart其實早在2011年就出現了,只是一直默默無聞,受眾太小,如果不是Flutter,鬼知道它是個什麼東西。而Kotlin不同,它是2017年Google IO大會推出的,並定位為Android官方開發語言出現的,轟動一時。Kotlin以其精簡的語法和對java的100%相容而為開發者接納,對於新專案,都會考慮用到它。Kotlin就是改良版的Java。

    在原生開發方面,Kotlin 基本和 Java 的完善程度等同,同時又被 Google 支援,是所有第三方語言都達不到的。Android 又不會用 Dart2 重寫,所以原生開發它基本沒戲。

  • 3 # EmacserVimer

    Google現在真的是處於一個對Java騎虎難下的尷尬境地,Oracle時不時出來噁心一下大家就搞得Google很難受,不過用不用Java不光由Google決定,應用開發商也會有自己的選擇,Google並不敢孤注一擲。

    甲骨文試圖逼Google就範:9行程式碼引發的危機

    Java本來是開源技術,大家都只要遵守Java的開源協議,就可以免費的使用Java語言,可是建立Java的Sun公司被Oracle收購之後,Oracle變得有點為所欲為了,眼紅Android給Google帶來的商業利益,Oracle很明顯不願意為其他企業免費做嫁衣。

    2010年甲骨文公司一直訴狀將Google告上法庭,聲稱Google在開發Android時沒有經過許可就使用了Oracle應用程式設計介面資料包。 即使Google 為了避免版權危機重寫了Java API,可是還是因為有跟Oracle JDK相同的九行程式碼,最終導致了版權危機。當然這其實是同一位工程師在兩家不同的公司工作過寫下的相同的程式碼。可是因為這9行程式碼,甲骨文曾經要求Google賠償88億美金。

    從那之後Google一直在嘗試替代Java的可能方案,先後傳出過自家的Go、Python,以及JetBrains的Kotlin,現在又弄出了Flutter(基於Dart語言)作為客戶端解決方案,都是想要儘可能擺脫Java的掣肘。

    只不過替代的難度很大,這麼多年的技術棧積澱,Google對於Android生態的管控又遠遠不如蘋果,各手機大廠商的Android版本也不總是能第一時間跟上Google的步伐。

    蘋果生態都在自己的管控下,能夠將iOS技術棧一夜之間從Objective-C更換到swift,反過來Google不行,現在Android10都出來了,使用Android 7.0以下的使用者佔比依然超過了70%,Google有心殺賊、可是偏偏無力迴天,正可謂騎虎難下。

    更激進地、Google為了解決這個問題,Google甚至專門開發了一個Fuchsia這樣一個新的作業系統,試圖隨時替代Android,可是到目前為止Google也沒敢強行上馬。

    阿里、騰訊都在用,Flutter促進Dart迎來新轉機?

    Flutter是完全基於Dart語言的一個開發框架,它更像是個前端解決方案,想必大家都已經很熟悉Electron、React Native這些前端客戶端解決方案,這些方案的優勢在於減少在iOS和Android兩端的重複開發,儘可能的一次編寫多端執行,減少開發成本。

    Flutter的優勢在於,有Android Studio這樣一個出色的IDE支援,能夠開發Android、iOS、以及Windows等多終端應用,可以最大限度的實現技術複用,尤其是減少了很大的移動端開發成本。

    阿里旗下二手交易平臺閒魚就是採用的flutter作為核心技術棧,儘管暴露出了一些問題,但是這卻讓閒魚團隊用了很小的人力成本就開發和維護了這個阿里內部使用者量排名前幾的App,很明顯Flutter很好的滿足了閒魚的技術需求。除此之外,Google自己旗下的應用,騰訊的Now直播團隊,滴滴、京東都在進行一些Flutter的嘗試,相信未來基於Flutter的應用會越來越多。

  • 中秋節和大豐收的關聯?
  • 幼兒園入學前需要做哪些準備?