Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Dartの基本
Search
Tomochika Hara
July 27, 2013
Technology
0
67
Dartの基本
2013 Dartの基本
https://connpass.com/event/2689/
Tomochika Hara
July 27, 2013
Tweet
Share
More Decks by Tomochika Hara
See All by Tomochika Hara
Swiftでつくるファミコンエミュレータのススメ
thara
3
2.1k
モバイルゲーム開発と Google App Engine
thara
0
350
GCPとAWSの比較
thara
0
130
Dart VM と Optional Typing
thara
0
370
Dart in なごやまつり
thara
0
56
Dart言語仕様 Pick-up
thara
0
560
Future & Stream in Dart
thara
0
450
Other Decks in Technology
See All in Technology
doda開発 生成AI元年宣言!自家製AIエージェントから始める生産性改革 / doda Development Declaration of the First Year of Generated AI! Productivity Reforms Starting with Home-grown AI Agents
techtekt
0
140
Kotlinで学ぶ 代数的データ型
ysknsid25
5
1.1k
kotlin-lsp を Emacs で使えるようにしてみた / use kotlin-lsp in Emacs
nabeo
0
150
エンジニア採用から始まる技術広報と組織づくり/202506lt
nishiuma
8
1.7k
生成AIをテストプロセスに活用し"よう"としている話 #jasstnano
makky_tyuyan
0
150
今からでも間に合う! 生成AI「RAG」再入門 / Re-introduction to RAG in Generative AI
hideakiaoyagi
1
170
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
7.3k
SFTPコンテナからファイルをダウンロードする
dip
0
160
Rubyで作る論理回路シミュレータの設計の話 - Kashiwa.rb #12
kozy4324
1
260
OpenTelemetry Collector internals
ymotongpoo
5
530
Grafana MCP serverでなんかし隊 / Try Grafana MCP server
kohbis
0
340
AI技術トレンド勉強会 #1MCPの基礎と実務での応用
nisei_k
1
190
Featured
See All Featured
The Language of Interfaces
destraynor
158
25k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Scaling GitHub
holman
459
140k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Stop Working from a Prison Cell
hatefulcrawdad
269
20k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.5k
Into the Great Unknown - MozCon
thekraken
39
1.8k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
6
690
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
Transcript
Dartの基本 tomochikahara @zetta1985
About me • Java / JavaScript • Google App
Engine / Java, Python • Restful API : JAX-RS • Single Page Application • 関数型言語とかDDDとか勉強中 • Community ◦ DDD名古屋, 名古屋Scala, Functional忍者, etc... 原知愛@zetta1985
Agenda • Dartへの誤解 • DartのEcosystem • Dartの可能性
Dartへの誤解
Google最強言語 Dart • Dartの言語仕様が古臭い → 親しみやすさを重視。使ってもらえる事が再重要 → 言語を進化させやすいSource Code VM
• altJSなら他の言語の方が優れている → ただのaltJSではありません。コアライブラリも豊富 → Web用LL + 型システム with JavaScript生成器付き → Client / Server 双方で使ってこそ • 他のブラウザがDartを組み込むことはない → dart2jsによるaltJS的な用途でも何も問題はない → そもそもWebアプリには、Webサイトほど 他ブラウザ対応をする必要性はないのでは
DartのEcoSystem
Dart Runtime Dart Code Dart VM Snapshot dart2js JavaScript
Tools Dart Editor Dartium DartSDK Dart VM dart2js dartanalyzer dartdoc
Pub (Package Manager)
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
Dartの可能性
言語の進化 • DartEditor ◦ issue送信機能 ◦ 変化を受け入れる仕組み ▪ バージョン間の差分自動修正機能 ▪
automatic-dartanalyzorの無効化
言語の進化 • Optional Typing ◦ 言語仕様と型システムの分離 ◦ 後方互換性は言語仕様のみでOK ▪ 実行時に型は振る舞いに影響を与えない
◦ Pluggable Type Systemへ? ▪ お前が欲しい型システムはお前で書け
対象Platformの拡大 • Chrome ◦ いずれはDart VMを載せる、はず・・・ ◦ GoogleサービスをDartでリプレイスして優れたUXを提 供出来れば強力なメッセージに ◦
Chrome Packaged Apps開発に有利に ▪ Webブラウザとしてではなく、 プラットフォームとして
対象Platformの拡大 • 他ブラウザ ◦ 標準化を"本当は"どこまで目指しているのか? ◦ altJS的な扱いでも十分なのでは ▪ 開発時やServer-sideにDart VMを使用
▪ 専用VMがある時点でaltJSの枠を超えている ▪ ぶっちゃけ、どうでもいい?
対象Platformの拡大 • Android ◦ Dalvik VMからDart VMへ? ◦ GoogleのJava離れ ▪
GUIプログラミングとJavaとの親和性は高くない ▪ Oracleさんとの仲が・・・ ◦ java2dartの存在
まとめ • みんなが考えるほど、用途は限定されない • JavaScriptは過去にブラウザベンダーが Developerに押し付けたもの • 今、Web Developmentをみんなで一から作る 意味。
• GoogleがDeveloperに与えたチャンス