Angular jsの継続的なバージョンアップ

Kazuyoshi Tsuchiya
Kazuyoshi Tsuchiyapaperboy&co.
AngularJS
の継続的なバージョンアップ
第1回ペパボテックカンファレンス
by tsuchikazu (nessy)
自己紹介
● 土屋和良
● @tsuchikazu ( nessy )
● http://tsuchikazu.net
● PHP/rails/angular
● カラーミーショップ
Angular jsの継続的なバージョンアップ
普段
Angular書いている人?
(仕事やそれ以外含む)
ですよね
Angularとは
● JavaScriptフレームワーク
● Googleが開発
● フロントエンドの生産性向上が目的
● フルスタック (MVW)
Angular jsの継続的なバージョンアップ
Release Plan
1.0
2012/06
1.2
2013/11
1.3
2014/10
1.4
2015/04
1.5
2015 ?
2.0
2016 ?
Version Upしますか?
止まっているのは
それだけで
バグ生んでるのと一緒
http://portalshit.net/2015/04/07/staying-on-is-just-like-making-bug by
Angular1.4
• 最大30%のパフォーマンス向上
• 2〜4%のメモリ使用量軽減
Angular2.0
アウトライン
● 次期バージョンを見据えた実装
● テスト
● 他技術のキャッチアップ
アウトライン
● 次期バージョンを見据えた実装
● テスト
● 他技術のキャッチアップ
Angular1.4
● 1.3との互換性はほぼ保たれる
● サポートブラウザも同じ
Angular2
Angular jsの継続的なバージョンアップ
Angular2へ
● New Router
○ 1系と2系を
  共存可能
 (まだ試せてない)
● Migration 機能は
今後もリリースされる
Migration 機能を
取り入れよう
Tips
● TypeScript
○ これから始める人
○ 恩恵を受けれそう
● ES6
○ ES5で書いている人
● CoffeeScript
○ (これ使ってるけど、正直失敗感)
Angular2へ
Angular1 & 2(service)
● Serviceは単なるclassへ
○ なるべくserviceを使う
○ resourceを使うものは、serviceにし
にくい
●今のところfactory
Angular2へ
Angular1 & 2(service)
Angular1 & 2(directive)
● scopeはなくなる
○ DirectiveでlinkではなくControllerを
○ controller as を使う
○ componentらしく
Angular2へ
before & after
Angular1 & 2(directive)
アウトライン
● 次期バージョンを見据えた実装
● テスト
● 他技術のキャッチアップ
テストに正解はない
ただの一例として紹介
Angular
構成(SPA)
Controller
Service
Template
Directive
API
どこを何のために
どうやって
テストするのか
Angular
Unit テスト
Controller
Service
Template
Directive
API
Mock
Unit テスト
• Controller / Service / Directive
• 自分の不安解消のため
– 細かな分岐/パターン網羅
• 自動テスト
– Jasmine & Karma & CI
• 構成が大きく変わった時は対応不可
Angular
E2Eテスト
Controller
Service
Template
Directive
API
• Angular + API + (他システム) 全て
• 期待した通りの動作をしているか
– UI&UXも含む
• 自動化するにはデータや環境準備など
コスト高
• 手動テストでカバー
E2Eテスト
Angular
Controller
Service
Template
Directive
API
Mock
E2E with API Mockテスト
• フロントエンドのみ (APIはMock)
• 内部実装に依存せずに、フロントエンド
全体が期待通りに動作しているか
• 自動テスト
– Protractor & ngMockE2E & CI
E2E with API Mockテスト
• 課題
– APIのMockがズレるリスク
– テストは通るのに、動かない
– レスポンスの項目が増えた減った
• Mock自体のテスト?
E2E with API Mockテスト
E2E with API Mock
テストを書こう
アウトライン
● 次期バージョンを見据えた実装
● テスト
● 他技術のキャッチアップ
他技術のキャッチアップ
• Angular2
– ES6 module
– Shadow DOM
– HTML5 template tag
まとめ
● 次期バージョンを見据えた実装
○ Migration機能を取り入れよう
● テスト
○ E2E with API Mock テストをしよう
● 他技術のキャッチアップ
○ がんばろう
フロントエンドも
サーバサイドと
同じ
やっておいた方がいいこ
とをやって
不確かな未来へ
1 of 46

Recommended

