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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kuno Ayana
August 02, 2025
Programming
290
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Dart 参戦!!静的型付き言語界の隠れた実力者
https://flutterkaigi.connpass.com/event/362550/
Kuno Ayana
August 02, 2025
More Decks by Kuno Ayana
See All by Kuno Ayana
アクセシビリティ、まだ完璧じゃないけど ── “今から”できること
kno3a87
2
1.3k
ぬるぬる動かせ! Riveでアニメーション実装🐾
kno3a87
1
2k
Flutterを言い訳にしない!アプリの使い心地改善テクニック5選🔥
kno3a87
3
840
iOS 18 がやってきた!
kno3a87
1
270
おうちハッカソン #2
kno3a87
0
160
ミクアカ成果報告会
kno3a87
0
72
SXSW2021
kno3a87
0
78
ミクアカ中間発表会
kno3a87
0
57
大学院進学ガイダンス
kno3a87
0
110
Other Decks in Programming
See All in Programming
依存関係から依存物へ―Dependencyという言葉の歴史をひも解く
j_lee
0
110
The ROI of Quarkus for Spring Boot Applications
hollycummins
0
110
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
3.6k
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
570
The NotImplementedError Problem in Ruby
koic
1
710
AIとASP.NET Coreで雑Webアプリを作った話
mayuki
0
510
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
330
3Dシーンの圧縮
fadis
1
740
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
130
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
190
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
12
3.6k
Oxcを導入して開発体験が向上した話
yug1224
4
310
Featured
See All Featured
Between Models and Reality
mayunak
4
330
Producing Creativity
orderedlist
PRO
348
40k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
400
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
840
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Typedesign – Prime Four
hannesfritz
42
3.1k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
390
The browser strikes back
jonoalderson
0
1.2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Everyday Curiosity
cassininazir
0
230
Embracing the Ebb and Flow
colly
88
5.1k
How STYLIGHT went responsive
nonsquared
100
6.2k
Transcript
None
Dart 使ったことある人
Flutter 以外の目的で Dart を使ったことある人
Dart って Flutter のため だけにある言語でしょ? 🤔
Dart って Flutter のため だけにある言語でしょ? 🤔 そんなことない!
Dart は Flutter 以外にも使われてる! • CLI ツールやサーバーサイドにも利用可能 ◦ Dart 公式ドキュメントでも紹介されている
◦ shelf: Dart 公式が出してる サーバーアプリケーション用のフレームワークも • Wasm サポートも ◦ こちらもDart 公式ドキュメントで紹介
そんな Dart をご紹介💖
そもそも Dart って なんで生まれたの? 🤔
Dart の誕生 • 2011年に Google が JavaScript の限界を感じて作った新言語 ◦ Google
はより構造化された Web 開発のため に Dart を設計 • Dart はそのままブラウザで動く言語として設計された ◦ Dartium(Dart VM を内蔵した Chromium)を公開 ◦ dart2js により JavaScript への変換もサポート https://www.informationweek.com/it-leadership/google-aims-dart-to-kill-javascript https://www.wired.com/2011/10/google-throws-new-dart-programming-language-at-the-web
Dart の誕生 • 2011年に Google が JavaScript の限界を感じて作った新言語 ◦ Google
はより構造化された Web 開発のため に Dart を設計 • Dart はそのままブラウザで動く言語として設計された ◦ Dartium(Dart VM を内蔵した Chromium)を公開 ◦ dart2js により JavaScript への変換もサポート https://www.informationweek.com/it-leadership/google-aims-dart-to-kill-javascript https://www.wired.com/2011/10/google-throws-new-dart-programming-language-at-the-web すべてのブラウザで Dart を動かせるよう配慮 ✨
Dart の誕生 • 2011年に Google が JavaScript の限界を感じて作った新言語 ◦ Google
はより構造化された Web 開発のため に Dart を設計 • Dart はそのままブラウザで動く言語として設計された ◦ Dartium(Dart VM を内蔵した Chromium)を公開 ◦ dart2js により JavaScript への変換もサポート https://www.informationweek.com/it-leadership/google-aims-dart-to-kill-javascript https://www.wired.com/2011/10/google-throws-new-dart-programming-language-at-the-web すべてのブラウザで Dart を動かせるよう配慮 ✨ 失敗
Dartium の孤立と Dart への期待薄 • Apple / Microsoft など他のブラウザベンダーが Dart
VM の組み込みを拒否 ◦ Google だけがサポートすることで「分断されたWeb」が懸念された • W3C などの標準化団体も Dart を採用せず 結果… Dartium は 2017年に廃止 http://xahlee.info/comp/CoffeeScript_Dart_Javascript.html
Dartium の孤立と Dart への期待薄 • Apple / Microsoft など他のブラウザベンダーが Dart
VM の組み込みを拒否 ◦ Google だけがサポートすることで「分断されたWeb」が懸念された • W3C などの標準化団体も Dart を採用せず 結果… Dartium は 2017年に廃止 http://xahlee.info/comp/CoffeeScript_Dart_Javascript.html JS の代替になれず … その後しばらく Dart は低迷期間へ …
2018年2月
https://news.elearninginside.com/worst-coding-languages-learn-2018
https://www.codementor.io/blog/worst-languages-to-learn-3phycr98zk ワースト1位😭
もう Dart は終わりなのか …?
しかし
同 2018年2月
None
Dart2 登場の アナウンス
None
『Web とモバイルのクライアントサイドに 独自に最適化された言語である』 という Dart のビジョン達成に向けた 言語の再起動
2018年8月
None
Dart2 リリース🎉
そして
2018年12月
None
Flutter1.0 登場🎉
Dart 復活
Flutter の登場で Dart 復活! • 2018年 Flutter 1.0 登場🎉 •
Flutter とは? ◦ オープンソースの UI フレームワーク ◦ モバイル・Web・デスクトップなど マルチプラットフォーム向けアプリケーションを開発可能 Dart が採用された理由 • 直接的に UI をコードで表現 できるように • Hot Reload 機能を備えている(AOT / JIT コンパイル) http://xahlee.info/comp/CoffeeScript_Dart_Javascript.html
UI を Dart で記述 レンダリングエンジンで 直接描画
UI を Dart で記述 レンダリングエンジンで 直接描画 Dart で書いた Widget が
そのまま表示される
Flutter 開発での Dart の恩恵 • Dart で書いた Widget がそのまま表示される ◦
設計と表示がズレにくい • UI 構造そのものに型がある ◦ Text(title)で title が String? だったらエラー ▪ 開発中にバグを未然に防げる!
Dart はこれからも進化し続ける 2021年 : Dart 2.12 で null safety に
2023年 : Dart 3.0 で 100% null safety に records や sealed class などで型の表現力が飛躍的に向上 2024年:Wasm サポート開始・CLI や package の改善 2025年 : Dart 3.7 で 新 formatter の導入・wildcard 変数が利用可能に linter も強化されルールの統一性が向上 2025年 : Dart 3.8 で Null-aware collection 要素の追加・Linux クロスコンパイル ・formatter のスタイル選択オプションも実装されチームでより使いやすく
Dart はこれからも進化し続ける 2021年 : Dart2.12 で null safety に 2023年
: Dart3.0 で 100% null safety に records や sealed class などで型の表現力が飛躍的に向上 2024年:Wasm サポート開始・CLI や package の改善 2025年 : Dart3.7 で 新 formatter の導入・wildcard 変数が利用可能に linter も強化されルールの統一性が向上 2025年 : Dart3.8 で Null-aware collection 要素の追加・Linux クロスコンパイル ・formatter のスタイル選択オプションも実装されチームでより使いやすく 型もツールもプラットフォームも 進化が止まらない! 🔥
ちなみに
https://www.codementor.io/blog/worst-languages-2019-6mvbfg3w9x
https://www.codementor.io/blog/worst-languages-2019-6mvbfg3w9x ワースト1位を脱却
まとめ
たしかに Flutter 目的で 使われがちな Dart
一時はワースト 1位でした
が
進化し続けてる!
いつかベスト 1位になるぞ!
ありがとうございました! @kuno @Kunodayo_oboete