Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Dartエコシステム
Slide 2
Slide 2 text
自己紹介 ● 名前:林 尚之(はやし たかゆき) ● Agile(XP)、TDD、DDDとかが好き サーバーサイドに生息することが多い(WebもSSRが多かった) ● Dartを使い始めた理由は当時Dartが目指した世界に共感したのと フロントエンドでも静的型付言語を使いたかったから twitter: @t_hyssh
Slide 3
Slide 3 text
Dart 1.0がリリースされたのが2013年11月13日
Slide 4
Slide 4 text
元々周辺ツールなどを重要視していた Dart開発チームでしたが、4年経ちエコシ ステムもさらに成熟
Slide 5
Slide 5 text
個人的によく使うもの ● sass_builder ● fluri ● json_serializable ● quiver ● mockito ● angular_analyzer_plugin ● ng2gen
Slide 6
Slide 6 text
sass_builder ● scssファイルをいい感じにしてくれるライブラリー ● yamlのtransformerに定義すればpub serveやpub build時にscssからcss ファイルを自動生成してくれる (別途sassをインストールする必要はない) ● cssファイルも同時にバージョン管理したい場合はwatch用の処理をちょっ と書くだけでOK
Slide 7
Slide 7 text
sass_builder ※AngularDartと併用する場合 はangularより先に定義しないと いけない
Slide 8
Slide 8 text
sass_builder ※外部ライブラリーの scssを import可能。
Slide 9
Slide 9 text
sass_builder(CSSファイルも管理する場合) 上記内容にて${project_root}/tool/sass/watch.dartを 作成し、runしておけば変更を検知して scssファイル からcssファイルを生成してくれる。
Slide 10
Slide 10 text
fluri ● サーバーへのリクエストURLをfluentな感じで生成できる ● lightweightなので扱いやすい
Slide 11
Slide 11 text
fluri
Slide 12
Slide 12 text
json_serializable ● json ⇔ Dartオブジェクトの変換用に使う ● ソースコードを自動生成させて使う ● 自動生成後に修正しないといけないのがちょっと面倒
Slide 13
Slide 13 text
json_serializable libraryとJsonSerializableのアノテーショ ン定義が必要 上記ファイルをrunしておけば変更を検 知して自動生成する。 lib/src/json/sample.dart tool/source/watch.dart
Slide 14
Slide 14 text
json_serializable 上記がファイルが自動生成される 自動生成された情報を基に修正
Slide 15
Slide 15 text
json_serializable(http + fluri)
Slide 16
Slide 16 text
mockito ● テスト用mockライブラリー ● Javaのmockitoにインスパイアされてる ● (個人的には)直感的に書けると思う ● mockクラスを定義しないといけないのが面倒
Slide 17
Slide 17 text
mockito Taskをモックにしたい場合
Slide 18
Slide 18 text
mockito MockTaskというTaskのMockクラスを定義
Slide 19
Slide 19 text
quiver ● DartのSDKには無いユーティリティなライブラリ ● 昔のJakarta Commons的立ち位置(Javaな人しか分からない??) ● Optionalのために使ってる ○ Dart2.0はnull-safeにはならないようなので今後も重宝しそう ● 他にも便利そうなのが多そう(未確認)
Slide 20
Slide 20 text
angular_analyzer_plugin ● AngularDartの開発効率Up ● IDE等と連携してHTMLテンプレート側での静的チェックとサジェストが可 能 ● Dart2.0になるとanalysis_options.yamlに定義するだけでよくなる ● 現状(Dart1.24.2)では有効にするのに手間がかかる
Slide 21
Slide 21 text
ng2gen ● AngularDartで必要になる物のscaffoldを作成出来る ○ component、service、route、etc...
Slide 22
Slide 22 text
今後期待するもの
Slide 23
Slide 23 text
今後期待するもの ● dazel ● (新)angular_analyzer_plugin
Slide 24
Slide 24 text
dazel ● Hot Reload! ● まだEXPERIMENTAL(実験)の段階 ○ AngularDartのサポートはまだっぽい ■ 自分の環境ではうまく動かない・・・
Slide 25
Slide 25 text
(新)angular_analyzer_plugin ● analysis_options.yamlに記述するだけでOK ● AngularDart4.0以降かつDart1.25.0-dev.12.0以降で動作 ● 自分の環境ではまだうまく動かない・・・
Slide 26
Slide 26 text
開発を効率化する仕組みは確実に進化中
Slide 27
Slide 27 text
FlutterがDartにおけるキラーアプリになる可 能性あり
Slide 28
Slide 28 text
flutterのgithubスター獲得推移 ここ1ヶ月の伸びが凄い! (reactnativeと比べてはいけない・・・)
Slide 29
Slide 29 text
https://pub.dartlang.org/ にアップロードされるライブラリーの数と頻度は 日々増え続けていて、1年前に比べると1日に アップロードされるライブラリーの数は3倍以上 になっている
Slide 30
Slide 30 text
ご清聴ありがとうございました。