イベント駆動AngularJS / 今から書くAngular 2.0 by
イベント駆動AngularJS / 今から書くAngular 2.0イベント駆動AngularJS / 今から書くAngular 2.0
イベント駆動AngularJS / 今から書くAngular 2.0Okuno Kentaro
11.9K views59 slides
俺とAngular JS 2 by
俺とAngular JS 2俺とAngular JS 2
俺とAngular JS 2Masayuki KaToH
2K views30 slides
Angular 4がやってくる!? 新機能ダイジェスト by
Angular 4がやってくる!? 新機能ダイジェストAngular 4がやってくる!? 新機能ダイジェスト
Angular 4がやってくる!? 新機能ダイジェストMasahiko Asai
13.8K views75 slides
noteをAngularJSで構築した話 by
noteをAngularJSで構築した話noteをAngularJSで構築した話
noteをAngularJSで構築した話Kon Yuichi
27.4K views40 slides
Angularモダンweb開発セミナー紹介 20170923 by
Angularモダンweb開発セミナー紹介 20170923Angularモダンweb開発セミナー紹介 20170923
Angularモダンweb開発セミナー紹介 20170923Staffnet_Inc
1.9K views14 slides
開発ライフサイクルから見たAngularJS by
開発ライフサイクルから見たAngularJS開発ライフサイクルから見たAngularJS
開発ライフサイクルから見たAngularJSMizuho Sakamaki
25.3K views15 slides

More Related Content

What's hot

Angularおじさんの1年 by
Angularおじさんの1年Angularおじさんの1年
Angularおじさんの1年Hayashi Yuichi
5.6K views30 slides
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリ by
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリAngularとOnsen UIで作る最高のHTML5ハイブリッドアプリ
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリアシアル株式会社
50.2K views90 slides
Directiveで実現できたこと by
Directiveで実現できたことDirectiveで実現できたこと
Directiveで実現できたことKon Yuichi
9.9K views40 slides
AngularJSとFluxとRiotJSと by
AngularJSとFluxとRiotJSとAngularJSとFluxとRiotJSと
AngularJSとFluxとRiotJSとRyo Iinuma
5K views42 slides
今後のWeb開発の未来を考えてangularJSにしました by
今後のWeb開発の未来を考えてangularJSにしました今後のWeb開発の未来を考えてangularJSにしました
今後のWeb開発の未来を考えてangularJSにしましたMitsuru Ogawa
25.8K views21 slides
Enterprise x AngularJS by
Enterprise x AngularJSEnterprise x AngularJS
Enterprise x AngularJSKenichi Kanai
15.6K views35 slides

What's hot(20)

Angularおじさんの1年 by Hayashi Yuichi
Angularおじさんの1年Angularおじさんの1年
Angularおじさんの1年
Hayashi Yuichi5.6K views
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリ by アシアル株式会社
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリAngularとOnsen UIで作る最高のHTML5ハイブリッドアプリ
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリ
Directiveで実現できたこと by Kon Yuichi
Directiveで実現できたことDirectiveで実現できたこと
Directiveで実現できたこと
Kon Yuichi9.9K views
AngularJSとFluxとRiotJSと by Ryo Iinuma
AngularJSとFluxとRiotJSとAngularJSとFluxとRiotJSと
AngularJSとFluxとRiotJSと
Ryo Iinuma5K views
今後のWeb開発の未来を考えてangularJSにしました by Mitsuru Ogawa
今後のWeb開発の未来を考えてangularJSにしました今後のWeb開発の未来を考えてangularJSにしました
今後のWeb開発の未来を考えてangularJSにしました
Mitsuru Ogawa25.8K views
Enterprise x AngularJS by Kenichi Kanai
Enterprise x AngularJSEnterprise x AngularJS
Enterprise x AngularJS
Kenichi Kanai15.6K views
Angular js開発事例 by Shun Takeyama
Angular js開発事例Angular js開発事例
Angular js開発事例
Shun Takeyama3.7K views
AngularJSで業務システムUI部品化 by Toshio Ehara
AngularJSで業務システムUI部品化AngularJSで業務システムUI部品化
AngularJSで業務システムUI部品化
Toshio Ehara4.1K views
いい感じのフロントエンド開発環境を作ってみた by Hayashi Yuichi
いい感じのフロントエンド開発環境を作ってみたいい感じのフロントエンド開発環境を作ってみた
いい感じのフロントエンド開発環境を作ってみた
Hayashi Yuichi41.3K views
【eLV勉強会】AngularJSでのモバイルフロントエンド開発 by Hiroyuki Kusu
【eLV勉強会】AngularJSでのモバイルフロントエンド開発【eLV勉強会】AngularJSでのモバイルフロントエンド開発
【eLV勉強会】AngularJSでのモバイルフロントエンド開発
Hiroyuki Kusu5.2K views
超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう by Horiguchi Seito
超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう
超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう
Horiguchi Seito7.9K views
エンタープライヤーのためのWeb Componentsハンズオン by Mitsuru Ogawa
エンタープライヤーのためのWeb ComponentsハンズオンエンタープライヤーのためのWeb Componentsハンズオン
エンタープライヤーのためのWeb Componentsハンズオン
Mitsuru Ogawa2.9K views
クリエイティブの視点から探るAngular 2の可能性 by Yasunobu Ikeda
クリエイティブの視点から探るAngular 2の可能性クリエイティブの視点から探るAngular 2の可能性
クリエイティブの視点から探るAngular 2の可能性
Yasunobu Ikeda7.3K views
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門 by Shumpei Shiraishi
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
Shumpei Shiraishi40K views
普段Reactを触ってる僕が Angularを触ってみた感想を共有する by kazuki matsumura
普段Reactを触ってる僕が Angularを触ってみた感想を共有する普段Reactを触ってる僕が Angularを触ってみた感想を共有する
普段Reactを触ってる僕が Angularを触ってみた感想を共有する
kazuki matsumura2.8K views

