Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Dartエコシステムの紹介

 Dartエコシステムの紹介

Dartでいろいろ始める時にこのあたりを知っているといろいろ捗る可能性があります。

Aa2271fde3c839f2ab82d1d27dbbc650?s=128

takayuki-hayashi

October 21, 2017
Tweet

Transcript

  1. Dartエコシステム

  2. 自己紹介 • 名前:林 尚之(はやし たかゆき) • Agile(XP)、TDD、DDDとかが好き サーバーサイドに生息することが多い(WebもSSRが多かった) • Dartを使い始めた理由は当時Dartが目指した世界に共感したのと

    フロントエンドでも静的型付言語を使いたかったから twitter: @t_hyssh
  3. Dart 1.0がリリースされたのが2013年11月13日

  4. 元々周辺ツールなどを重要視していた Dart開発チームでしたが、4年経ちエコシ ステムもさらに成熟

  5. 個人的によく使うもの • sass_builder • fluri • json_serializable • quiver •

    mockito • angular_analyzer_plugin • ng2gen
  6. sass_builder • scssファイルをいい感じにしてくれるライブラリー • yamlのtransformerに定義すればpub serveやpub build時にscssからcss ファイルを自動生成してくれる (別途sassをインストールする必要はない) •

    cssファイルも同時にバージョン管理したい場合はwatch用の処理をちょっ と書くだけでOK
  7. sass_builder ※AngularDartと併用する場合 はangularより先に定義しないと いけない

  8. sass_builder ※外部ライブラリーの scssを import可能。

  9. sass_builder(CSSファイルも管理する場合) 上記内容にて${project_root}/tool/sass/watch.dartを 作成し、runしておけば変更を検知して scssファイル からcssファイルを生成してくれる。

  10. fluri • サーバーへのリクエストURLをfluentな感じで生成できる • lightweightなので扱いやすい

  11. fluri

  12. json_serializable • json ⇔ Dartオブジェクトの変換用に使う • ソースコードを自動生成させて使う • 自動生成後に修正しないといけないのがちょっと面倒

  13. json_serializable libraryとJsonSerializableのアノテーショ ン定義が必要 上記ファイルをrunしておけば変更を検 知して自動生成する。 lib/src/json/sample.dart tool/source/watch.dart

  14. json_serializable 上記がファイルが自動生成される 自動生成された情報を基に修正

  15. json_serializable(http + fluri)

  16. mockito • テスト用mockライブラリー • Javaのmockitoにインスパイアされてる • (個人的には)直感的に書けると思う • mockクラスを定義しないといけないのが面倒

  17. mockito Taskをモックにしたい場合

  18. mockito MockTaskというTaskのMockクラスを定義

  19. quiver • DartのSDKには無いユーティリティなライブラリ • 昔のJakarta Commons的立ち位置(Javaな人しか分からない??) • Optionalのために使ってる ◦ Dart2.0はnull-safeにはならないようなので今後も重宝しそう

    • 他にも便利そうなのが多そう(未確認)
  20. angular_analyzer_plugin • AngularDartの開発効率Up • IDE等と連携してHTMLテンプレート側での静的チェックとサジェストが可 能 • Dart2.0になるとanalysis_options.yamlに定義するだけでよくなる • 現状(Dart1.24.2)では有効にするのに手間がかかる

  21. ng2gen • AngularDartで必要になる物のscaffoldを作成出来る ◦ component、service、route、etc...

  22. 今後期待するもの

  23. 今後期待するもの • dazel • (新)angular_analyzer_plugin

  24. dazel • Hot Reload! • まだEXPERIMENTAL(実験)の段階 ◦ AngularDartのサポートはまだっぽい ▪ 自分の環境ではうまく動かない・・・

  25. (新)angular_analyzer_plugin • analysis_options.yamlに記述するだけでOK • AngularDart4.0以降かつDart1.25.0-dev.12.0以降で動作 • 自分の環境ではまだうまく動かない・・・

  26. 開発を効率化する仕組みは確実に進化中

  27. FlutterがDartにおけるキラーアプリになる可 能性あり

  28. flutterのgithubスター獲得推移 ここ1ヶ月の伸びが凄い! (reactnativeと比べてはいけない・・・)

  29. https://pub.dartlang.org/ にアップロードされるライブラリーの数と頻度は 日々増え続けていて、1年前に比べると1日に アップロードされるライブラリーの数は3倍以上 になっている

  30. ご清聴ありがとうございました。