Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Dartエコシステムの紹介
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
takayuki-hayashi
October 21, 2017
Programming
690
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
520
いかにしてテスト文化を醸成させたか.pdf
takayukihayashi
3
1.6k
リーダー、マネージャーが存在しない開発組織のつくり方
takayukihayashi
1
29k
AngularDartでDart入門
takayukihayashi
1
1k
E2Eテスト駆動開発実践記_-_Web用.pdf
takayukihayashi
2
3.5k
KubernetesとGaugeを活用したTDD開発事例
takayukihayashi
0
1k
FlutterとAngularDartを DIとClean Architectureで いい感じにする
takayukihayashi
3
2.3k
Gaugeによるe2eテスト
takayukihayashi
5
29k
Other Decks in Programming
See All in Programming
Webの地図
yosuke_furukawa
PRO
6
5k
The Rails Doctrine Decade
koic
2
430
手動確認はもう限界 〜XCUITestでCustom URL Schemeの遷移を起動種別ごとに自動テストする〜 / Testing Custom URL Schemes with XCUITest
otouto
0
360
JPUG勉強会 OSSデータベースの内部構造を理解しよう(第2回)
oga5
0
280
市販E-Readerを乗っ取れ 〜Embedded Swiftで電子ペーパーガジェットを制御する〜
trickart
0
220
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
200
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
330
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
120
MVNOの申込からeSIM開通までをiOSアプリでつなぐ- 本人確認・MNP・通信事業者基盤をまたぐ実装
satotakeshi
0
510
技術的負債の返済は、AI時代の複利で効く投資 — 経営としての意思決定とその遂行
curekoshimizu
1
2k
Ghostty + Neovimで作る 透明でカッコ良い開発環境
j341nono
0
150
thread_parallel_with_free-threaded_Python_and_NumPy.pdf
riku_sakamoto
0
370
Featured
See All Featured
Designing for Performance
lara
611
70k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
The Curse of the Amulet
leimatthew05
3
15k
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.1k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
500
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
530
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Discover your Explorer Soul
emna__ayadi
2
1.3k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
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倍以上 になっている
ご清聴ありがとうございました。