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 in なごやまつり
Search
Tomochika Hara
August 25, 2013
Technology
0
56
Dart in なごやまつり
2013/08/25 なごやまつり
https://connpass.com/event/2414/
Tomochika Hara
August 25, 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の基本
thara
0
67
Dart言語仕様 Pick-up
thara
0
560
Future & Stream in Dart
thara
0
450
Other Decks in Technology
See All in Technology
型システムを知りたい人のための型検査器作成入門
mame
15
3.7k
白金鉱業Meetup_Vol.19_PoCはデモで語れ!顧客の本音とインサイトを引き出すソリューション構築
brainpadpr
2
320
(非公式) AWS Summit Japan と 海浜幕張 の歩き方 2025年版
coosuke
PRO
1
230
SFTPコンテナからファイルをダウンロードする
dip
0
170
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
38k
Devin(Deep) Wiki/Searchの活用で変わる開発の世界観/devin-wiki-search-impact
tomoki10
0
310
ユーザーのプロフィールデータを活用した推薦精度向上の取り組み
yudai00
0
300
脅威をモデリングしてMCPのセキュリティ対策を考えよう
flatt_security
4
1.6k
「規約、知識、オペレーション」から考える中規模以上の開発組織のCursorルールの 考え方・育て方 / Cursor Rules for Coding Styles, Domain Knowledges and Operations
yuitosato
6
1.6k
2025/6/21 日本学術会議公開シンポジウム発表資料
keisuke198619
1
220
新卒3年目の後悔〜機械学習モデルジョブの運用を頑張った話〜
kameitomohiro
0
220
宇宙パトロール ルル子から考える LT設計のコツ
masakiokuda
2
100
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.8k
Statistics for Hackers
jakevdp
799
220k
Facilitating Awesome Meetings
lara
54
6.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
329
24k
Site-Speed That Sticks
csswizardry
10
630
Designing Experiences People Love
moore
142
24k
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Speed Design
sergeychernyshev
30
990
RailsConf 2023
tenderlove
30
1.1k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Transcript
Dartの型システム @zetta1985 原 知愛 Dart / Java / JS /
DDD / REST Google信者 #SugoiH_c0hama #nagoya.dart 2013/08/25 なごやまつり
Dart Runtime Dart Code Dart VM Snapshot dart2js JavaScript V8
etc...
Isolates Isolate Receive Port Isolate Receive Port Send Port Send
Port Snap shot Snap shot
Development Tools Dart Editor Dartium (Browser) Dart SDK Dart VM
dart2js dart analyzer dartdoc Pub (Package Manager) Eclipse Plugin IntellJ IDEA Plugin
Language Spec 基本はゆるふわなJava • 言語設計者はGilad Bracha氏 ◦ Java言語仕様 ◦ JavaVM仕様
◦ Pluggable (Optional) Type System提唱 • 他、Jochua J. Bloch氏(Effective Javaの人)も
Language Spec • Optional Parameter • Named Parameter • Method
Cascading • Const Variable • Generics • Named Constructor • Factory Constructor • Library Private • Implicit Interface • Mix-in
動的型付言語(実行環境) + 型検査器(ツール) || Optional Typing
Java-likeなLL(Dart VM) + dartanalyzer || Dart
良い所 Future & Stream API
Future: File IO new File("./foo.txt").fullPath() .then((fullpath) { print("foo.txt's fullpath is
$fullpath"); }) .catchError((e) { print("foo.txt is not exists."); });
Future: HTTP Request new HttpClient().getUrl(url).then((req){ req.headers.add("contentType", "text/html"); return req.close(); }).then((res)
{ res.transform( new StringDecoder()).forEach(print); });
Stream: Standard Input print("Please Input A."); var lines = stdin
.transform(new StringDecoder()) .transform(new LineSplitter()); lines.listen((str){ print("Your input's length : ${str.length}"); print(str == "A" ? "Just A." : "Not A."); });
Stream: DOM Event var stream = query("input#hello").onClick; stream.listen((e) { window.alert("hello,
world."); });
Stream: HTTP Server HttpServer.bind("127.0.0.1", 8080).then((server) { server.listen((req) { req.response.write("This message
from my server."); req.response.close(); }); });
Stream: File Read Stream<List<int> stream = new File('bar.txt').openRead(); StreamSubscription<List<int>> subscription;
subscription = stream.listen((bytes) { for (var b in bytes) { print(new String.fromCharCode(b)); if (b == '#'.codeUnitAt(0)) { subscription.cancel(); return; } } });
DartとGoogle • Dartの一番のUserは、Google自身 • SPDYのような普及方法を目指す? • GoogleはWebエンジニアと共に、 Web開発の未来を作りたい。 • JavaScriptを駆逐するわけではない
Dartのこれから • dartanalyzerをもっと進化させたい (個人的に) • Chromeにさえ乗っかれば・・・ • Google App Engine対応が気になる
• Android対応すればワンチャンあるで
Thanks