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

Angularプロダクト構築アンチパターン

ponday
January 20, 2018

 Angularプロダクト構築アンチパターン

ng-fukuoka Angular Meetup #2の発表資料です。

ponday

January 20, 2018
Tweet

More Decks by ponday

Other Decks in Technology

Transcript

  1. - 自前で環境構築してメンテするには覚悟が必要 - 追従が大変 - コード生成できない - (一応)脱出もしやすい - ng

    eject webpack.config.js - IonicにもCLIがあるのでそっち使うほうが無難 アンチパターン① Angular CLIを使わない
  2. - header - my-button - view-container - foo-page - foo-toolbar

    - foo-list - foo-list-header - foo-list-body - foo-footer - … - bar-page - bar-toolbar - bar-form - ...
  3. - header - my-button - view-container - foo-page - foo-toolbar

    - foo-list - foo-list-header - foo-list-body - foo-footer - … - bar-page - bar-toolbar - bar-form - ... 本当に必要...?
  4. - 最初から分ける必要はない - コード量が増えるだけ - しかし、単体のモジュールを膨らませ続けると後々つらい - まとまりが見えてきたらリファクタリングをかねて分割を検討する - ライブラリとして提供する場合は小さく

    - 設計段階で良く検討する - Angular Materialなども参考に (大体1機能 = 1モジュール) - 理想的にはそのモジュール単体で動作 アンチパターン④ Module一つあたりの役割が大きい
  5. 例えば... - /app - /toast - /services - toast.service.ts -

    /components - toast.component.ts - toast.module.ts - app.component.ts - app.module.ts app.component.tsから使う
  6. ここにindex.tsを追加 - /app - /toast - /services - toast.service.ts -

    /components - toast.component.ts - toast.component.ts - index.ts - app.component.ts - app.module.ts
  7. - Angular RxJS - AngularはRxJSに依存。いろいろなものがObservableを返す。 - AngularのディープなAPIより利用頻度はかなり高いはず - RxJSはむずかしい -

    TypeScriptとはパラダイムが全然違う - 新しい言語勉強するのと良い勝負 - その場しのぎでコードを作ると間違いなく負債化する アンチパターン⑥ RxJSを何となく使う