SlideShare una empresa de Scribd logo
1 de 80
Descargar para leer sin conexión
Angularでつくる
Webアプリケーション
Kenichi Kanai
@can_i_do_web
AngularJS Japan User Group 管理人
Web先端技術味見部部長
AngularJS Japan User Group #ng_jp
facebook.com/ajimibu
twitter.com/ajimibu #ajimibu
HTML5 Experts.jp #html5exp
Basic
つくってみた
Plugin
Tools
Angular2
Agenda
https://angularjs.org/
Google Trends
Features
Fullstack
HTML enhanced
Concepts
Two way data binding
Template Engine
Ajax Support
Routing
Test
Security
得意なこと
CRUD系のアプリケーション
管理画面・マイページ
ハイブリッドアプリケーション
苦手なこと
モバイル向けアプリケーション※
ゲーム等のグラフィックやエフェクト
いわゆるWebサイト
※ 改善はされてきています
一番最初の Angular
built-in directive
DOM 操作 (一部)
ng-bind
ng-bind-html
ng-repeat
ng-show / hide / if
ng-switch /
ng-switch-when
a
textarea
select /
ng-options
form
input[type= xxx ]
Event
ng-click
ng-dblclick
ng-change
ng-checked
ng-mousedown
ng-mouseenter
ng-mouseleave
ng-mouseover
ng-mouseup
ng-submit
step2
step2
Form Validation
required ( = ng-required)
min / max ( = ng-min / ng-max)
ng-minlength
ng-maxlength
ng-pattern
ng-true-value
ng-false-value
step3
step3
Form Validation
form[name].input[name].$valid
form[name].input[name].$invalid
form[name].input[name].$error.required
form[name].input[name].$error.max
childForm[name].$error.minlength
form[name].childForm[name].$valid
step4
step4
Form Validation
check
box
email number radio text url
text

area
select
required ⃝ ○ ○ ○ ○ ○
min ○
max ○
ng-minlength ○ ○ ○ ○ ○
ng-maxlength ○ ○ ○ ○ ○
ng-pattern ○ ○
Filter
currency
date
filter
json
limitTo
lowercase
number
orderBy
uppercase
Filter
ng core - function
ng core - function
angular.bind
angular.bootstrap
angular.copy
angular.element
angular.equals
angular.extend
angular.forEach
angular.fromJson
angular.identity
angular.injector
angular.isArray
angular.isDate
angular.isDefined
angular.isElement
angular.isFunction
angular.isNumber
angular.isObject
angular.isString
angular.isUndefined
angular.lowercase
angular.merge
angular.module
angular.noop
angular.reloadWithDebugInfo
angular.toJson
angular.uppercase
Model
View
Controller
Model
データ
ビジネスロジック
View
Template -> HTML
Controller
Scope 初期化
イベントの受け渡し
MVC - before
MVC - after
MVC - after
Service
Service
factory
service
provider
constant
value
Scope
Scope
Scope
Scope
Custom Directive
Web Components
Custom Elements
Shadow DOM
Templates
HTML Imports
Web Components
https://html5experts.jp/1000ch/11142/  
Custom Directive
Custom Element
Custom Attribute
From Class Name (CSS)
一番最初の Custom Directive
Custom Directive
Component
Routing
Routing
ngRoute
AngularUI Router
Component Router
http://angular-ui.github.io/ui-router/site/#/api/ui.router
https://github.com/angular/router
基礎おわり
Plugin
https://angular-ui.github.io/
http://ngmodules.org/
Tools
https://nodejs.org/en/
http://gruntjs.com/
http://gulpjs.com/
http://bower.io/
http://yeoman.io/
https://github.com/broccolijs/broccoli
http://brunch.io/
つくってみた
つくってみた
yeoman でテンプレート作成
grunt でサーバ起動
about Angular2
Component ベース
新しい構文
Universal JavaScript
Angular2 Demo
migration to Angular2
FAQ
Why “ng-“
ng sounds like angular
“ng-“ は HTML5 の構文的に NG!
data-ng-repeat で OK!
SEO
基本無理です...
MVWって?
Model
View
Whatever (?)
MVC でも MVVM でも何でもいいからコード書こうぜ!
Angular1 のサポート期間は?
みんなが Angular2 になるまで(!?)
Enjoy Angular!
Thank you!
@can_i_do_web

