Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Dartの基本 tomochikahara @zetta1985
Slide 2
Slide 2 text
About me ● Java / JavaScript ● Google App Engine / Java, Python ● Restful API : JAX-RS ● Single Page Application ● 関数型言語とかDDDとか勉強中 ● Community ○ DDD名古屋, 名古屋Scala, Functional忍者, etc... 原知愛@zetta1985
Slide 3
Slide 3 text
Agenda ● Dartへの誤解 ● DartのEcosystem ● Dartの可能性
Slide 4
Slide 4 text
Dartへの誤解
Slide 5
Slide 5 text
Google最強言語 Dart ● Dartの言語仕様が古臭い → 親しみやすさを重視。使ってもらえる事が再重要 → 言語を進化させやすいSource Code VM ● altJSなら他の言語の方が優れている → ただのaltJSではありません。コアライブラリも豊富 → Web用LL + 型システム with JavaScript生成器付き → Client / Server 双方で使ってこそ ● 他のブラウザがDartを組み込むことはない → dart2jsによるaltJS的な用途でも何も問題はない → そもそもWebアプリには、Webサイトほど 他ブラウザ対応をする必要性はないのでは
Slide 6
Slide 6 text
DartのEcoSystem
Slide 7
Slide 7 text
Dart Runtime Dart Code Dart VM Snapshot dart2js JavaScript
Slide 8
Slide 8 text
Tools Dart Editor Dartium DartSDK Dart VM dart2js dartanalyzer dartdoc Pub (Package Manager)
Slide 9
Slide 9 text
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
Slide 10
Slide 10 text
Dartの可能性
Slide 11
Slide 11 text
言語の進化 ● DartEditor ○ issue送信機能 ○ 変化を受け入れる仕組み ■ バージョン間の差分自動修正機能 ■ automatic-dartanalyzorの無効化
Slide 12
Slide 12 text
言語の進化 ● Optional Typing ○ 言語仕様と型システムの分離 ○ 後方互換性は言語仕様のみでOK ■ 実行時に型は振る舞いに影響を与えない ○ Pluggable Type Systemへ? ■ お前が欲しい型システムはお前で書け
Slide 13
Slide 13 text
対象Platformの拡大 ● Chrome ○ いずれはDart VMを載せる、はず・・・ ○ GoogleサービスをDartでリプレイスして優れたUXを提 供出来れば強力なメッセージに ○ Chrome Packaged Apps開発に有利に ■ Webブラウザとしてではなく、 プラットフォームとして
Slide 14
Slide 14 text
対象Platformの拡大 ● 他ブラウザ ○ 標準化を"本当は"どこまで目指しているのか? ○ altJS的な扱いでも十分なのでは ■ 開発時やServer-sideにDart VMを使用 ■ 専用VMがある時点でaltJSの枠を超えている ■ ぶっちゃけ、どうでもいい?
Slide 15
Slide 15 text
対象Platformの拡大 ● Android ○ Dalvik VMからDart VMへ? ○ GoogleのJava離れ ■ GUIプログラミングとJavaとの親和性は高くない ■ Oracleさんとの仲が・・・ ○ java2dartの存在
Slide 16
Slide 16 text
まとめ ● みんなが考えるほど、用途は限定されない ● JavaScriptは過去にブラウザベンダーが Developerに押し付けたもの ● 今、Web Developmentをみんなで一から作る 意味。 ● GoogleがDeveloperに与えたチャンス