Upload
alexandre-marreiros
View
330
Download
0
Embed Size (px)
Citation preview
Nome do Documento / Cliente / 1 de maio de 2023 / 11Nome do Documento / Cliente / 1 de maio de 2023
2015
WorkShop Getting Start With AngularAlexandre Marreiros
Nome do Documento / Cliente / 1 de maio de 2023 / 22Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
ABOUT YOUPresent Yourself
Tell us what brings you here
What you want to take
What’s your Story?Startatsv.com
Nome do Documento / Cliente / 1 de maio de 2023 / 33Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
ABOUT• CTO @ Innovagency• Technical Trainer, Speaker & Consultant as Self
Employee• Lecturer @ EDIT• Software Developer & Architect as Consultant• Tech Writer and Reviewer as Self Employee• Digital Technical UX Consultant• Microsoft DevCamp Trainer• Microsoft Most Valuable Professional for Windows
Platfor• MCPD
Alexandre Marreiros
Contacts:[email protected] / [email protected]@alexmarreiroshttp://www.linkedin.com/pub/alexandre-marreiros/8/4b8/a21www.digitalmindignition.com
Nome do Documento / Cliente / 1 de maio de 2023 / 44Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
FUNDAMENTALS
Nome do Documento / Cliente / 1 de maio de 2023 / 55Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
Agenda
Fundamental Angular Blocks:
Expressions
Directives
Scopes
Nome do Documento / Cliente / 1 de maio de 2023 / 66Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
AGENDA
Nome do Documento / Cliente / 1 de maio de 2023 / 77Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
Agenda
# 1 State of the Web Development
#2 What’s Angular JS
#3 Building Blocks
#4 Controllers and Modules
#5 Directives and Views
Nome do Documento / Cliente / 1 de maio de 2023 / 88Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
Agenda
#6 Services
#7 Routing
#8 Comunication With Events
Nome do Documento / Cliente / 1 de maio de 2023 / 99Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
STATE OF THE ART
Nome do Documento / Cliente / 1 de maio de 2023 / 1010Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
Nome do Documento / Cliente / 1 de maio de 2023 / 1111Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
Nome do Documento / Cliente / 1 de maio de 2023 / 1212Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
Nome do Documento / Cliente / 1 de maio de 2023 / 1313Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
Nome do Documento / Cliente / 1 de maio de 2023 / 1414Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
INTRODUCTION
Nome do Documento / Cliente / 1 de maio de 2023 / 1515Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
Nome do Documento / Cliente / 1 de maio de 2023 / 1616Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
JavaScript Challenge
Cross Browsing
Help on Responsive Behaviour
Help With Async
Ritch Client Interface
Data Exploring on client
Operating System Native Action
Nome do Documento / Cliente / 1 de maio de 2023 / 1717Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
JavaScript Challenge
Not Type Safe
Based on a Old Standard
Functional based
Written in 2 Weeks
Uncopled from modern Web
Expensive learning curve Big Investement
Nome do Documento / Cliente / 1 de maio de 2023 / 1818Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
AngularWritten by Misko Hevery
“With the intent to extend HTML Acording to standards and good pratices. Allow tohave ritch components
that help reach data and have data driven event handling”
Nome do Documento / Cliente / 1 de maio de 2023 / 1919Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
Angular atual HeadQuarter
Angularjs.org
Nome do Documento / Cliente / 1 de maio de 2023 / 2020Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
Angular Future
Angular.io
Nome do Documento / Cliente / 1 de maio de 2023 / 2121Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
START ENGINES
Nome do Documento / Cliente / 1 de maio de 2023 / 2222Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
Start Engines
Start Engines
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.1/angular.js"></script>
<body ng-app> <!-- Other examples in this chapter will be inserted here. --></body>
Include Angular on Project
Define Angular Boundaries* There are no dependicies to other script files all the Angular Core is here
Nome do Documento / Cliente / 1 de maio de 2023 / 2323Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
FIRST DEMOS
Nome do Documento / Cliente / 1 de maio de 2023 / 2424Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
Binding Boxes
Nome do Documento / Cliente / 1 de maio de 2023 / 2525Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
ShowCase
To Watch a ShowCase
Of APPS Made With
Angular
Nome do Documento / Cliente / 1 de maio de 2023 / 2626Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
Plunker is made with AngularJS
Our example live editor to build our demos are also build with Angular
Nome do Documento / Cliente / 1 de maio de 2023 / 2727Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
DEVELOPMENT ENVIROMENT
Nome do Documento / Cliente / 1 de maio de 2023 / 2828Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
ANGULAR USAGE BENEFITS
Nome do Documento / Cliente / 1 de maio de 2023 / 2929Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
Development time reduction
Nome do Documento / Cliente / 1 de maio de 2023 / 3030Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
Code Reduction and Reusage
80% to 90%
Nome do Documento / Cliente / 1 de maio de 2023 / 3131Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
Data Binding
Forms (validation and save)One Way BindingTwo Way Binding
Optimized Support out of the box
Nome do Documento / Cliente / 1 de maio de 2023 / 3232Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
Includes all the major features of webapps
Nome do Documento / Cliente / 1 de maio de 2023 / 3333Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
Support for accebility
Using the directive ng-area to develop future on the workshop
Nome do Documento / Cliente / 1 de maio de 2023 / 3434Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
Strong Communitie and PopularStrong communitie and Popular
Nome do Documento / Cliente / 1 de maio de 2023 / 3535Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
Unit Tests ReadyStrong communitie and Popular
Nome do Documento / Cliente / 1 de maio de 2023 / 3636Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
JAVASCRIPT PATTERNS & PRATICES
Nome do Documento / Cliente / 1 de maio de 2023 / 3737Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
JavaScript Patterns
Functions and AbstrationsFunctions to build ModulesFunctions as variablesFunctions as modelation methodsAbstract Functions
Nome do Documento / Cliente / 1 de maio de 2023 / 3838Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
PATTERN DEMOS
Nome do Documento / Cliente / 1 de maio de 2023 / 3939Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
Single Page APP
“Why do we want to write single page apps? The main reason is that they allow us to offer a more-native-app-like experience to the user.” From SinglePageAppBook
Nome do Documento / Cliente / 1 de maio de 2023 / 4040Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
SPA
Nome do Documento / Cliente / 1 de maio de 2023 / 4141Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
CONTROLLERS
Nome do Documento / Cliente / 1 de maio de 2023 / 4242Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
MVC
Nome do Documento / Cliente / 1 de maio de 2023 / 4343Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
MVM
Nome do Documento / Cliente / 1 de maio de 2023 / 4444Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
Controllers Controller directive in HTML (ng-controller)
Controller will be a function that Angular invokes
Controller takes a $scope parameter
Attach model to $scope
Nome do Documento / Cliente / 1 de maio de 2023 / 4545Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
Controllers
Nome do Documento / Cliente / 1 de maio de 2023 / 4646Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
Controllers
Nome do Documento / Cliente / 1 de maio de 2023 / 4747Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
Controllers
“Scopes provide a single source of truth within your application. The idea is that no matter in how many places you display some data in your view layer, you should only have to change it in one place (a scope property), and the change should automatically propagate throughout the view.”
$scope:
Nome do Documento / Cliente / 1 de maio de 2023 / 4848Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
Controllers
Multiple controllers
Complex objects
Nest controllers
Nome do Documento / Cliente / 1 de maio de 2023 / 4949Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
DIRECTIVES
Nome do Documento / Cliente / 1 de maio de 2023 / 5050Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
Directives
“Directives are the heart and soul of Angular.”
https://docs.angularjs.org/guide/directive
Nome do Documento / Cliente / 1 de maio de 2023 / 5151Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
Directives
Nome do Documento / Cliente / 1 de maio de 2023 / 5252Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
Directives
http://www.cheatography.com/proloser/cheat-sheets/angularjs/
Nome do Documento / Cliente / 1 de maio de 2023 / 5353Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
CONSUMING WEBAPis JASON BASED
Nome do Documento / Cliente / 1 de maio de 2023 / 5454Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
http service
Services consumption is made using a promise approach, in the case off the http, we have a method representing each verb. We have also a response explaining if the http call had been succeeded or not.
Next we will analysis the 2 fundamental verbs post and get
Nome do Documento / Cliente / 1 de maio de 2023 / 5555Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
http service
$http.get('/someUrl'). success(function(data, status, headers, config) {
// tis callback will be called asynchronously // when the response is available
}). error(function(data, status, headers, config) { // called asynchronously if an error occurs // or server returns response with an error
status. });
Get method
Nome do Documento / Cliente / 1 de maio de 2023 / 5656Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
http servicePost method
$http.post('/someUrl‘,{msg:’hi there’}). success(function(data, status, headers, config) {
// this callback will be called asynchronously // when the response is available
}). error(function(data, status, headers, config) { // called asynchronously if an error occurs // or server returns response with an error
status. });
Nome do Documento / Cliente / 1 de maio de 2023 / 5757Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
Demo Create a SPA that consumes GitHub page
Nome do Documento / Cliente / 1 de maio de 2023 / 5858Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
DEMO / EXERCISESTRAINING ANGULAR
Experiment Directives on your ownShowing common bugsShowing api documentation problemsShow the different discussed Javascript patterns aplied in Angular development
Nome do Documento / Cliente / 1 de maio de 2023 / 5959Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WRAPUP
Nome do Documento / Cliente / 1 de maio de 2023 / 6060Nome do Documento / Cliente / 1 de maio de 2023
Este documento é propriedade intelectual de Innovagency, não podendo ser alterado ou usado para outro fim, a não ser o previamente acordado, sem autorização da mesma.
WorkShop – Getting Start With Angular
Questions
Feel free to put your Questions nowOr if you prefer use one off my
contacts@[email protected]@innovagency.comwww.digitalmindignition.com