SlideShare uma empresa Scribd logo
1 de 18
普段Reactを触ってる僕が
Angularを触ってみた感想を共有する
K. Matsumura (@zuckey_17)
We Are JavaScripters! :)) #8
2017.06.05
# 自己紹介
松村 和輝(zuckey_17)
- 株式会社ヤプリ
- フロントエンド と サーバサイド
- React + Reduxで現行の管理画面をリプレース
- Laravel ( PHPのFW ) でAPI周りの実装
- Podcast しがないラジオ
- 楽しくて仕方がないラジオ
- https://shiganai.org
- Twitter @shiganaiRadio #しがないラジオ
# What is Angular ?
- Google が OSS で開発している Webフロントエンドフレームワーク
- https://angular.io
- AngularJS → Angular
- Angular2以降は”Angular”という呼称に変更
- ググる時は “Angular2” で検索すると良いらしい
- 日本Angular ユーザー会
- https://ng-japan.slack.com/
- https://ngjapan.connpass.com/
# 参加してきた
# “Webフロントエンドのフレームワーク”
- Reactは”UIライブラリ”
- それぞれが別のDOM構築やデータバインディングなどの機能を持つ
- Reactは多くの他のライブラリと組み合わせて開発することが多い
- 実装するために、設計をしっかりめにする必要がある
- Angularはフレームワークに実装に必要な多くの機能を持っている
- レールにのってコーディングすることができる
# React
# React
面倒くさい
# Angular
# Angular に含まれるもの
- Angular本体
- routingやhttpクライアントなど様々な機能が包括される
- RxJS
- 内部的に使われているためデフォルトで入るが、使わなくても良い
- TypeScript
- 静的型付けの言語、JavaScriptにコンパイルされる
- tslint
# Angular CLI
- npm install -g @angular/cli
# Angular CLI
- ng new 【project name】
- プロジェクトを作成
- ng serve
- サーバーを立て、localhost:4200などでアクセス可能に
- ng generate
- 依存関係を崩さずに色々作ってくれる
- interface
- component
- service
- ng lint
- tslintの実行
# その他
- CSS
- コンポーネントのTS : CSS = 1 : 1
- コンポーネント単位でのスタイルが半強制的になっている
- グローバルなスタイリングも可
- サービス
- ジネスロジックはサービスにまとめる
- DI(依存注入 : Dependency Injection)
# その他
- テンプレート
- JSXで作られる仮想DOMのツリーじゃない
- Lifecycle Hooks
- Reactで言うLifecycle Method
- いい感じのタイミングで発火
デモ
# まとめ
- Angularは実現したいことに注力できる
- angular-cli で始めるの一択
- ユーザー会がすごく暖かい
- 今後、RxJSも勉強したい
# 参考
- 公式サイト
- https://angular.io/
- ReactとAngular2の選択で迷ったときに考えたいこと
- http://qiita.com/kmszk/items/2e3d6d2a71ae774d080a
- Tour of Heroes(Angular 公式チュートリアルの日本語版)
- https://github.com/ng-japan/hands-on/tree/master/courses/tutorial
- gemba.fm #0 React vs Angular - あるいは Functional JavaScript
- https://genba.fm/react-vs-angular/

Mais conteúdo relacionado

Mais procurados

インフラ部門で働くCプログラマの話
インフラ部門で働くCプログラマの話インフラ部門で働くCプログラマの話
インフラ部門で働くCプログラマの話雅也 山本
 
Angular jsの継続的なバージョンアップ
Angular jsの継続的なバージョンアップAngular jsの継続的なバージョンアップ
Angular jsの継続的なバージョンアップKazuyoshi Tsuchiya
 
今後のWeb開発の未来を考えてangular jsにしました(拡大版)
今後のWeb開発の未来を考えてangular jsにしました(拡大版)今後のWeb開発の未来を考えてangular jsにしました(拡大版)
今後のWeb開発の未来を考えてangular jsにしました(拡大版)Mitsuru Ogawa
 
One-time Binding & $digest
One-time Binding & $digestOne-time Binding & $digest
One-time Binding & $digestHayashi Yuichi
 
noteをAngularJSで構築した話
noteをAngularJSで構築した話noteをAngularJSで構築した話
noteをAngularJSで構築した話Kon Yuichi
 
