×
Copy
Open
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
Introduction to Angular 2017/7/7 Frontend Beer Bash #1 @masahiko.asai
Slide 2
Slide 2 text
About Me Masahiko Asai ビズリーチ HRMOS事業部 フロントエンドエンジニア 2011-2014 PHP エンジニア 兼 HTML/JS コーダー(某大手ECサイト) 2015- フロントエンドエンジニア(AngularJS, Angular 4)
Slide 3
Slide 3 text
Angular 4のいいところ!
Slide 4
Slide 4 text
Angular 4 の特徴 フルスタックなプラットフォームであることが大きな特徴。 Web アプリケーションの開発に必要なパッケージが、 「モジュール」という単位で分割されて用意されている。 また、開発をサポートする周辺ツールの整備もGoogle自ら進められている。 1 All-in-one
Slide 5
Slide 5 text
Angular 4 の特徴 Angular のアーキテクチャは、ブラウザ上で動作するアプリのみならず、 サーバサイドのプログラムも構築できるような設計になっている。 iOS/Android で動くWebViewベースのアプリはもちろん、 ネイティブアプリを開発することも可能に。 2 マルチプラットフォーム対応
Slide 6
Slide 6 text
Angular Building Blocks 引用: Angular 2 Architecture https://www.slideshare.net/EyalV/angular-2-architecture
Slide 7
Slide 7 text
Angular Universal
Slide 8
Slide 8 text
Angular Universal Angular Universal ● Angular Universalを導入すると、 サーバサイドレンダリングが可能になる ● パフォーマンス向上施策のひとつとして、 SSRで返して、その後ブラウザ側で Angular アプリケーションを実行する テクニックもある
Slide 9
Slide 9 text
Ionic 2 Ionic 2 + Angular + Cordova を利用してWebView ネイティブアプリを構築できる
Slide 10
Slide 10 text
NativeScript NativeScript でネイティブ iOS/Android アプリケーションも開発が可能
Slide 11
Slide 11 text
Angular Electron Angular Electron でデスクトップアプリケーションも。
Slide 12
Slide 12 text
Browser Support 引用: Angular - Browser Support https://angular.io/guide/browser-support
Slide 13
Slide 13 text
Angular 2 の特徴 ● コンポーネントという単位でモジュールを明確に分割できるようになった ● UI部品をひとつのコンポーネントとして作り、 この部品を組み合わせることで、 画面を作り上げていくイメージ ● AngularJS 時代と同じくHTMLが主役。 インタラクションをHTMLテンプレートに 入れていくスタイル。 3 コンポーネント指向
Slide 14
Slide 14 text
Angular 2 の特徴 ● Microsoftが開発している静的型付けができるJSのスーパーセット。 ● アプリケーション開発において堅牢性を持たせることができる ● Angular アプリケーション、JavaScriptやDartでも開発は可能だけど、 ドキュメントや資料の充実度合いからも TypeScript を推奨している。 4 TypeScript を用いた堅牢性の高い開発
Slide 15
Slide 15 text
早速はじめてみよう
Slide 16
Slide 16 text
とはいえ現実的には… 1. プロジェクトディレクトリを作成 2. package.json のセットアップ 3. Angular をインストール 4. TypeScript をインストール 5. タスクランナーやビルドツールのセットアップ 6. ・・・ 7. ・・・ 8. ・・・
Slide 17
Slide 17 text
とはいえ現実的には… 1. プロジェクトディレクトリを作成 2. package.json のセットアップ 3. Angular をインストール 4. TypeScript をインストール 5. タスクランナーやビルドツールのセットアップ 6. ・・・ 7. ・・・ 8. ・・・ 何もない状態からセットアップするのは大変…
Slide 18
Slide 18 text
Angular CLI Angular CLI
Slide 19
Slide 19 text
Angular CLI とは? ● Angular アプリケーション プロトタイプを構築できるツール ○ React でいう create-react-app ○ Vue.js でいう vue-cli に相当するもの ● npm でインストールすると、ng コマンドで scaffold が作れるよ ● CLI自体は ember-cli ベースで作られているそう
Slide 20
Slide 20 text
Angular アプリケーションを作るのに 役に立つ周辺ツール・モジュール
Slide 21
Slide 21 text
Angular Augury
Slide 22
Slide 22 text
Angular Augury ● Angular アプリケーションをデバッグするのに便利な Google Chrome 拡張機能 ● React の React DevTools、Vue.js の devtools に相当するもの ● モデルの値やフォームの Valid/Invalid 状態が リアルタイムに確認できる
Slide 23
Slide 23 text
UI Component系 - Angular Material Angular Material
Slide 24
Slide 24 text
UI Component系 - ng-lightning ng-lightning
Slide 25
Slide 25 text
UI Component系 - PrimeNG PrimeNG
Slide 26
Slide 26 text
弊社事例
Slide 27
Slide 27 text
弊社事例 HRMOS(ハーモス)採用管理 現在、AngularJS で構築されているものを、 Angular 4 を全面導入すべく、移行を進めています ビズリーチ 企業様がご利用になる管理画面で一部導入 画面: HRMOS 採用管理 https://hrmos.co/saiyo/
Slide 28
Slide 28 text
アプリケーションと UI Component の分離 UI Components 個々のコンポーネントデザインとインタラクションを実 装。 Atomic Components の考え方をもとにUIパーツを分 解して実装。 App Components アプリケーションは、 UI Componentsを用いてア プリケーションを実装する。 持っているデータをUI Componentsに与えて画 面を描画、ビジネスロジックを実装。
Slide 29
Slide 29 text
Atomic Design 引用: Atomic Design | Brad Frost http://bradfrost.com/blog/post/atomic-web-design/
Slide 30
Slide 30 text
Atomic Components Atom, Molecule, Organism, Ecosystem, Environment 引用: A brief look at Atomic Components https://medium.com/joeydinardo/a-brief-look-at-atomic-components-39cbe71d38b5
Slide 31
Slide 31 text
まとめ
Slide 32
Slide 32 text
さわってみた所感 ● All-in-one なので、必要なものは揃っている。 ● 公式サイトのドキュメントは丁寧 ○ やりたいことは、ある程度公式ドキュメントに載っている ● アップデートが速い、LTSあり ○ 週1回 BugFix Release、月1回 Minor Version Update、半年に1回 Major Version Update ○ 現行のAngular 4は2018年10月までサポート ● angular-cli によってWeb アプリケーションを速く構築できる ○ アプリケーションの開発実装に集中できる環境を作ってくれる ここはイイ!
Slide 33
Slide 33 text
さわってみた所感 ● UI系の外部モジュールの開発がアクティブ ● サービスのAdmin(管理画面)に導入するにはうってつけかなと ここはイイ!
Slide 34
Slide 34 text
さわってみた所感 ● 日本語の情報、ドキュメント、記事はまだまだ少ない ● Angular の採用事例、導入事例がなかなか聞かない ○ 業務用 Web アプリで採用されることが多いから、話題に上がってこない…? ● 導入コストは高い。TypeScript, Angular, RxJSの習得コストとか… ● 周辺ライブラリ(外部モジュール)はまだβ版が多い ● All-in-oneのため、アプリはどうしても Fat になる ○ Webサイト(LP)に導入するには選択肢に入らないかな ここは課題
Slide 35
Slide 35 text
ご静聴ありがとうございました