Viewers also liked

Mysqlを4.0から5.0を経由して5.6へバージョンアップした話 by
Mysqlを4.0から5.0を経由して5.6へバージョンアップした話Mysqlを4.0から5.0を経由して5.6へバージョンアップした話
Mysqlを4.0から5.0を経由して5.6へバージョンアップした話Masataka Kono
9.1K views27 slides
Consul は 全自動オーケストレーションの 夢を見るか? by
Consul は 全自動オーケストレーションの 夢を見るか?Consul は 全自動オーケストレーションの 夢を見るか?
Consul は 全自動オーケストレーションの 夢を見るか?Uchio Kondo
19.9K views79 slides
20150419_pbtech_openstack_nyah #pbtech by
20150419_pbtech_openstack_nyah #pbtech20150419_pbtech_openstack_nyah #pbtech
20150419_pbtech_openstack_nyah #pbtechume3_
15.4K views48 slides
2015年4月ペパボテックカンファレンス資料 by
2015年4月ペパボテックカンファレンス資料2015年4月ペパボテックカンファレンス資料
2015年4月ペパボテックカンファレンス資料buty4649
8.1K views42 slides
jQueryのその先へ〜Webフロントエンドの全体感をつかもう〜 by
jQueryのその先へ〜Webフロントエンドの全体感をつかもう〜jQueryのその先へ〜Webフロントエンドの全体感をつかもう〜
jQueryのその先へ〜Webフロントエンドの全体感をつかもう〜Kazuyoshi Tsuchiya
4.1K views38 slides
Single Page Applications with AngularJS 2.0 by
Single Page Applications with AngularJS 2.0 Single Page Applications with AngularJS 2.0
Single Page Applications with AngularJS 2.0 Sumanth Chinthagunta
28.5K views66 slides

Viewers also liked(20)