Más contenido relacionado

La actualidad más candente

Flux react現状確認会
Flux react現状確認会Flux react現状確認会
Flux react現状確認会
VOYAGE GROUP
 

La actualidad más candente (20)

開発ライフサイクルから見たAngularJS
開発ライフサイクルから見たAngularJS開発ライフサイクルから見たAngularJS
開発ライフサイクルから見たAngularJS
 
Angular 4がやってくる!? 新機能ダイジェスト
Angular 4がやってくる!? 新機能ダイジェストAngular 4がやってくる!? 新機能ダイジェスト
Angular 4がやってくる!? 新機能ダイジェスト
 
俺とAngular JS 2
俺とAngular JS 2俺とAngular JS 2
俺とAngular JS 2
 
Directiveで実現できたこと
Directiveで実現できたことDirectiveで実現できたこと
Directiveで実現できたこと
 
受託開発でのAngularJS - 第1回AngularJS 勉強会 at LIG
受託開発でのAngularJS - 第1回AngularJS 勉強会 at LIG受託開発でのAngularJS - 第1回AngularJS 勉強会 at LIG
受託開発でのAngularJS - 第1回AngularJS 勉強会 at LIG
 
Angular2実践入門
Angular2実践入門Angular2実践入門
Angular2実践入門
 
Angular js開発事例
Angular js開発事例Angular js開発事例
Angular js開発事例
 
Flux react現状確認会
Flux react現状確認会Flux react現状確認会
Flux react現状確認会
 
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
 
React を導入した フロントエンド開発
React を導入したフロントエンド開発React を導入したフロントエンド開発
React を導入した フロントエンド開発
 
イマドキのフロントエンドエンジニアの道具箱
イマドキのフロントエンドエンジニアの道具箱イマドキのフロントエンドエンジニアの道具箱
イマドキのフロントエンドエンジニアの道具箱
 
AngularJSについて
AngularJSについてAngularJSについて
AngularJSについて
 
AngularJSを浅めに紹介します
AngularJSを浅めに紹介しますAngularJSを浅めに紹介します
AngularJSを浅めに紹介します
 
コンポーネント指向による、Reactのベストプラクティスとバッドプラクティス
コンポーネント指向による、Reactのベストプラクティスとバッドプラクティスコンポーネント指向による、Reactのベストプラクティスとバッドプラクティス
コンポーネント指向による、Reactのベストプラクティスとバッドプラクティス
 
クリエイティブの視点から探るAngular 2の可能性
クリエイティブの視点から探るAngular 2の可能性クリエイティブの視点から探るAngular 2の可能性
クリエイティブの視点から探るAngular 2の可能性
 
ng-mtg#6 AngularJS ディレクティブ・パターン
ng-mtg#6 AngularJS ディレクティブ・パターンng-mtg#6 AngularJS ディレクティブ・パターン
ng-mtg#6 AngularJS ディレクティブ・パターン
 
Angular js はまりどころ
Angular js はまりどころAngular js はまりどころ
Angular js はまりどころ
 
AngularJSとFluxとRiotJSと
AngularJSとFluxとRiotJSとAngularJSとFluxとRiotJSと
AngularJSとFluxとRiotJSと
 
サーバサイドエンジニアが 1年間まじめにSPAやってみた
サーバサイドエンジニアが 1年間まじめにSPAやってみたサーバサイドエンジニアが 1年間まじめにSPAやってみた
サーバサイドエンジニアが 1年間まじめにSPAやってみた
 
今後のWeb開発の未来を考えてangular jsにしました(拡大版)
今後のWeb開発の未来を考えてangular jsにしました(拡大版)今後のWeb開発の未来を考えてangular jsにしました(拡大版)
今後のWeb開発の未来を考えてangular jsにしました(拡大版)
 

Destacado

1 q 2012 halo report finala
1 q 2012 halo report finala1 q 2012 halo report finala
1 q 2012 halo report finala
henkhans
 
Dec. 2012 newsletter final
Dec. 2012 newsletter finalDec. 2012 newsletter final
Dec. 2012 newsletter final
aprilrism1
 
