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
58
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.4k
モバイルゲーム開発と Google App Engine
thara
0
380
GCPとAWSの比較
thara
0
130
Dart VM と Optional Typing
thara
0
400
Dartの基本
thara
0
74
Dart言語仕様 Pick-up
thara
0
620
Future & Stream in Dart
thara
0
490
Other Decks in Technology
See All in Technology
プロジェクトマネジメントをチームに宿す -ゼロからはじめるチームプロジェクトマネジメントは活動1年未満のチームの教科書です- / 20260304 Shigeki Morizane
shift_evolve
PRO
1
120
生成AI活用によるPRレビュー改善の歩み
lycorptech_jp
PRO
5
2.1k
マルチロールEMが実践する「組織のレジリエンス」を高めるための組織構造と人材配置戦略
coconala_engineer
2
420
Evolution of Claude Code & How to use features
oikon48
1
240
Ultra Ethernet (UEC) v1.0 仕様概説
markunet
3
200
Oracle Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
1.6k
組織のSREを推進するためのPlatform EngineeringとEKS / Platform Engineering and EKS to drive SRE in your organization
chmikata
0
180
OCI Security サービス 概要
oracle4engineer
PRO
2
13k
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
18k
男(監査)はつらいよ - Policy as CodeからAIエージェントへ
ken5scal
5
730
Webアクセシビリティ技術と実装の実際
tomokusaba
0
210
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
360
Featured
See All Featured
エンジニアに許された特別な時間の終わり
watany
106
240k
How STYLIGHT went responsive
nonsquared
100
6k
What does AI have to do with Human Rights?
axbom
PRO
1
2k
First, design no harm
axbom
PRO
2
1.1k
Designing for Performance
lara
611
70k
Paper Plane
katiecoart
PRO
0
47k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
140
So, you think you're a good person
axbom
PRO
2
1.9k
Navigating Team Friction
lara
192
16k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Practical Orchestrator
shlominoach
191
11k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
68
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