Mysqlを4.0から5.0を経由して5.6へバージョンアップした話 by Masataka Kono
Mysqlを4.0から5.0を経由して5.6へバージョンアップした話Mysqlを4.0から5.0を経由して5.6へバージョンアップした話
Mysqlを4.0から5.0を経由して5.6へバージョンアップした話
Masataka Kono9.1K views
Consul は 全自動オーケストレーションの 夢を見るか? by Uchio Kondo
Consul は 全自動オーケストレーションの 夢を見るか?Consul は 全自動オーケストレーションの 夢を見るか?
Consul は 全自動オーケストレーションの 夢を見るか?
Uchio Kondo19.9K views
20150419_pbtech_openstack_nyah #pbtech by ume3_
20150419_pbtech_openstack_nyah #pbtech20150419_pbtech_openstack_nyah #pbtech
20150419_pbtech_openstack_nyah #pbtech
ume3_15.4K views
2015年4月ペパボテックカンファレンス資料 by buty4649
2015年4月ペパボテックカンファレンス資料2015年4月ペパボテックカンファレンス資料
2015年4月ペパボテックカンファレンス資料
buty46498.1K views
jQueryのその先へ〜Webフロントエンドの全体感をつかもう〜 by Kazuyoshi Tsuchiya
jQueryのその先へ〜Webフロントエンドの全体感をつかもう〜jQueryのその先へ〜Webフロントエンドの全体感をつかもう〜
jQueryのその先へ〜Webフロントエンドの全体感をつかもう〜
Kazuyoshi Tsuchiya4.1K views
Single Page Applications with AngularJS 2.0 by Sumanth Chinthagunta
Single Page Applications with AngularJS 2.0 Single Page Applications with AngularJS 2.0
Single Page Applications with AngularJS 2.0
Sumanth Chinthagunta28.5K views
Javaな人が気を付けるべきJavaScriptコーディングスタイル by Maaya Ishida
Javaな人が気を付けるべきJavaScriptコーディングスタイルJavaな人が気を付けるべきJavaScriptコーディングスタイル
Javaな人が気を付けるべきJavaScriptコーディングスタイル
Maaya Ishida921 views
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ by Shumpei Shiraishi
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶjQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
Shumpei Shiraishi4.3K views
Angular1.4で作られた自社マイクロサービスを2へマイグレーション by Hayashi Yuichi
Angular1.4で作られた自社マイクロサービスを2へマイグレーションAngular1.4で作られた自社マイクロサービスを2へマイグレーション
Angular1.4で作られた自社マイクロサービスを2へマイグレーション
Hayashi Yuichi7.6K views
ES6 はじめました by Net Kanayan
ES6 はじめましたES6 はじめました
ES6 はじめました
Net Kanayan784 views
JavaScript : What is it really? AND Some new features in ES6 by Aayush Shrestha
JavaScript : What is it really? AND Some new features in ES6JavaScript : What is it really? AND Some new features in ES6
JavaScript : What is it really? AND Some new features in ES6
Aayush Shrestha583 views
Prototypeベース in JavaScript by Ryo Maruyama
Prototypeベース in JavaScriptPrototypeベース in JavaScript
Prototypeベース in JavaScript
Ryo Maruyama685 views
Getting started with ES6 : Future of javascript by Mohd Saeed
Getting started with ES6 : Future of javascriptGetting started with ES6 : Future of javascript
Getting started with ES6 : Future of javascript
Mohd Saeed1K views
FileReader and canvas and server silde by Net Kanayan
FileReader and canvas and server sildeFileReader and canvas and server silde
FileReader and canvas and server silde
Net Kanayan568 views
JavaScript.Next Returns by dynamis
JavaScript.Next ReturnsJavaScript.Next Returns
JavaScript.Next Returns
dynamis 7K views

Similar to Angular jsの継続的なバージョンアップ

ngJapan報告会 by
ngJapan報告会ngJapan報告会
ngJapan報告会Fumio SAGAWA
2.5K views32 slides
Our Track to Modern Angular by
Our Track to Modern AngularOur Track to Modern Angular
Our Track to Modern AngularYuta Shimizu
2.2K views41 slides
Ng mtg#3 by
Ng mtg#3Ng mtg#3
Ng mtg#3Kenichi Kanai
1.8K views18 slides
Alt01-LT by
Alt01-LTAlt01-LT
Alt01-LTYuta Hiroto
2K views17 slides
Web開発の 今までとこれから by
Web開発の 今までとこれからWeb開発の 今までとこれから
Web開発の 今までとこれからShinichi Takahashi
3.1K views18 slides
AngularJSについて by
AngularJSについてAngularJSについて
AngularJSについて昌生 高橋
3.7K views24 slides

Similar to Angular jsの継続的なバージョンアップ(20)