друге життя
друге життядруге життя
друге життя
Andrey Hrutba
 
บุคคลสำคัญของบางกอก
บุคคลสำคัญของบางกอกบุคคลสำคัญของบางกอก
บุคคลสำคัญของบางกอก
nearary
 
TRiO SSS Enrollment Orientation
TRiO SSS Enrollment Orientation TRiO SSS Enrollment Orientation
TRiO SSS Enrollment Orientation
fmorado
 
บุคคลสำคัญของบางกอก
บุคคลสำคัญของบางกอกบุคคลสำคัญของบางกอก
บุคคลสำคัญของบางกอก
nearary
 

Destacado (20)

HTML5 ビギナーのための AngularJS
HTML5 ビギナーのための AngularJSHTML5 ビギナーのための AngularJS
HTML5 ビギナーのための AngularJS
 
はじめてのAngular2
はじめてのAngular2はじめてのAngular2
はじめてのAngular2
 
AngularJS 入門
AngularJS 入門AngularJS 入門
AngularJS 入門
 
Resume
ResumeResume
Resume
 
We nemen je mee
We nemen je meeWe nemen je mee
We nemen je mee
 
Animated1
Animated1Animated1
Animated1
 
риб бизнес лекция укр
риб бизнес лекция укрриб бизнес лекция укр
риб бизнес лекция укр
 
HTML5とか勉強会#48 ionic
HTML5とか勉強会#48 ionicHTML5とか勉強会#48 ionic
HTML5とか勉強会#48 ionic
 
1 q 2012 halo report finala
1 q 2012 halo report finala1 q 2012 halo report finala
1 q 2012 halo report finala
 
Dec. 2012 newsletter final
Dec. 2012 newsletter finalDec. 2012 newsletter final
Dec. 2012 newsletter final
 
Nov 2102 newsletter final
Nov 2102 newsletter finalNov 2102 newsletter final
Nov 2102 newsletter final
 
Druge_jittya
Druge_jittyaDruge_jittya
Druge_jittya
 
Grade 4 September 2012 newsletter
Grade 4 September 2012 newsletterGrade 4 September 2012 newsletter
Grade 4 September 2012 newsletter
 
друге життя
друге життядруге життя
друге життя
 
SEDENO, M.DHERIBERTO. VISITS SOUTH AMERICA, Part 1
SEDENO, M.DHERIBERTO. VISITS SOUTH AMERICA, Part 1SEDENO, M.DHERIBERTO. VISITS SOUTH AMERICA, Part 1
SEDENO, M.DHERIBERTO. VISITS SOUTH AMERICA, Part 1
 
บุคคลสำคัญของบางกอก
บุคคลสำคัญของบางกอกบุคคลสำคัญของบางกอก
บุคคลสำคัญของบางกอก
 
วิธีการสอนตามระเบียบขั้นตอนทางวิทยาศาสตร์
วิธีการสอนตามระเบียบขั้นตอนทางวิทยาศาสตร์วิธีการสอนตามระเบียบขั้นตอนทางวิทยาศาสตร์
วิธีการสอนตามระเบียบขั้นตอนทางวิทยาศาสตร์
 
味見部紹介 LT
味見部紹介 LT味見部紹介 LT
味見部紹介 LT
 
TRiO SSS Enrollment Orientation
TRiO SSS Enrollment Orientation TRiO SSS Enrollment Orientation
TRiO SSS Enrollment Orientation
 
บุคคลสำคัญของบางกอก
บุคคลสำคัญของบางกอกบุคคลสำคัญของบางกอก
บุคคลสำคัญของบางกอก
 

Similar a Angular#Kanazawa

ABC2012Spring 20120324
ABC2012Spring 20120324ABC2012Spring 20120324
ABC2012Spring 20120324
Tak Inamori
 
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
normalian
 
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Akira Inoue
 

Similar a Angular#Kanazawa (20)

2013 Ignite UI 最新情報 in 岡山
2013 Ignite UI 最新情報 in 岡山2013 Ignite UI 最新情報 in 岡山
2013 Ignite UI 最新情報 in 岡山
 
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
 