Our Track to Modern Angular
Our Track to Modern AngularOur Track to Modern Angular
Our Track to Modern AngularYuta Shimizu
 
イベント駆動AngularJS / 今から書くAngular 2.0
イベント駆動AngularJS / 今から書くAngular 2.0イベント駆動AngularJS / 今から書くAngular 2.0
イベント駆動AngularJS / 今から書くAngular 2.0Okuno Kentaro
 
開発ライフサイクルから見たAngularJS
開発ライフサイクルから見たAngularJS開発ライフサイクルから見たAngularJS
開発ライフサイクルから見たAngularJSMizuho Sakamaki
 
今後のWeb開発の未来を考えてangularJSにしました
今後のWeb開発の未来を考えてangularJSにしました今後のWeb開発の未来を考えてangularJSにしました
今後のWeb開発の未来を考えてangularJSにしましたMitsuru Ogawa
 
Enterprise x AngularJS
Enterprise x AngularJSEnterprise x AngularJS
Enterprise x AngularJSKenichi Kanai
 
いい感じのフロントエンド開発環境を作ってみた
いい感じのフロントエンド開発環境を作ってみたいい感じのフロントエンド開発環境を作ってみた
いい感じのフロントエンド開発環境を作ってみたHayashi Yuichi
 
Directiveで実現できたこと
Directiveで実現できたことDirectiveで実現できたこと
Directiveで実現できたことKon Yuichi
 
AngularJSで業務システムUI部品化
AngularJSで業務システムUI部品化AngularJSで業務システムUI部品化
AngularJSで業務システムUI部品化Toshio Ehara
 
Angular 4がやってくる!? 新機能ダイジェスト
Angular 4がやってくる!? 新機能ダイジェストAngular 4がやってくる!? 新機能ダイジェスト
Angular 4がやってくる!? 新機能ダイジェストMasahiko Asai
 
これからフロントエンジニアを目指すあなたへ
これからフロントエンジニアを目指すあなたへこれからフロントエンジニアを目指すあなたへ
これからフロントエンジニアを目指すあなたへMitsuru Ogawa
 
Riot.jsとフォームのデータバインディング
Riot.jsとフォームのデータバインディングRiot.jsとフォームのデータバインディング
Riot.jsとフォームのデータバインディングKeisuke Imai
 
Angular js開発事例
Angular js開発事例Angular js開発事例
Angular js開発事例Shun Takeyama
 
エンタープライヤーのためのWeb Componentsハンズオン
エンタープライヤーのためのWeb ComponentsハンズオンエンタープライヤーのためのWeb Componentsハンズオン
エンタープライヤーのためのWeb ComponentsハンズオンMitsuru Ogawa
 

Mais procurados (20)

インフラ部門で働くCプログラマの話
インフラ部門で働くCプログラマの話インフラ部門で働くCプログラマの話
インフラ部門で働くCプログラマの話
 
Angular jsの継続的なバージョンアップ
Angular jsの継続的なバージョンアップAngular jsの継続的なバージョンアップ
Angular jsの継続的なバージョンアップ
 
今後のWeb開発の未来を考えてangular jsにしました(拡大版)
今後のWeb開発の未来を考えてangular jsにしました(拡大版)今後のWeb開発の未来を考えてangular jsにしました(拡大版)
今後のWeb開発の未来を考えてangular jsにしました(拡大版)
 
One-time Binding & $digest
One-time Binding & $digestOne-time Binding & $digest
One-time Binding & $digest
 
React meetup 3_eight
React meetup 3_eightReact meetup 3_eight
React meetup 3_eight
 
noteをAngularJSで構築した話
noteをAngularJSで構築した話noteをAngularJSで構築した話
noteをAngularJSで構築した話
 
Our Track to Modern Angular
Our Track to Modern AngularOur Track to Modern Angular
Our Track to Modern Angular
 
イベント駆動AngularJS / 今から書くAngular 2.0
イベント駆動AngularJS / 今から書くAngular 2.0イベント駆動AngularJS / 今から書くAngular 2.0
イベント駆動AngularJS / 今から書くAngular 2.0
 
