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
Kuno Ayana
August 02, 2025
Programming
300
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.4k
ぬるぬる動かせ! Riveでアニメーション実装🐾
kno3a87
1
2k
Flutterを言い訳にしない!アプリの使い心地改善テクニック5選🔥
kno3a87
3
840
iOS 18 がやってきた!
kno3a87
1
270
おうちハッカソン #2
kno3a87
0
160
ミクアカ成果報告会
kno3a87
0
77
SXSW2021
kno3a87
0
81
ミクアカ中間発表会
kno3a87
0
59
大学院進学ガイダンス
kno3a87
0
110
Other Decks in Programming
See All in Programming
関数型プログラミングのメリットって何だろう?
wanko_it
0
100
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
290
SLOをサービス品質の共通言語にするために 取り組んできたこと
wakana0222
0
290
The Bowling Game- From Imperative to Functional Programming - Part 1
philipschwarz
PRO
0
240
1B+ /day規模のログを管理する技術
broadleaf
0
120
The NotImplementedError Problem in Ruby
koic
1
1.1k
エンジニアと一緒にテストコードの設計と実装を改善した話
mototakatsu
0
250
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
190
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
0
320
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
190
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
17
8.5k
Signal Forms: Details & Live Coding @enterJS 2026 in Mannheim
manfredsteyer
PRO
0
210
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
960
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
55k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
30 Presentation Tips
portentint
PRO
1
340
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
610
KATA
mclloyd
PRO
35
15k
Test your architecture with Archunit
thirion
1
2.3k
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