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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
takayuki-hayashi
October 21, 2017
Programming
680
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Dartエコシステムの紹介
Dartでいろいろ始める時にこのあたりを知っているといろいろ捗る可能性があります。
takayuki-hayashi
October 21, 2017
More Decks by takayuki-hayashi
See All by takayuki-hayashi
E2Eの過去・現在・未来 そしてE2Eにおいて重要なこと
takayukihayashi
1
500
いかにしてテスト文化を醸成させたか.pdf
takayukihayashi
3
1.5k
リーダー、マネージャーが存在しない開発組織のつくり方
takayukihayashi
1
29k
AngularDartでDart入門
takayukihayashi
1
990
E2Eテスト駆動開発実践記_-_Web用.pdf
takayukihayashi
2
3.5k
KubernetesとGaugeを活用したTDD開発事例
takayukihayashi
0
990
FlutterとAngularDartを DIとClean Architectureで いい感じにする
takayukihayashi
3
2.3k
Gaugeによるe2eテスト
takayukihayashi
5
28k
Other Decks in Programming
See All in Programming
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
550
「なぜそう決めたのか」を残し続ける仕組み ― Notion AI カスタムエージェント × Slack連携による設計判断の自動記録 - NIKKEI Tech Talk #47
niftycorp
PRO
0
210
TSKaigi Night Talks 2026_TypeScriptでサプライチェーンの整合性を型に閉じ込める
geekplus_tech
0
400
Inside Stream API
skrb
1
740
並列実装の現場、2ヶ月間実務でAIを使い倒したAIもPCも私も限界が近い
ming_ayami
0
130
そのテスト、説明できますか?~LWテスト戦略FW~のご紹介
nakahara
0
150
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
210
Agentic UI
manfredsteyer
PRO
0
180
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
11
4.3k
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
140
AIで効率化できた業務・日常
ochtum
0
140
Webフレームワークの ベンチマークについて
yusukebe
0
170
Featured
See All Featured
The Mindset for Success: Future Career Progression
greggifford
PRO
0
360
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
410
Joys of Absence: A Defence of Solitary Play
codingconduct
1
400
A better future with KSS
kneath
240
18k
Skip the Path - Find Your Career Trail
mkilby
1
150
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
780
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
210
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
Transcript
Dartエコシステム
自己紹介 • 名前:林 尚之(はやし たかゆき) • Agile(XP)、TDD、DDDとかが好き サーバーサイドに生息することが多い(WebもSSRが多かった) • Dartを使い始めた理由は当時Dartが目指した世界に共感したのと
フロントエンドでも静的型付言語を使いたかったから twitter: @t_hyssh
Dart 1.0がリリースされたのが2013年11月13日
元々周辺ツールなどを重要視していた Dart開発チームでしたが、4年経ちエコシ ステムもさらに成熟
個人的によく使うもの • sass_builder • fluri • json_serializable • quiver •
mockito • angular_analyzer_plugin • ng2gen
sass_builder • scssファイルをいい感じにしてくれるライブラリー • yamlのtransformerに定義すればpub serveやpub build時にscssからcss ファイルを自動生成してくれる (別途sassをインストールする必要はない) •
cssファイルも同時にバージョン管理したい場合はwatch用の処理をちょっ と書くだけでOK
sass_builder ※AngularDartと併用する場合 はangularより先に定義しないと いけない
sass_builder ※外部ライブラリーの scssを import可能。
sass_builder(CSSファイルも管理する場合) 上記内容にて${project_root}/tool/sass/watch.dartを 作成し、runしておけば変更を検知して scssファイル からcssファイルを生成してくれる。
fluri • サーバーへのリクエストURLをfluentな感じで生成できる • lightweightなので扱いやすい
fluri
json_serializable • json ⇔ Dartオブジェクトの変換用に使う • ソースコードを自動生成させて使う • 自動生成後に修正しないといけないのがちょっと面倒
json_serializable libraryとJsonSerializableのアノテーショ ン定義が必要 上記ファイルをrunしておけば変更を検 知して自動生成する。 lib/src/json/sample.dart tool/source/watch.dart
json_serializable 上記がファイルが自動生成される 自動生成された情報を基に修正
json_serializable(http + fluri)
mockito • テスト用mockライブラリー • Javaのmockitoにインスパイアされてる • (個人的には)直感的に書けると思う • mockクラスを定義しないといけないのが面倒
mockito Taskをモックにしたい場合
mockito MockTaskというTaskのMockクラスを定義
quiver • DartのSDKには無いユーティリティなライブラリ • 昔のJakarta Commons的立ち位置(Javaな人しか分からない??) • Optionalのために使ってる ◦ Dart2.0はnull-safeにはならないようなので今後も重宝しそう
• 他にも便利そうなのが多そう(未確認)
angular_analyzer_plugin • AngularDartの開発効率Up • IDE等と連携してHTMLテンプレート側での静的チェックとサジェストが可 能 • Dart2.0になるとanalysis_options.yamlに定義するだけでよくなる • 現状(Dart1.24.2)では有効にするのに手間がかかる
ng2gen • AngularDartで必要になる物のscaffoldを作成出来る ◦ component、service、route、etc...
今後期待するもの
今後期待するもの • dazel • (新)angular_analyzer_plugin
dazel • Hot Reload! • まだEXPERIMENTAL(実験)の段階 ◦ AngularDartのサポートはまだっぽい ▪ 自分の環境ではうまく動かない・・・
(新)angular_analyzer_plugin • analysis_options.yamlに記述するだけでOK • AngularDart4.0以降かつDart1.25.0-dev.12.0以降で動作 • 自分の環境ではまだうまく動かない・・・
開発を効率化する仕組みは確実に進化中
FlutterがDartにおけるキラーアプリになる可 能性あり
flutterのgithubスター獲得推移 ここ1ヶ月の伸びが凄い! (reactnativeと比べてはいけない・・・)
https://pub.dartlang.org/ にアップロードされるライブラリーの数と頻度は 日々増え続けていて、1年前に比べると1日に アップロードされるライブラリーの数は3倍以上 になっている
ご清聴ありがとうございました。