はじめてのAngular その1
はじめてのAngular その1はじめてのAngular その1
はじめてのAngular その1
 
jQuery Mobile
jQuery MobilejQuery Mobile
jQuery Mobile
 
スマホにおけるWebGL入門
スマホにおけるWebGL入門スマホにおけるWebGL入門
スマホにおけるWebGL入門
 
Jqm20120804 publish
Jqm20120804 publishJqm20120804 publish
Jqm20120804 publish
 
jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
 jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
 
ngJapan報告会
ngJapan報告会ngJapan報告会
ngJapan報告会
 
ABC2012Spring 20120324
ABC2012Spring 20120324ABC2012Spring 20120324
ABC2012Spring 20120324
 
HTML5 のお話
HTML5 のお話HTML5 のお話
HTML5 のお話
 
WebComponentsとPolymerを使ってみた
WebComponentsとPolymerを使ってみたWebComponentsとPolymerを使ってみた
WebComponentsとPolymerを使ってみた
 
Ignite UI 2012 最新情報 jQuery Mobile 編
Ignite UI 2012 最新情報 jQuery Mobile 編Ignite UI 2012 最新情報 jQuery Mobile 編
Ignite UI 2012 最新情報 jQuery Mobile 編
 
AngularJSで業務システムUI部品化
AngularJSで業務システムUI部品化AngularJSで業務システムUI部品化
AngularJSで業務システムUI部品化
 
Webに今求められているレベル: HTML5 コントロールを利用した開発
Webに今求められているレベル: HTML5 コントロールを利用した開発Webに今求められているレベル: HTML5 コントロールを利用した開発
Webに今求められているレベル: HTML5 コントロールを利用した開発
 
PhoneGapでWebアプリをスマホアプリ化
PhoneGapでWebアプリをスマホアプリ化PhoneGapでWebアプリをスマホアプリ化
PhoneGapでWebアプリをスマホアプリ化
 
Angular の紹介
Angular の紹介Angular の紹介
Angular の紹介
 
Chrome DevTools.next
Chrome DevTools.nextChrome DevTools.next
Chrome DevTools.next
 
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
 
もっと良くなるHTMLアプリケーション設計と実装
もっと良くなるHTMLアプリケーション設計と実装もっと良くなるHTMLアプリケーション設計と実装
もっと良くなるHTMLアプリケーション設計と実装
 
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
 

Más de Kenichi Kanai

Más de Kenichi Kanai (14)

techfeed_ng-japan2019
techfeed_ng-japan2019techfeed_ng-japan2019
techfeed_ng-japan2019
 
ng-japan2019_techfeed_LT
ng-japan2019_techfeed_LTng-japan2019_techfeed_LT
ng-japan2019_techfeed_LT
 
Angular CLI
Angular CLIAngular CLI
Angular CLI
 
pick up ng-conf
pick up ng-confpick up ng-conf
pick up ng-conf
 
Angular1.5.5
Angular1.5.5Angular1.5.5
Angular1.5.5
 
New Features in Angular 1.5
New Features in Angular 1.5New Features in Angular 1.5
New Features in Angular 1.5
 
ngTeratail
ngTeratailngTeratail
ngTeratail
 
はじめてのAngular2
はじめてのAngular2はじめてのAngular2
はじめてのAngular2
 
Web先端技術味見部
Web先端技術味見部Web先端技術味見部
Web先端技術味見部
 
angularJS in 10ish minutes
angularJS in 10ish minutesangularJS in 10ish minutes
angularJS in 10ish minutes
 
初学者向けセミナー資料
初学者向けセミナー資料初学者向けセミナー資料
初学者向けセミナー資料
 
HTML5入門 for 頭がヤバい人向け
HTML5入門 for 頭がヤバい人向けHTML5入門 for 頭がヤバい人向け
HTML5入門 for 頭がヤバい人向け
 
みんなが調べないJS調べてみた JSオジサン#2
みんなが調べないJS調べてみた JSオジサン#2みんなが調べないJS調べてみた JSオジサン#2
みんなが調べないJS調べてみた JSオジサン#2
 
Ng mtg#3
Ng mtg#3Ng mtg#3
Ng mtg#3
 

Angular#Kanazawa