第一天玩 DART 就愛上它,來點信心吧~

昨天在 iThome 看到一則報導說 DART 這個Google 開發的新程式語言出了正式版的 SDK 了,看 iThome的介紹說最終目標是為了取代 JavaScript 這個網頁語言,事實上是如此嗎 ??

我昨天看了一下官方網站的介紹,然後今天開始自己摸,我發現 DART 的目標應該不只是要取代 JavaScript ,其實很多網站類的應用語言都有可能被幹掉啊,首當其衝應該是 nodeJS ,如果 DART 發展良好,我都覺得 PHP 會被幹掉哩。

我把玩了之後,如果技術團隊選擇用 DART 來開發網站應用,那麼只需要會 DART + CSS + SQL 即可,其他的不用了。

以前呢?如果用 PHP,那麼就是要會 PHP+JAVASCRIPT+CSS+SQL 這四種都要會才可能做出一個具備資料庫應用的網站,而 DART 卻只要三種,為何呢?

如果就 DART 的官方說明,以 DART 語言所撰寫的 CLIENT 端的部分只需要用 DART 語法就可以讓瀏覽器能夠執行,如果瀏覽器沒有支援 DARTDART本身具備相容性作法可將 DART 再轉為 JAVASCRIPT 得以做到所有瀏覽器都可以相容。如果不信,自己去下載 SDK 裝在 Windows 上,自己打開 DartEditor 跑範例就會知道從頭到尾,範例沒有一行 javascript 的情況下,瀏覽器卻能看到動態生成的 javascript。非常神奇的。

因此 DART這個語言所適用的範圍是 SERVER 端或 CLIENT 端都行的,這有點類似 nodeJS 只需要會 JAVASCRIPT+CSS+SQL  對吧,但是 nodeJS 實在是效能太糟糕,又你們知道的,JAVASCRIPT 本身的語法不適合作到太複雜,寫得越來越多就越像天書了。

DART本身就是一種具備物件導向的語言,且可以指定變數為強型,當然也可以有動態型態的變數,可強可動又具備物件導向,兼具嚴謹與彈性的作法讓我玩第一天就陷下去,真是欲罷不能啊,而為了再度證明 DART 的好,我前幾天所寫的不負責任效能測試也新增了 dart 的測試,我才花不到半天就可以從無到有無師自通寫出來,可見得 DART 多麼容易上手,這次所寫的測試,一樣有上傳到 github 了,不過由於 DART目前的Linux安裝檔好像無法在 CentOS 下執行,所以沒辦法和上一篇文章的結果合併,不過我自己在Windows上的測試效能是比 nodeJS 好上 40% 以上,但仍差距 vertx-java 甚至 vertx-js 一大段,目前才剛出 1.0,希望Google後續可以改進多點啊,要不然真浪費了這麼好的新語言了。

有興趣摸看看的,除了到 Dart 下載 SDK 馬上跑看看之外,建議接著就是看以下的章節

https://www.dartlang.org/docs/dart-up-and-running/contents/ch02.html

這個章節約略介紹了 dart 的變數類型,邏輯,物件導向,會發現簡直是結合各語言的大成。

有 PHP 慣用的 "字串內加 $xxx 的用法",C++ 才有的多重繼承,javascript 的陣列用法,Java 的 Map 和 List(其實同 javascript 陣列),總之真的建議大家摸看看。

 延伸閱讀

4 則評論在 第一天玩 DART 就愛上它,來點信心吧~.

  1. muxueqz :

    哇,还有golang也不错呢

    恩~GO/DART 兩個都是谷歌的 , @muxueqz 能說說 GO 的好處嗎 ?
    因為我自己感覺目標不同,DART 很明顯是偏 WEB 應用,當 SDK 1.0 出來時就可以看到很多 http 的相關 package
    且 DART 將會內建於 BROWSER 說,所以才說他的目標是為了取代 JAVASCRIPT
    但現在的折衷作法就是遇到不相容瀏覽器時會自動轉 JAVASCRIPT

    不知道 GO 的競爭對手是誰呢 ?

  2. anonymous :

    DART兩種執行方式都會讓原始碼容易被取得吧??

    server side 應用不會啊,如果是覺得要像java or c#編譯才安全,那php就不會那麼多人在用了
    client side 本來就會被取得和javascript 是一樣的
    所以不曉得為何你有此疑問呢 ?

發佈留言