introductiontoangularwithasimplebutcompleteproject-171127023401.pptx

CHETHANKUMAR274045 24 views 106 slides Aug 26, 2024
Slide 1
Slide 1 of 106
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53
Slide 54
54
Slide 55
55
Slide 56
56
Slide 57
57
Slide 58
58
Slide 59
59
Slide 60
60
Slide 61
61
Slide 62
62
Slide 63
63
Slide 64
64
Slide 65
65
Slide 66
66
Slide 67
67
Slide 68
68
Slide 69
69
Slide 70
70
Slide 71
71
Slide 72
72
Slide 73
73
Slide 74
74
Slide 75
75
Slide 76
76
Slide 77
77
Slide 78
78
Slide 79
79
Slide 80
80
Slide 81
81
Slide 82
82
Slide 83
83
Slide 84
84
Slide 85
85
Slide 86
86
Slide 87
87
Slide 88
88
Slide 89
89
Slide 90
90
Slide 91
91
Slide 92
92
Slide 93
93
Slide 94
94
Slide 95
95
Slide 96
96
Slide 97
97
Slide 98
98
Slide 99
99
Slide 100
100
Slide 101
101
Slide 102
102
Slide 103
103
Slide 104
104
Slide 105
105
Slide 106
106

About This Presentation

EDUCATION REFERED IN ONLINE


Slide Content

Jadson Santos Computing Engineer Introduction to Angular with a simple but complete p roject

Angular Introduction Angular is a framework for building client applications in HTML, CSS and TypeScript ( that compiles to JavaScript ). It has changed the way we develop client side applications, by providing the possibilities to apply the best practices usually applied on server side like modular programming, separation of concerns, testability and many other, on client side . 2 Angular

Angular Introduction Evolution 3 Angular

Angular Introduction Angular is oriented to develop the front end uncoupled of the back end 4 Angular

Angular Introduction Traditional WEB Architecture 5 Angular Web Page Construction Logic Business Logic and Persistence

Angular Introduction Service Oriented Front End Architecture - SOFEA 6 Angular HTTP Server Services Business Logic and Persistence just once

Angular Introduction SOFEA advantages Scalability (processing, stateless, caching) Interoperability ( BaaS – Back-end as a Service, Web and Mobile) Offline Applications Asynchronous development ( front-end x back-end) 7 Angular

Angular Introduction Angular uses the concept of Single Page Application (SPA ) SPA is not an application of a unique html file but a fully contained applications in the browser that do not need to make requests for new pages on the server . Usually SPA makes request just of the data that will be show inside of the pages ( accessing back end REST+JSON services) 8 Angular

Angular Introduction Single Page Application Advantages: Faster, eliminate the download of html, js and css code in each request Possibility to create off line applications 9 Angular

Angular Install the Environment 10 Angular

Angular Install the Environment ATOM : Text editor (or any other that you prefer) Node.js + npm : dependence management ( npm ~= gradle /maven in java world) Angular CLI : Command Line I nterfaces for angular TypeScript : The language of angular 2 11 Angular

