Dartの基本

 Dartの基本

A8e4760b4a4b9227a12bcd37476987fd?s=128

Tomochika Hara

July 27, 2013
Tweet

Transcript

  1. Dartの基本 tomochikahara @zetta1985

  2. About me       • Java / JavaScript • Google App

    Engine / Java, Python • Restful API : JAX-RS • Single Page Application • 関数型言語とかDDDとか勉強中 • Community ◦ DDD名古屋, 名古屋Scala, Functional忍者, etc... 原知愛@zetta1985
  3. Agenda • Dartへの誤解 • DartのEcosystem • Dartの可能性

  4. Dartへの誤解

  5. Google最強言語 Dart • Dartの言語仕様が古臭い → 親しみやすさを重視。使ってもらえる事が再重要 → 言語を進化させやすいSource Code VM

    • altJSなら他の言語の方が優れている → ただのaltJSではありません。コアライブラリも豊富 → Web用LL + 型システム with JavaScript生成器付き → Client / Server 双方で使ってこそ • 他のブラウザがDartを組み込むことはない → dart2jsによるaltJS的な用途でも何も問題はない   → そもそもWebアプリには、Webサイトほど    他ブラウザ対応をする必要性はないのでは
  6. DartのEcoSystem

  7. Dart Runtime Dart Code Dart VM Snapshot dart2js JavaScript

  8. Tools Dart Editor Dartium DartSDK Dart VM dart2js dartanalyzer dartdoc

    Pub (Package Manager)
  9. All for Web development • dart2js + Dart VM in

    server-side → Anywhere on the Web • Source Code VM + LL + Dartium → Rapid Development Cycle • LL + dartanalyzer → Dynamic + Static Type System
  10. Dartの可能性

  11. 言語の進化 • DartEditor ◦ issue送信機能 ◦ 変化を受け入れる仕組み ▪ バージョン間の差分自動修正機能 ▪

    automatic-dartanalyzorの無効化
  12. 言語の進化 • Optional Typing ◦ 言語仕様と型システムの分離 ◦ 後方互換性は言語仕様のみでOK ▪ 実行時に型は振る舞いに影響を与えない

    ◦ Pluggable Type Systemへ? ▪ お前が欲しい型システムはお前で書け
  13. 対象Platformの拡大 • Chrome ◦ いずれはDart VMを載せる、はず・・・ ◦ GoogleサービスをDartでリプレイスして優れたUXを提 供出来れば強力なメッセージに ◦

    Chrome Packaged Apps開発に有利に ▪ Webブラウザとしてではなく、 プラットフォームとして
  14. 対象Platformの拡大 • 他ブラウザ ◦ 標準化を"本当は"どこまで目指しているのか? ◦ altJS的な扱いでも十分なのでは ▪ 開発時やServer-sideにDart VMを使用

    ▪ 専用VMがある時点でaltJSの枠を超えている ▪ ぶっちゃけ、どうでもいい?
  15. 対象Platformの拡大 • Android ◦ Dalvik VMからDart VMへ? ◦ GoogleのJava離れ ▪

    GUIプログラミングとJavaとの親和性は高くない ▪ Oracleさんとの仲が・・・ ◦ java2dartの存在
  16. まとめ • みんなが考えるほど、用途は限定されない • JavaScriptは過去にブラウザベンダーが Developerに押し付けたもの • 今、Web Developmentをみんなで一から作る 意味。

    • GoogleがDeveloperに与えたチャンス