Our Track to Modern Angular by Yuta Shimizu
Our Track to Modern AngularOur Track to Modern Angular
Our Track to Modern Angular
Yuta Shimizu2.2K views
AngularJSについて by 昌生 高橋
AngularJSについてAngularJSについて
AngularJSについて
昌生 高橋3.7K views
知って得する (かもしれない)、Internet Explorer での Canvas と SVG の描画 by Osamu Monoe
知って得する (かもしれない)、Internet Explorer での Canvas と SVG の描画知って得する (かもしれない)、Internet Explorer での Canvas と SVG の描画
知って得する (かもしれない)、Internet Explorer での Canvas と SVG の描画
Osamu Monoe1.4K views
One-time Binding & $digest by Hayashi Yuichi
One-time Binding & $digestOne-time Binding & $digest
One-time Binding & $digest
Hayashi Yuichi16.4K views
5 年続く 「はてなブックマーク」 アプリを継続開発する技術 by Yu Nobuoka
5 年続く 「はてなブックマーク」 アプリを継続開発する技術5 年続く 「はてなブックマーク」 アプリを継続開発する技術
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
Yu Nobuoka15K views
今度こそ始めるjQuery超入門 by 西畑 一馬
今度こそ始めるjQuery超入門今度こそ始めるjQuery超入門
今度こそ始めるjQuery超入門
西畑 一馬4.7K views
AngularJS x Chrome Apps (2014.08.23 #gdgkobe event) by pinmarch_t Tada
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 Tada1.4K views
HTML5とか勉強会#48 ionic by Kenichi Kanai
HTML5とか勉強会#48 ionicHTML5とか勉強会#48 ionic
HTML5とか勉強会#48 ionic
Kenichi Kanai2.6K views
はじめてのAngular その1 by 純一 榮枝
はじめてのAngular その1はじめてのAngular その1
はじめてのAngular その1
純一 榮枝809 views
次世代Web業務アプリケーション by Fumio SAGAWA
次世代Web業務アプリケーション次世代Web業務アプリケーション
次世代Web業務アプリケーション
Fumio SAGAWA12.8K views
App engine admin apiを利用したgae%2 f go環境へのデプロイとgcp東京リージョンの性能評価 by Kumano Ryo
App engine admin apiを利用したgae%2 f go環境へのデプロイとgcp東京リージョンの性能評価App engine admin apiを利用したgae%2 f go環境へのデプロイとgcp東京リージョンの性能評価
App engine admin apiを利用したgae%2 f go環境へのデプロイとgcp東京リージョンの性能評価
Kumano Ryo2.7K views
AngularJS勉強会「そもそもwebって」@ツクロア勉強会(2015.09.10) by tomonari takahashi
AngularJS勉強会「そもそもwebって」@ツクロア勉強会(2015.09.10)AngularJS勉強会「そもそもwebって」@ツクロア勉強会(2015.09.10)
AngularJS勉強会「そもそもwebって」@ツクロア勉強会(2015.09.10)
tomonari takahashi1.2K views

Recently uploaded

Najah Matsuo Self Introduction by
Najah Matsuo Self IntroductionNajah Matsuo Self Introduction
Najah Matsuo Self IntroductionNajahMatsuo
10 views29 slides
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私 by
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私修治 松浦
208 views36 slides
ウォーターフォール開発で生 産性を測る指標 by
ウォーターフォール開発で生 産性を測る指標ウォーターフォール開発で生 産性を測る指標
ウォーターフォール開発で生 産性を測る指標Kouhei Aoyagi
55 views13 slides
SSH超入門 by
SSH超入門SSH超入門
SSH超入門Toru Miyahara
490 views21 slides
システム概要.pdf by
システム概要.pdfシステム概要.pdf
システム概要.pdfTaira Shimizu
44 views1 slide
概要.pdf by
概要.pdf概要.pdf
概要.pdfTaira Shimizu
6 views1 slide

Recently uploaded(7)

Najah Matsuo Self Introduction by NajahMatsuo
Najah Matsuo Self IntroductionNajah Matsuo Self Introduction
Najah Matsuo Self Introduction
NajahMatsuo10 views
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私 by 修治 松浦
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私
修治 松浦208 views
ウォーターフォール開発で生 産性を測る指標 by Kouhei Aoyagi
ウォーターフォール開発で生 産性を測る指標ウォーターフォール開発で生 産性を測る指標
ウォーターフォール開発で生 産性を測る指標
Kouhei Aoyagi55 views
onewedge_companyguide1 by ONEWEDGE1
onewedge_companyguide1onewedge_companyguide1
onewedge_companyguide1
ONEWEDGE166 views

Angular jsの継続的なバージョンアップ