Angular Install the Environment Download and install Aton (https:// atom.io /) 12 Angular

Angular Install the Environment Aton Plugins: Aton -> Settings -> Install atom-typescript file-icons angular-2-typeScript-snippets 13 Angular

Angular Install the Environment Download and install Node.js (https:// nodejs.org ) to have access to npm 14 Angular

Angular Install the Environment After install npm , install typescript and angular cli using the npm of node.js sudo npm intall –g typescript sudo npm intall –g @angular/cli 15 Angular

Angular Install the Environment 16 Angular Checking

Angular Create a new Project 17 Angular

Angular Create a new Project 18 Angular Create a new angular project ng new project_name

Angular Create a new Project 19 Angular Open angular project in Atom

Angular Create the Project Running the project ng server inside of project folder open the browser on http://localhost:4200 20 Angular

Angular Create a new Project Default Angular Page 21 Angular

Angular Creating Components 22 Angular

Angular Creating Components Angular is based on components. There is already the main component called app.component that shows the “ Wellcome to App” page when you access localhost:4200 23 Angular

Angular Creating Components Angular component have 3 basics parts. name- component.html (the html code of component) name- component.css ( css style of component) name- component.ts (the typescritp of component) 24 Angular

Angular Creating Components O ur application will have 3 components Let's create then with ng g c name Angular CLI command 25 Angular Header Home Footer

Angular Creating Components Create Angular components ng g c header ng g c home ng g c footer 26 Angular

Angular Creating Components Each component has a simple html page 27 Angular

Angular Creating Components A empty css file 28 Angular

Angular Creating Components And a typescript class 29 Angular

Angular Creating Components Each component has a selector in the typescript class that identify the component 30 Angular

Angular Creating Components So, let’s erase the content of the template app.component.html file and put our components selectors in the order of the components will be shown 31 Angular

Angular Creating Components ng server to run the development angular server 32 Angular

Angular Project Look and Feel 33 Angular

Angular Project Look and Feel N ow let’s install bootstrap in our project to make view pretty To install new angular external modules use npm npm install bootstrap @3 jquery --save This installs Bootstrap and jQuery into the node_modules folder within the project directory 34 Angular

Angular Project Look and Feel When we are development a web application with bootstrap and jquery we need to include its . css and . js files in our html pages. We can do this with angular, but usually angular has a file . angular- cli.json where we can include the . css and . javascript code that we will use in our project 35 Angular

Angular Project Look and Feel Open the .angular- cli.json file and add the css and js files of bootstrap and jQuery inside slyles and scripts arrays. 36 Angular

Angular Project Look and Feel Now we can open the home component template (html file) and use some bootstrap css class 37 Angular

Angular Project Look and Feel The page will use bootstrap css style: 38 Angular

Angular Project Look and Feel We can also use bootstrap templates in our project Angular projects have a assets folder that we can use to put static files, like images, html templates, etc.. Let’s use in our project the SB Admin 2 bootstrap theme (https:// startbootstrap.com /template-overviews/sb-admin-2/) 39 Angular

Angular Project Look and Feel Adding the SB Admin 2 bootstrap theme Download it 40 Angular

Angular Project Look and Feel Adding the SB Admin 2 bootstrap theme Copy it content to the assets directory 41 Angular

Angular Project Look and Feel Adding the SB Admin 2 bootstrap theme Add its js and css files in the .angular- cli.json file 42 Angular

Angular Project Look and Feel Adding the SB Admin 2 bootstrap theme Now we can use SB Admin 2 elements in the angular components html files 43 Angular

Angular Data Binding 44 Angular

Angular Data Binding Interpolation Allows us to read primitive or object values from component properties in the template (html file) 45 Angular

Angular Data Binding Property Binding Angular executes the expression and assigns it to a p roperty of an HTML element, a component, or a directive. 46 Angular

Angular Data Binding Event Binding A component m ethod responds to an event raised by an element, component, or directive. 47 Angular

Angular Data Binding Two-Way Data Binding Its takes a combination of setting a specific element property and listening for an element change event. 48 Angular

Angular Data Binding Two-Way Data Binding You can use a property + event binding Or [ ( ) ] syntax 49 Angular

Angular Data Binding 50 Angular

Angular Directives 51 Angular

Angular Directives Attribute Directives and Structural Directives Attribute Directives : changes the appearance or behavior of a DOM element Structural Directives : Change the DOM's structure, typically by adding, removing, or manipulating elements. 52 Angular

Angular Directives ngIf 53 Angular

Angular Directives ngFor 54 Angular

Angular Directives 55 Angular

Angular Communicate with back end 56 Angular

Angular Communicate with back end To communication with back end angular uses the concept of “services” Creating a new service cd src /app/home ng g s home This create inside of home folder the home.service.ts file 57 Angular

Angular Communicate with back end I n the H omeService import the HttpClient from “@angular/ commum /http” Inject it by constructor Create a method getScearios ( ) In the method getScenarios () call the get method passing the URL of the service This call a REST service in the backend that will return a array of scenarios using json . 58 Angular

Angular Communicate with back end H omeService 59 Angular

Angular Communicate with back end H omeService 60 Angular

Angular Communicate with back end I n the HomeComponent import the HttpService from ./ home.service Inject it by constructor Create a method scenariosList () that call the getScearios () from the service On the ngOnInit () method call the scenariosList () , when the home component is create (the html code is show) ngOnInit () -> sceneariosList () -> getScenarios () 61 Angular

Angular Communicate with back end H omeComponent 62 Angular

Angular Communicate with back end H omeComponent 63 Angular

Angular Communicate with back end I n app module ( app.module.ts file) import the HttpClientModule and the HomeService add HttpClientModule in imports[] arrays and HomeService in providers[] array 64 Angular

Angular Communicate with back end I n the app module ( app.module.ts file) 65 Angular

Angular Communicate with back end In the back end you can use any technology We create a RestFul Web Service using Spring that return a list of ScenarioDTO objects 66 Angular

Angular Communicate with back end B ack end 67 Angular

Angular Communicate with back end The Scenario[] arrays return by getScenarios () method of HomeService will have fields with the same name of ScenarioDTO return by back end. 68 Angular

Angular Communicate with back end Now on the front end, you can iterate over the array on the home template (.html file) using ngFor directive and access the fields defined on back end. 69 Angular

Angular Communicate with back end Now on the front end, you can iterate over the array on the home template (.html file) using ngFor directive and access the fields defined on back end. 70 Angular

Angular Routes 71 Angular

Angular Routes Routes is a functionally that helps your application to become a Single Page Application It redirect the user to another component without reload the page or call the back end. 72 Angular

Angular Routes We create 2 new components charts and scenarios And a new file app.routing.ts 73 Angular

Angular Routes I n the file app.routing.ts we will declare the root routes of our application 74 Angular

Angular Routes Declare a appRoutes variable of the type Routes that is a array with two fields: the path and the component When access one path the application will redirect for the component 75 Angular

Angular Routes Declare a const with the routes for root routes 76 Angular

Angular Routes And import this const in the app.module.ts 77 Angular

Angular Routes Now we have to indicate where the html code of component will be drawn in our application We will indicate this with router-outlet tag. We put this tag on the app.component.html 78 Angular

Angular Routes I n the Home component we will let just the common code. When the user access the path “/scenarios ”, the code of ScenariosComponent will be rendered in a pp.component.html When the user access the path “ /charts” , the code of C hartsComponent will be rendered in app.component.html . 79 Angular

Angular Routes Accessing the path “” 80 Angular

Angular Routes A ccessing the path “/scenarios ” 81 Angular

Angular Routes Accessing the path “ /charts” 82 Angular

Angular Routes We can redirect from a link without reload the page using the directive routerLink 83 Angular

Angular Versioning the Project 84 Angular

Angular Versioning the Project Angular/cli automatically create a . gitignore file that ignore the node_modules directory 85 Angular

Angular Versioning the Project This happens because this directory contains all dependence of project and is very big. When you clone a angular project ( that should not contains the node_modules ), you can restore it with the command npm install . git clone url_to_my_project cd project_directory npm install ng server 86 Angular

Angular Environment Variables 87 Angular

Angular Environment Variables You can manage different environments Angular create under src directory, a directory named environments, where you can configure global constants 88 Angular

Angular Environment Variables Define the environments that you will have in environments array in .angular- cli.json file: 89 Angular

Angular Environment Variables environment.ts is default environment You can specify the environment on the moment of the build ng build -- env =test This is very useful to define the api url . 90 Angular

Angular Environment Variables Y ou can import env file in components , services, etc … , like this: 91 Angular

Angular Build to Production 92 Angular

Angular Build to Production Edit the index.html to set the <base href > appropriately with the context of the application, ending with “/” . 93 Angular

Angular Build to Production To build the project to production, we use this command: ng build --prod -- env = prod The prod option will minify all files and do another cool things to format the files do production. The env option will build the correct environment file to use 94 Angular

Angular Build to Production The build will generated a dist directory 95 Angular

Angular Build to Production R ename the dist directory as application context name ( same name of base href in index.html ) C opy the directory put inside a HTTP Server (apache, tomcat, etc ) 96 Angular

Angular Build to Production 97 Angular

Angular Commands Summary 98 Angular ng new name (create a new project) npm install (download all dependences and restore node_modules directory) ng server (run the application for development localhost:4200) ng g m name (generate a new module) ng g c name ( generate a new component) ng g s name ( generate a new server) ng build --prod -- env =prod (build for production)

Angular Project Structure Overview 99 Angular Declaration of angular dependences C onfiguration of your project The code of our application Contains all dependences Git control Version e nd to end tests build output folder

Angular Project Structure (Inside src folder) 100 Angular i ndex.html of our application The icon of our application configuration to different environments ( dev , test e prod) Global CSS styles can be put here Images and other things can be put here Our code

Angular Project Structure (Inside app folder) 101 Angular T he main component (mandatory) Our specific components The main model (mandatory)

Source Code 102 Angular https :// github.com / jadsonjs /angular/tree/master/ kootenai -web

Pictures take from https://visualwebz.com/front-end-vs-back-end-developers / http://www.cvivas.com/development-test-production-environments / http://cafecomcodig0.com.br/o-que-e-back-end-e-front-end / https://www.entrepreneur.com/article/ 286256 http:// www.datacenterdynamics.com.br /focus/archive/2017/02/aumento-da-complexidade-e-custo-de-ti-estimula-demanda-por-serviços-de-data-ce 103 Angular

Pictures take from http:// meneleu.blogspot.com.br /2015/08/ como -voce- pode - impedir- manipulacao.html https:// www.infragistics.com /community/blogs/ dhananjay_kumar /archive/2016/12/12/simplifying-two-way-data-binding-in-angular-2.aspx 104 Angular

References http :// cafe.algaworks.com / oficina -angular-rest-spring-boot / https:// medium.com / codingthesmartway -com-blog/using-bootstrap-with-angular-c83c3cee3f4a https:// loiane.training /course/angular-2 / https:// startbootstrap.com /template-overviews/sb-admin-2 / https:// medium.com /beautiful-angular/angular-2-and-environment-variables-59c57ba643be https:// angular.io / tutorial 105 Angular

References https:// imasters.com.br / desenvolvimento /single-page-applications-e- outras - maravilhas -da-web- moderna /?trace= 1519021197 https:// blog.angular-university.io /angular-2-ngfor/ 106 Angular
Tags