web app 在 chrome 以外依然很慘。
是說 flutter web 比較像是 mobile app 想要進 web 的捷徑,而不是取代原本的 web 技術。這跟 electron 之於 native desktop 是一樣的意思
Never
在 kotlin 是 Nothing
Dart 也偷了一些 c# 的概念
String? 是 String | Null 的 union type,不像 kotlin 是用 hack 的。可以預見未來Dart 和 typescript 一樣會有更多的 union type 支援
Dart 2.0 還可以重開機,加上 null safety ,但 Java 大概永遠沒辦法了,盡管 Java 最近很死命的想追上其他現代化語言…
singleton is evil !
一開始都是立意良好, 但隨著程式維護就漸漸爛了, 也不是只有 flutter 有這個問題.
不過 GUI 的程式會很想用 singleton 就是了, 因為 UI 的程式通常會很深 (react 這種 comp tree 的更嚴重), 不用 singleton 很麻煩...
這個問題要解決就是養成寫 test 的習慣, 一旦要 test 就會發現導入 singleton 很難測
當然也是會發生維護的人發現 test 過不了, 然後全砍掉, 改回用 singleton, 這就不是什麼 practice 能救的問題了
python 的 list comprehension 和 spread operator. 這些功能引入都是因為 flutter 的 UI 是直接用 dart 來寫
Dart 因為只有 google 在用, 而目前主力是 flutter, 所以整個語言都被魔改成 flutter 專用. 像是 swift 之於 iOS 那樣.
一個語言如果背後是給一個大公司專門開發, 通常都有這種毛病. 現在回想起來, 如果 Java 是被賣到 Google, 有可能會被魔改成 Android 專門的奇特語言. Oracle 雖然無恥但某方面 Java 還是有維持原本的風格