Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Desenvolvimento ágil com AngularJS
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Ciro Nunes
August 03, 2013
Programming
360
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Desenvolvimento ágil com AngularJS
Ciro Nunes
August 03, 2013
More Decks by Ciro Nunes
See All by Ciro Nunes
Rust Front-end with Yew
cironunes
0
110
Type safe CSS with Reason
cironunes
0
160
What I've learned building automated docs for Ansarada's design system
cironunes
0
100
Beyond ng new
cironunes
2
250
Animate your Angular apps
cironunes
0
470
Sweet Angular, good forms never felt so good
cironunes
0
120
Sweet Angular, good forms never felt so good
cironunes
0
330
Progressive Angular apps
cironunes
3
960
Angular: Um framework. Mobile & desktop.
cironunes
1
620
Other Decks in Programming
See All in Programming
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
390
Rでドレミ/Do-Re-Mi_with_R
florets1
0
120
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
440
Security issues being discussed on Web Platforms
petamoriken
0
1.4k
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
330
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
14
6.7k
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
550
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
350
大喜利で理解するLLM as a Judge / Understanding LLM-as-a-Judge through Ogiri
rockname
0
190
Workers Cache を知る
syumai
0
340
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
174
15k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
350
Between Models and Reality
mayunak
4
480
Paper Plane (Part 1)
katiecoart
PRO
2
11k
Accessibility Awareness
sabderemane
1
230
Game over? The fight for quality and originality in the time of robots
wayneb77
1
300
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.8k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
350
Abbi's Birthday
coloredviolet
4
10k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
470
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
840
Transcript
None
desenvolvimento ágil com o angular.js ciro nunes
- front-end engineer ~4 anos - agile coach - javascript,
angular.js, tools & workflow @cironunesdev / cironunes.github.io
None
None
http://meetup.com/AngularJS-Sao-Paulo
hoje vamos falar sobre agilidade no desenvolvimento de aplicações web
agenda - olá angular.js - introdução ao mundo ágil -
user stories - por que testar meu código? - workflow ágil - cart-app
full-feature framework para web apps
hello world index.html 1. <!doctype html> 2. <html ng-app="frontinbh" >
3. <head> 4. <meta charset="utf-8"> 5. <title>Hello World</title> 6. </head> 7. <body ng-controller="HelloCtrl" > 8. <p>Hello {{ name }} !</p> 9. <script src="//ajax.(...)/angular.min.js"></script> 10. <script src="app.js"> 11. </body> 12. </html>
1. angular.module( 'frontinbh' , []) 2. .controller('HelloCtrl' , function( $scope
) { 3. $scope.name = 'world'; 4. }); app.js (plunker) hello world
model = dados view = ui controller = lógica (plunker)
$scope 'cola' o controller na view single responsibility principle +
dependency injection
outras features
routes services directives modules http (ajax) filters data-binding (2 way)
resource (restful) factory providers config
o que é desenvolvimento ágil?
http://agilemanifesto.org/
user stories
user stories encorajam a modularizar e guiar o desenvolvimento pelos
testes
agilizam a escrita dos testes user stories
mas por que devo testar o código?
- confiabilidade - documentação (para humanos) - garantia incríveis poderes!
1. interpretar a user story 2. escrever um teste 3.
fazer o teste passar 4. refatorar 5. repetir a partir do #2 6. declarar os templates workflow
cart app github.com/cironunes/cart live coding
None
ferramentas de workflow
angular-mocks.js ferramentas de testes
bando de dados + api
#1 - como usuário - quero ver a lista de
produtos - para escolher qual vou comprar - nome, preço, imagem, qtde* - busca pelo nome
#2 - como usuário - quero adicionar produtos no carrinho
- para saber o valor total da compra - atualizar o carrinho - calcular o valor total da compra
#3 - como usuário - quero remover produtos do carrinho
- atualizar o carrinho - calcular o valor total da compra
#4 - como usuário - quero finalizar a compra -
limpar o carrinho - mostrar mensagem de carrinho vazio
- fundamentos do angular.js - introdução aos métodos ágeis -
um workflow simples e poderoso - incríveis ferramentas - como testar aplicações angular.js com persistência no mongodb o que aprendemos?
próximos passos
http://thinkster.io/
http://github.com/jmcunningham/AngularJS-Learning
http://meetup.com/AngularJS-Sao-Paulo
obrigado! @cironunesdev
perguntas?