最近蠻有興趣的東東...
dart is dead... 因為大概不會進 chrome browser。
我建議不要跳這個坑。TypeScript, ES6 會比較有前途。
上禮拜才剛拜讀完Dart的語法,深覺得Dart是集Python, JS等各家程式語言之大成的結晶之作,如果就這麼死了,真是紅顏薄命啊。
其實 Dart 比較像 C#,下一版 1.9 要加上 await/async ,這 C# 才有的東西啊!
Dart 未來最慘的情況應該是跟 GWT 一樣,就是 Google 內部自己也有在用,不過已沒什麼心力再發展,也不會有什麼盛況出現 (像 golang 就相反,被大家捧上天)。如果你哪天看到 Dart 被送進 Apache Foundation 也不要覺得意外。
我從一年多前就開始用 Dart 開發,寫了一個不算小的 messenger (chrome app),後來又用 AngularDart 寫了兩三個 SPA 的網站。會做這麼大的賭注就是拼 Chrome之後會有 Dart VM,一旦 Dart 在 Chrome 有原生 VM,那麼 Dart 的發展肯定一飛沖天。
結果 Google 一直遲遲不肯發表 DartVM 進 Chrome 的時程,越拖越久,猜測應該是 Google 內部的純 js 派反對 (或甚至是 Chrome 團隊反對)。原本 Dart SDK 附屬的 Dartium (一個實驗版的 Chromium,內建 Dart VM) 的版本一直是超前 Chromium 測試版的,結果現在 Dartium 居然停在 38 版 (正式版都到 41 了啊)。這是怎樣,不玩了嗎?
後來去年十月 Angular 團隊發表 2.0。他們打算用 TypeScript 來同時開發 AngularJs 與 AngularDart (用 code generation),這這這... 居然用 js 去產生 Dart 程式碼,這不是反了嗎? 擺明了 Dart 是個次等公民。
就看著 Dart 在 web 這一端一步步的慢下來 (server side Dart 反而有進展),在 mailing list 上也看到一些 雜訊 ,似乎 Dart 現在的定位退回到 CoffeeScript 一樣了,就是另一個可以 compile 成 js 的語言,而不是嶄新的 VM。
這些零零碎碎的跡象,一點一滴的打擊我們這些 Dart 的支持者,現在都不敢抱著希望了....
所以今年在開發 kaif 時,一開始我就不太願意用 Dart 開發,盡管我已經投資在 Dart 一兩年了。不過呢,我一開始用 js 開發 kaif 前端,寫了幾個 Controller,但不到一天馬上就放棄了。ES5 js 跟 Dart 相比根本是個垃圾,寫過一年的 Dart 是沒辦法退回去寫純 js 的 (由奢入儉難...)。所以最後還是回到 Dart,因為我想快點完成 kaif 第一版。
anyway,我已經做好心裡準備了,如果後來 Dart 死掉的話,明年就把 kaif 前端再重寫一次。我也沒太吃虧,因為當前 web 前端處在一個奇特的狀態 -- 你今年選了個最紅的 js framework,到了明年也會被打成落水狗。感覺現在選什麼都不影響未來的命運...