開発ライフサイクルから見たAngularJS
開発ライフサイクルから見たAngularJS開発ライフサイクルから見たAngularJS
開発ライフサイクルから見たAngularJS
 
今後のWeb開発の未来を考えてangularJSにしました
今後のWeb開発の未来を考えてangularJSにしました今後のWeb開発の未来を考えてangularJSにしました
今後のWeb開発の未来を考えてangularJSにしました
 
Enterprise x AngularJS
Enterprise x AngularJSEnterprise x AngularJS
Enterprise x AngularJS
 
いい感じのフロントエンド開発環境を作ってみた
いい感じのフロントエンド開発環境を作ってみたいい感じのフロントエンド開発環境を作ってみた
いい感じのフロントエンド開発環境を作ってみた
 
Directiveで実現できたこと
Directiveで実現できたことDirectiveで実現できたこと
Directiveで実現できたこと
 
AngularJSで業務システムUI部品化
AngularJSで業務システムUI部品化AngularJSで業務システムUI部品化
AngularJSで業務システムUI部品化
 
Angular 4がやってくる!? 新機能ダイジェスト
Angular 4がやってくる!? 新機能ダイジェストAngular 4がやってくる!? 新機能ダイジェスト
Angular 4がやってくる!? 新機能ダイジェスト
 
これからフロントエンジニアを目指すあなたへ
これからフロントエンジニアを目指すあなたへこれからフロントエンジニアを目指すあなたへ
これからフロントエンジニアを目指すあなたへ
 
Riot.jsとフォームのデータバインディング
Riot.jsとフォームのデータバインディングRiot.jsとフォームのデータバインディング
Riot.jsとフォームのデータバインディング
 
Angular2実践入門
Angular2実践入門Angular2実践入門
Angular2実践入門
 
Angular js開発事例
Angular js開発事例Angular js開発事例
Angular js開発事例
 
エンタープライヤーのためのWeb Componentsハンズオン
エンタープライヤーのためのWeb ComponentsハンズオンエンタープライヤーのためのWeb Componentsハンズオン
エンタープライヤーのためのWeb Componentsハンズオン
 

Semelhante a 普段Reactを触ってる僕が Angularを触ってみた感想を共有する

GraphQLについての5分間
GraphQLについての5分間GraphQLについての5分間
GraphQLについての5分間Matsuo Obu
 
JavaScript(AngularJS・React.js)で作る iOS・Androidアプリハンズオン
JavaScript(AngularJS・React.js)で作る iOS・AndroidアプリハンズオンJavaScript(AngularJS・React.js)で作る iOS・Androidアプリハンズオン
JavaScript(AngularJS・React.js)で作る iOS・AndroidアプリハンズオンKazuhiro Yoshimoto
 
Our Track to Modern Angular #2
Our Track to Modern Angular #2Our Track to Modern Angular #2
Our Track to Modern Angular #2Yuta Shimizu
 
僕はどうしてAngular2をテーマに登壇することになってしまったのか
僕はどうしてAngular2をテーマに登壇することになってしまったのか僕はどうしてAngular2をテーマに登壇することになってしまったのか
僕はどうしてAngular2をテーマに登壇することになってしまったのかTomohiro Noguchi
 
SwaggerとAPIのデザイン
SwaggerとAPIのデザインSwaggerとAPIのデザイン
SwaggerとAPIのデザインKazuhiro Hara
 
AngularJS x Chrome Apps (2014.08.23 #gdgkobe event)
AngularJS x Chrome Apps (2014.08.23 #gdgkobe event)AngularJS x Chrome Apps (2014.08.23 #gdgkobe event)
AngularJS x Chrome Apps (2014.08.23 #gdgkobe event)pinmarch_t Tada
 
AngularJS勉強会「そもそもwebって」@ツクロア勉強会(2015.09.10)
AngularJS勉強会「そもそもwebって」@ツクロア勉強会(2015.09.10)AngularJS勉強会「そもそもwebって」@ツクロア勉強会(2015.09.10)
AngularJS勉強会「そもそもwebって」@ツクロア勉強会(2015.09.10)tomonari takahashi
 
Nodeにしましょう
NodeにしましょうNodeにしましょう
NodeにしましょうYuzo Hebishima
 
Arachne Unweaved (JP)
Arachne Unweaved (JP)Arachne Unweaved (JP)
Arachne Unweaved (JP)Ikuru Kanuma
 
Angular js meets cakephp at cloud on the beach 2014 前夜祭
Angular js meets cakephp at cloud on the beach 2014 前夜祭Angular js meets cakephp at cloud on the beach 2014 前夜祭
Angular js meets cakephp at cloud on the beach 2014 前夜祭司 知花
 
Railsのフロントエンド開発を考える
Railsのフロントエンド開発を考えるRailsのフロントエンド開発を考える
Railsのフロントエンド開発を考えるHirata Tomoko
 
S14 t3 yosuke_yamashita
S14 t3 yosuke_yamashitaS14 t3 yosuke_yamashita
S14 t3 yosuke_yamashitaTakeshi Akutsu
 
第9回Symfony勉強会LT Symfony2 meets AngularJS #symfony_ja
第9回Symfony勉強会LT Symfony2 meets AngularJS #symfony_ja第9回Symfony勉強会LT Symfony2 meets AngularJS #symfony_ja
第9回Symfony勉強会LT Symfony2 meets AngularJS #symfony_ja77web
 
AngularJSからReactに移ったケースの話
AngularJSからReactに移ったケースの話AngularJSからReactに移ったケースの話
AngularJSからReactに移ったケースの話kumatch kumatch
 

Semelhante a 普段Reactを触ってる僕が Angularを触ってみた感想を共有する (20)

ngJapan報告会
ngJapan報告会ngJapan報告会
ngJapan報告会
 
GraphQLについての5分間
GraphQLについての5分間GraphQLについての5分間
GraphQLについての5分間
 
JavaScript(AngularJS・React.js)で作る iOS・Androidアプリハンズオン
JavaScript(AngularJS・React.js)で作る iOS・AndroidアプリハンズオンJavaScript(AngularJS・React.js)で作る iOS・Androidアプリハンズオン
JavaScript(AngularJS・React.js)で作る iOS・Androidアプリハンズオン
 
Our Track to Modern Angular #2
Our Track to Modern Angular #2Our Track to Modern Angular #2
Our Track to Modern Angular #2
 
僕はどうしてAngular2をテーマに登壇することになってしまったのか
僕はどうしてAngular2をテーマに登壇することになってしまったのか僕はどうしてAngular2をテーマに登壇することになってしまったのか
僕はどうしてAngular2をテーマに登壇することになってしまったのか
 
Alt01-LT
Alt01-LTAlt01-LT
Alt01-LT
 
Walking front end
Walking front endWalking front end
Walking front end
 
SwaggerとAPIのデザイン
SwaggerとAPIのデザインSwaggerとAPIのデザイン
SwaggerとAPIのデザイン
 
Angular2
Angular2Angular2
Angular2
 
AngularJS x Chrome Apps (2014.08.23 #gdgkobe event)
AngularJS x Chrome Apps (2014.08.23 #gdgkobe event)AngularJS x Chrome Apps (2014.08.23 #gdgkobe event)
AngularJS x Chrome Apps (2014.08.23 #gdgkobe event)
 
Angular#Kanazawa
Angular#KanazawaAngular#Kanazawa
Angular#Kanazawa
 
AngularJS勉強会「そもそもwebって」@ツクロア勉強会(2015.09.10)
AngularJS勉強会「そもそもwebって」@ツクロア勉強会(2015.09.10)AngularJS勉強会「そもそもwebって」@ツクロア勉強会(2015.09.10)
AngularJS勉強会「そもそもwebって」@ツクロア勉強会(2015.09.10)
 
Ng mtg#3
Ng mtg#3Ng mtg#3
Ng mtg#3
 
Nodeにしましょう
NodeにしましょうNodeにしましょう
Nodeにしましょう
 
Arachne Unweaved (JP)
Arachne Unweaved (JP)Arachne Unweaved (JP)
Arachne Unweaved (JP)
 
Angular js meets cakephp at cloud on the beach 2014 前夜祭
Angular js meets cakephp at cloud on the beach 2014 前夜祭Angular js meets cakephp at cloud on the beach 2014 前夜祭
Angular js meets cakephp at cloud on the beach 2014 前夜祭
 
Railsのフロントエンド開発を考える
Railsのフロントエンド開発を考えるRailsのフロントエンド開発を考える
Railsのフロントエンド開発を考える
 
S14 t3 yosuke_yamashita
S14 t3 yosuke_yamashitaS14 t3 yosuke_yamashita
S14 t3 yosuke_yamashita
 
第9回Symfony勉強会LT Symfony2 meets AngularJS #symfony_ja
第9回Symfony勉強会LT Symfony2 meets AngularJS #symfony_ja第9回Symfony勉強会LT Symfony2 meets AngularJS #symfony_ja
第9回Symfony勉強会LT Symfony2 meets AngularJS #symfony_ja
 
AngularJSからReactに移ったケースの話
AngularJSからReactに移ったケースの話AngularJSからReactに移ったケースの話
AngularJSからReactに移ったケースの話
 

普段Reactを触ってる僕が Angularを触ってみた感想を共有する

  • 2. # 自己紹介 松村 和輝(zuckey_17) - 株式会社ヤプリ - フロントエンド と サーバサイド - React + Reduxで現行の管理画面をリプレース - Laravel ( PHPのFW ) でAPI周りの実装 - Podcast しがないラジオ - 楽しくて仕方がないラジオ - https://shiganai.org - Twitter @shiganaiRadio #しがないラジオ
  • 3.
  • 4. # What is Angular ? - Google が OSS で開発している Webフロントエンドフレームワーク - https://angular.io - AngularJS → Angular - Angular2以降は”Angular”という呼称に変更 - ググる時は “Angular2” で検索すると良いらしい - 日本Angular ユーザー会 - https://ng-japan.slack.com/ - https://ngjapan.connpass.com/
  • 6. # “Webフロントエンドのフレームワーク” - Reactは”UIライブラリ” - それぞれが別のDOM構築やデータバインディングなどの機能を持つ - Reactは多くの他のライブラリと組み合わせて開発することが多い - 実装するために、設計をしっかりめにする必要がある - Angularはフレームワークに実装に必要な多くの機能を持っている - レールにのってコーディングすることができる
  • 11. # Angular に含まれるもの - Angular本体 - routingやhttpクライアントなど様々な機能が包括される - RxJS - 内部的に使われているためデフォルトで入るが、使わなくても良い - TypeScript - 静的型付けの言語、JavaScriptにコンパイルされる - tslint
  • 12. # Angular CLI - npm install -g @angular/cli
  • 13. # Angular CLI - ng new 【project name】 - プロジェクトを作成 - ng serve - サーバーを立て、localhost:4200などでアクセス可能に - ng generate - 依存関係を崩さずに色々作ってくれる - interface - component - service - ng lint - tslintの実行
  • 14. # その他 - CSS - コンポーネントのTS : CSS = 1 : 1 - コンポーネント単位でのスタイルが半強制的になっている - グローバルなスタイリングも可 - サービス - ジネスロジックはサービスにまとめる - DI(依存注入 : Dependency Injection)
  • 15. # その他 - テンプレート - JSXで作られる仮想DOMのツリーじゃない - Lifecycle Hooks - Reactで言うLifecycle Method - いい感じのタイミングで発火
  • 17. # まとめ - Angularは実現したいことに注力できる - angular-cli で始めるの一択 - ユーザー会がすごく暖かい - 今後、RxJSも勉強したい
  • 18. # 参考 - 公式サイト - https://angular.io/ - ReactとAngular2の選択で迷ったときに考えたいこと - http://qiita.com/kmszk/items/2e3d6d2a71ae774d080a - Tour of Heroes(Angular 公式チュートリアルの日本語版) - https://github.com/ng-japan/hands-on/tree/master/courses/tutorial - gemba.fm #0 React vs Angular - あるいは Functional JavaScript - https://genba.fm/react-vs-angular/

Notas do Editor

  1. http://qiita.com/kmszk/items/2e3d6d2a71ae774d080a
  2. http://qiita.com/kmszk/items/2e3d6d2a71ae774d080a
  3. http://qiita.com/kmszk/items/2e3d6d2a71ae774d080a
  4. http://qiita.com/kmszk/items/2e3d6d2a71ae774d080a