Angular. конфигурируем до неузнаваемости
|
|
- Jeffrey Franklin
- 5 years ago
- Views:
Transcription
1 Angular конфигурируем до неузнаваемости 1
2 АЛЕКСЕЙ ОХРИМЕНКО TWITTER: AI_BOY setinterval(learnjavascript) 2
3
4
5
6
7
8 ?
9 IPONWEB 9
10 10
11 Awesome Telegram RU
12 Какое важное событие было на прошлой неделе?
13 5 лет
14
15 Angular >= 2.x AngularJs < 2.x
16 4.2.3
17 Angular, Angular нас и [НАШ_FRAMEWORK] неплохо кормит 17
18 18
19 Angular
20 import { Component from moduleid: module.id, selector: 'project-name-app', template: ` <h1 (click)='onclick()'> {{title </h1> `, styleurls: ['project-name.component.css'] ) export class PROJECTNAMEAppComponent { title = 'project-name works!'; 20
21 import { Component from moduleid: module.id, selector: 'project-name-app', template: ` <h1 (click)='onclick()'> {{title </h1> `, styleurls: ['project-name.component.css'] ) export class PROJECTNAMEAppComponent { title = 'project-name works!'; 21
22 import { Component from moduleid: module.id, selector: 'project-name-app', template: ` <h1 (click)='onclick()'> {{title </h1> `, styleurls: ['project-name.component.css'] ) export class PROJECTNAMEAppComponent { title = 'project-name works!'; 22
23
24
25 Синтаксис Шаблонов 25
26 /** * Simplest possible template in AngularJs-ISH style * {String template - template string {Object ctx - template context {Object eventhandlerobject - object that will be used as "this" in event handling {Node returns dom node element */ export default function angularish(template, ctx, eventhandlerobject) { var node; var container = document.createelement('div'); container.innerhtml = template; var walker = document.createtreewalker(container, NodeFilter.SHOW_ELEMENT, null, false); while (node = walker.nextnode()) { // inheritance of context node.ctx = node.ctx node.parentnode.ctx ctx; // ng-scope allows you to change scope of the node (new scope can be any property of old scope) if (node.getattribute('ng-scope')) { node.ctx = _getvalue(node.ctx, node.getattribute('ng-scope')); // ng-loop will repeat first child (TODO: reapeat content) and assign correct context if (node.getattribute('ng-loop')) { var child = node.children[0]; var array = _getvalue(node.ctx, node.getattribute('ng-loop')) []; node.removechild(child); array.foreach((item) => { child = child.clonenode(true); child.ctx = item; node.appendchild(child); ); // ng-value will assign value to node if (node.getattribute('ng-value')) { 26
27 /** * Simplest possible template in AngularJs-ISH style * {String template - template string {Object ctx - template context {Object eventhandlerobject - object that will be used as "this" in event handling {Node returns dom node element */ export default function angularish(template, ctx, eventhandlerobject) { var node; var container = document.createelement('div'); container.innerhtml = template; var walker = document.createtreewalker(container, NodeFilter.SHOW_ELEMENT, null, false); while (node = walker.nextnode()) { // inheritance of context node.ctx = node.ctx node.parentnode.ctx ctx; // ng-scope allows you to change scope of the node (new scope can be any property of old scope) if (node.getattribute('ng-scope')) { node.ctx = _getvalue(node.ctx, node.getattribute('ng-scope')); // ng-loop will repeat first child (TODO: reapeat content) and assign correct context if (node.getattribute('ng-loop')) { var child = node.children[0]; var array = _getvalue(node.ctx, node.getattribute('ng-loop')) []; node.removechild(child); array.foreach((item) => { child = child.clonenode(true); child.ctx = item; node.appendchild(child); ); // ng-value will assign value to node if (node.getattribute('ng-value')) { 27
28 /** * Simplest possible template in AngularJs-ISH style * {String template - template string {Object ctx - template context {Object eventhandlerobject - object that will be used as "this" in event handling {Node returns dom node element */ export default function angularish(template, ctx, eventhandlerobject) { var node; var container = document.createelement('div'); container.innerhtml = template; var walker = document.createtreewalker(container, NodeFilter.SHOW_ELEMENT, null, false); while (node = walker.nextnode()) { // inheritance of context node.ctx = node.ctx node.parentnode.ctx ctx; // ng-scope allows you to change scope of the node (new scope can be any property of old scope) if (node.getattribute('ng-scope')) { node.ctx = _getvalue(node.ctx, node.getattribute('ng-scope')); // ng-loop will repeat first child (TODO: reapeat content) and assign correct context if (node.getattribute('ng-loop')) { var child = node.children[0]; var array = _getvalue(node.ctx, node.getattribute('ng-loop')) []; node.removechild(child); array.foreach((item) => { child = child.clonenode(true); child.ctx = item; node.appendchild(child); ); // ng-value will assign value to node if (node.getattribute('ng-value')) { 28
29 // ng-selected will set selected attribute depending on true-finess of value if (node.getattribute('ng-selected')) { var selected = _getvalue(node.ctx, node.getattribute('ng-selected')); if (selected) { node.setattribute('selected', 'yes'); // ng-text will assign text to node no need for escaping if (node.getattribute('ng-text')) { node.innertext = _getvalue(node.ctx, node.getattribute('ng-text')); // ng-class will simply assign class from defined property if (node.getattribute('ng-class')) { var classval = _getvalue(node.ctx, node.getattribute('ng-class')); if (classval) { node.classname += ' ' + classval; // ng-show shows elements depending on true-finess of the value if (node.getattribute('ng-show')) { var isvisible = _getvalue(node.ctx, node.getattribute('ng-show')); if (!isvisible) { node.style.display = 'none'; // ng-hide shows elements depending on false-iness of the value if (node.getattribute('ng-hide')) { var ishidden = _getvalue(node.ctx, node.getattribute('ng-hide')); if (ishidden) { node.style.display = 'none'; 29
30 // ng-scope allows you to change scope of the node (new scope can be any property of old scope) if (node.getattribute('ng-scope')) { node.ctx = _getvalue(node.ctx, node.getattribute('ng-scope')); // ng-loop will repeat first child (TODO: reapeat content) and assign correct context if (node.getattribute('ng-loop')) { var child = node.children[0]; var array = _getvalue(node.ctx, node.getattribute('ng-loop')) []; node.removechild(child); array.foreach((item) => { child = child.clonenode(true); child.ctx = item; node.appendchild(child); ); // ng-value will assign value to node if (node.getattribute('ng-value')) { node.value = _getvalue(node.ctx, node.getattribute('ng-value')); // ng-selected will set selected attribute depending on true-finess of value if (node.getattribute('ng-selected')) { var selected = _getvalue(node.ctx, node.getattribute('ng-selected')); if (selected) { node.setattribute('selected', 'yes'); // ng-text will assign text to node no need for escaping if (node.getattribute('ng-text')) { node.innertext = _getvalue(node.ctx, node.getattribute('ng-text')); // ng-class will simply assign class from defined 30 property if (node.getattribute('ng-class')) {
31 // ng-hide shows elements depending on false-iness of the value if (node.getattribute('ng-hide')) { var ishidden = _getvalue(node.ctx, node.getattribute('ng-hide')); if (ishidden) { node.style.display = 'none'; // ng-change will add "change" event handler if (node.getattribute('ng-change')) { // closure to rescue ((node)=> { node.addeventlistener('change', (event) => { eventhandlerobject[node.getattribute( ng-change')].bind(eventhandlerobject)(node.ctx, event);, true); )(node); // ng-click will add "click" event handler if (node.getattribute('ng-click')) { // closure to rescue ((node)=> { node.addeventlistener('click', (event) => { eventhandlerobject[node.getattribute( ng-click')].bind(eventhandlerobject)(node.ctx, event);, true); )(node); return container; function _getvalue(ctx, attrval) { if (attrval === 'self') { return ctx; return ctx[attrval]; 31
32 if (node.getattribute('ng-change')) { // closure to rescue ((node)=> { node.addeventlistener('change', (event) => { eventhandlerobject[node.getattribute( ng-change')].bind(eventhandlerobject)(node.ctx, event);, true); )(node); // ng-click will add "click" event handler if (node.getattribute('ng-click')) { // closure to rescue ((node)=> { node.addeventlistener('click', (event) => { eventhandlerobject[node.getattribute( ng-click')].bind(eventhandlerobject)(node.ctx, event);, true); )(node); return container; function _getvalue(ctx, attrval) { if (attrval === 'self') { return ctx; return ctx[attrval]; 32
33 [] () [()] 33
34 [property]= value -> property= value () [()] 34
35 [property]= value -> property= value (event)= handler() -> on-event= handler() [()] 35
36 [property]= value -> property= value (event)= handler() -> on-event= handler() [(target)]= value -> on-change= update() -> target= value 36
37 bind-property= value -> property= value (event)= handler() -> on-event= handler() [(target)]= value -> on-change= update() -> target= value 37
38 bind-property= value -> property= value on-event= handler() -> on-event= handler() [(target)]= value -> on-change= update() -> target= value 38
39 bind-property= value -> property= value on-event= handler() -> on-event= handler() bindon-prop= value -> on-change= update() -> target= value 39
40 class MovieItem extends React.Component { componentdidmount() { this.nv.addeventlistener("nv-enter", this.handlenventer); componentwillunmount() { this.nv.removeeventlistener("nv-enter", this.handlenventer); handlenventer = (event) => { console.log("nv Enter:", event);
41 <div (nv-enter)="handleevent()"></div>
42
43 Как конфигурировать? 43
44 Как конфигурировать? «Встроенные» настройки 44
45 Как конфигурировать? «Встроенные» настройки Dependency Injection (Providers) 45
46 Как конфигурировать? «Встроенные» настройки Dependency Injection (Providers) Platforms 46
47 Что такое DI? S.O.L.I.D-ый JavaScript
48 class Car { constructor() { this.engine = new Engine(); this.tires = Tires.getInstance(); this.doors = app.get('doors');
49 class Car { constructor(engine, tires, doors) { this.engine = engine; this.tires = tires; this.doors = doors;
50 var car = new Car( new Engine(), new Tires(), new Doors() ); var car = new Car( new MockEngine(), new MockTires(), new MockDoors() );
51 Angular Dependency Injection
52 var injector = Injector.resolveAndCreate([ Car, Engine, Tires, Doors ]);
53 var injector = Injector.resolveAndCreate([ { provide: Car, useclass: Car, { provide: Engine, useclass: Engine, { provide: Tires, useclass: Tires, { provide: Doors, useclass: Doors ]);
54 import { Inject from 'angular2/core'; class Car { doors ) {...
55 Можно ли заменить DI или вообще им не пользоваться? 55
56 56
57 Angular Componen
58 Angular Componen Module
59 Angular Componen Module Platform
60 Angular Componen Module Module Com Platform
61 WebWorkers 61
62 import {bootstrapworkerui from import {enableprodmode from export function main() { enableprodmode(); bootstrapworkerui('loader.js'); 62
63 import {bootstrapworkerui from import {enableprodmode from export function main() { enableprodmode(); bootstrapworkerui('loader.js'); 63
64 @NgModule({ imports: [WorkerAppModule], bootstrap: [AppComponent], declarations: [AppComponent] ) class WebWorkerModule { export function main() { enableprodmode(); platformworkerappdynamic().bootstrapmodule(webworkermodule); 64
65 @NgModule({ imports: [WorkerAppModule], bootstrap: [AppComponent], declarations: [AppComponent] ) class WebWorkerModule { export function main() { enableprodmode(); platformworkerappdynamic().bootstrapmodule(webworkermodule); 65
66
67 import { Component from selector: "my-app", template: ` <ActionBar title="my Apple" class="action-bar"></actionbar> <Image src="~/images/apple.jpg"></image> `, styles: spin { from { transform: rotate(0); to { transform: rotate(360); Image { animation-name: spin; animation-duration: 3s; animation-iteration-count: infinite; animation-timing-function: linear; `] ) export class AppComponent {
68 var queue = NSOperationQueue.alloc().init(); accmanager.startaccelerometerupdatestoqueuewithhandler(queue, (data, error) => { dispatch_async(main_queue, () => { wrappedcallback({ x: data.acceleration.x, y: data.acceleration.y, z: data.acceleration.z ) ) );
69 var queue = NSOperationQueue.alloc().init(); accmanager.startaccelerometerupdatestoqueuewithhandler(queue, (data, error) => { dispatch_async(main_queue, () => { wrappedcallback({ x: data.acceleration.x, y: data.acceleration.y, z: data.acceleration.z ) ) );
70 HTML 70
71 PUG/Jade Mustache STAN etc 71
72 module.exports = { // your config settings... module: [ //your modules... loaders: [ { test: /\.pug/, loader: 'pug-html', query: { doctype: 'html', plugins: [require('pug-plugin-ng')],, ] ] selector: 'app', templateurl: './app.template.pug' ) 72
73 module.exports = { // your config settings... module: [ //your modules... loaders: [ { test: /\.pug/, loader: 'pug-html', query: { doctype: 'html', plugins: [require('pug-plugin-ng')],, ] ] selector: 'app', templateurl: './app.template.pug' ) 73
74 ng-container([ngswitch]='type') template([ngswitchcase]=`'object'`) object([val]=`val` [schema]=`new_schema` [named]=`false`) template([ngswitchcase]=`'array'`) array([val]=`val` [schema]=`new_schema` [named]=`false`) template([ngswitchcase]=`'scalar'`) ng-container([ngswitch]=`ishtml(val)`) template([ngswitchcase]=`true`) myiframe([val]=`val`) template(ngswitchdefault).scalar([innerhtml]=`val scalar:new_schema`) template(ngswitchdefault) p UNIMPLEMENTED OUTPUT-VALUE TYPE ({{ type json )! 74
75 <div class="blue-box"> <div class="blue-box-title">{{boxtitle</div> {{define "bob"this is the template bob{{end <span> <ng-content></ng-content> </span> </div> 75
76 <div class="blue-box"> <div class="blue-box-title">{{boxtitle</div> {{define "bob"this is the template bob{{end <span> <ng-content></ng-content> </span> </div> 76
77 <div class="blue-box"> <div class="blue-box-title">{{boxtitle</div> {{define "bob"this is the template bob{{end <span> <ng-content></ng-content> </span> </div> ERROR 77
78 <div class="blue-box"> <div class="blue-box-title">{{boxtitle</div> <div ngnonbindable> {{define "bob"this is the template bob{{end </div> <span> <ng-content></ng-content> </span> </div> 78
79 class Parser2 extends Parser { myinterpolationregexp = /\[\[([\s\s]*?)\]\]/g; // <- CUSTOMIZATION constructor(public _lexer: Lexer) { super(_lexer) splitinterpolation(input, location):splitinterpolation { var parts = StringWrapper.split(input, this.myinterpolationregexp); // code here return new SplitInterpolation(strings, expressions); private _findinterpolationerrorcolumn2(parts: string[], partinerridx: number): number { // code here return errlocation.length; 79
80 class Parser2 extends Parser { myinterpolationregexp = /\[\[([\s\s]*?)\]\]/g; // <- CUSTOMIZATION constructor(public _lexer: Lexer) { super(_lexer) splitinterpolation(input, location):splitinterpolation { var parts = StringWrapper.split(input, this.myinterpolationregexp); // code here return new SplitInterpolation(strings, expressions); private _findinterpolationerrorcolumn2(parts: string[], partinerridx: number): number { // code here return errlocation.length; 80
81 class Parser2 extends Parser { myinterpolationregexp = /\[\[([\s\s]*?)\]\]/g; // <- CUSTOMIZATION constructor(public _lexer: Lexer) { super(_lexer) splitinterpolation(input, location):splitinterpolation { var parts = StringWrapper.split(input, this.myinterpolationregexp); // code here return new SplitInterpolation(strings, expressions); private _findinterpolationerrorcolumn2(parts: string[], partinerridx: number): number { // code here return errlocation.length; 81
82 { provide:parser, useclass: Parser2 82
83 <div>[[ title ]]</div> {{begin asdas {{#end <div> <div *ngfor="let item of list isodd"> [[ item.name ]] </div> </div> 83
84 <div>[[ title ]]</div> {{begin asdas {{#end <div> <div *ngfor="let item of list isodd"> [[ item.name ]] </div> </div> 84
85 CSS 85
86 import {Component selector: 'my-app', providers: [], styles: [`.test { color: red; `], template: ` <div> <h2 class='test'>hello {{name</h2> </div> `, directives: [] ) export class App { constructor() { this.name = 'Angular2 (Release Candidate!)' 86
87 import {Component selector: 'my-app', providers: [], styles: [` body { color: red; `], template: ` <div> <h2>hello {{name</h2> </div> `, directives: [] ) export class App { constructor() { this.name = 'Angular2 (Release Candidate!)' 87
88 88
89 ViewEncapsulation Emulated 89
90 ViewEncapsulation Emulated Native 90
91 ViewEncapsulation Emulated Native None 91
92 import {Component selector: 'my-app', providers: [], encapsulation: ViewEncapsulation.None styles: [` body { color: red; `], template: ` <div> <h2>hello {{name</h2> </div> `, directives: [] ) export class App { constructor() { this.name = 'Angular2 (Release Candidate!)' 92
93 93
94 Language 94
95 TypeScript import { Component from selector: 'my-app', template: `<h1>hello {{name</h1>` ) export class AppComponent { name = 'Angular';
96 ES2015 / ES6 import { Component from selector: 'my-app', template: `<h1>hello {{name</h1>` ) export class AppComponent { name = 'Angular';
97 ES5 (function(app) { app.appcomponent = ng.core.component({ selector: 'my-app', template: '<h1>hello {{name</h1>' ).Class({ constructor: function() { this.name = 'Angular' ); )(window.app (window.app = {));
98 Dart
99 Speed 99
100 Zone.js 100
101 const http = require('http'); const hostname = ' '; const port = 3000; const server = http.createserver((req, res) => { res.statuscode = 200; res.setheader('content-type', 'text/plain'); res.end('hello World'); ); server.listen(port, hostname, () => { console.log(`server running at ); 101
102 102
103 process.on('uncaughtexception', (err) => { console.log(`caught exception: ${err`); ); 103
104 104
105 Zone.current.fork({).run(function () { Zone.current.inTheZone = true; settimeout(somecallback, 0); ); function somecallback() { console.log(zone.current.inthezone); settimeout(somecallback, 0); 105
106 Zone.current.fork({).run(function () { Zone.current.inTheZone = true; settimeout(somecallback, 0); ); function somecallback() { console.log(zone.current.inthezone); settimeout(somecallback, 0); 106
107 Zone.current.fork({).run(function () { Zone.current.inTheZone = true; settimeout(somecallback, 0); ); function somecallback() { console.log(zone.current.inthezone); settimeout(somecallback, 0); 107
108 Zone.current.fork({).run(function () { Zone.current.inTheZone = true; settimeout(somecallback, 0); ); function somecallback() { console.log(zone.current.inthezone); settimeout(somecallback, 0); 108
109 Zone.current.fork({).run(function () { Zone.current.inTheZone = true; settimeout(somecallback, 0); ); function somecallback() { console.log(zone.current.inthezone); // TRUE settimeout(somecallback, 0); 109
110 Zone.current.fork({).run(function () { Zone.current.inTheZone = true; settimeout(somecallback, 0); ); function somecallback() { console.log(zone.current.inthezone); settimeout(somecallback, 0); 110
111 Zone.current.fork({).run(function () { Zone.current.inTheZone = true; settimeout(somecallback, 0); ); function somecallback() { console.log(zone.current.inthezone); // FALSE settimeout(somecallback, 0); 111
112 Change Detection 112
113 113
114 114
115 115
116 116
117 117
118 // very simplified version of actual source class ApplicationRef { changedetectorrefs:changedetectorref[] = []; constructor(private zone: NgZone) { this.zone.onturndone.subscribe(() => { this.zone.run(() => this.tick()) ); tick() { this.changedetectorrefs.foreach((ref) => ref.detectchanges()); 118
119 // very simplified version of actual source class ApplicationRef { changedetectorrefs:changedetectorref[] = []; constructor(private zone: NgZone) { this.zone.onturndone.subscribe(() => { this.zone.run(() => this.tick() ); tick() { this.changedetectorrefs.foreach((ref) => ref.detectchanges()); 119
120 // very simplified version of actual source class ApplicationRef { changedetectorrefs:changedetectorref[] = []; constructor(private zone: NgZone) { this.zone.onturndone.subscribe(() => { this.zone.run(() => this.tick() ); tick() { this.changedetectorrefs.foreach((ref) => ref.detectchanges()); 120
121 // very simplified version of actual source class ApplicationRef { changedetectorrefs:changedetectorref[] = []; constructor(private zone: NgZone) { this.zone.onturndone.subscribe(() => { this.zone.run(() => this.tick() ); tick() { this.changedetectorrefs.foreach((ref) => ref.detectchanges()); 121
122 122
123 @Component({ template: '<v-card [vdata]="vdata"></v-card>' ) class VCardApp { constructor() { this.vdata = { name: 'Christoph Burgdorf', 'christoph@thoughtram.io' changedata() { this.vdata.name = 'Pascal Precht'; 123
124 @Component({ template: ` <h2>{{vdata.name</h2> <span>{{vdata. </span> ` ) class VCardCmp vdata; 124
125 @Component({ template: '<v-card [vdata]="vdata"></v-card>' ) class VCardApp { constructor() { this.vdata = { name: 'Christoph Burgdorf', 'christoph@thoughtram.io' changedata() { this.vdata = { name: 'Pascal Precht' ; 125
126 @Component({ template: ` <h2>{{vdata.name</h2> <span>{{vdata. </span> `, changedetection: ChangeDetectionStrategy.OnPush ) class VCardCmp vdata; 126
127 127
128 Управляем Zone и CD 128
129 constructor(private zone: NgZone) { 129
130 processoutsideangularzone() { this.progress = 0; this.zone.runoutsideangular(() => { this.increaseprogress(() => { this.zone.run(() => { console.log('outside Done!'); ); ); ); 130
131 processoutsideangularzone() { this.progress = 0; this.zone.runoutsideangular(() => { this.increaseprogress(() => { this.zone.run(() => { console.log('outside Done!'); ); ); ); 131
132 constructor(private cd: ChangeDetectorRef) { 132
133 ngoninit() { this.additemstream.subscribe(() => { this.counter++; // application state changed this.cd.markforcheck(); // marks path ) 133
134 need-to-know-about-change-detection- in-angular-8006c51d206f 134
135 ROUTER
136 export class CustomUrlSerializer implements UrlSerializer { /** Parses a url into a {@link UrlTree */ parse(url: string): UrlTree { const p = new CustomUrlParser(url); const UrlTree2 = UrlTree; return eval('new UrlTree2(p.parseRootSegment(), p.parsequeryparams(), p.parsefragme /** Converts a {@link UrlTree into a url */ serialize(tree: UrlTree): string { const segment = `/${serializesegment(tree.root, true)`; const query = serializequeryparams(tree.queryparams); const fragment = tree.fragment!== null && tree.fragment!== undefined? `#${encodeuri(tree.frag return `${segment${query${fragment`;
137 providers: [ {provide: UrlSerializer, useclass: CustomUrlSerializer, ],
138 THE END 138
139 АЛЕКСЕЙ ОХРИМЕНКО TWITTER: AI_BOY 139
Angular 4 Syllabus. Module 1: Introduction. Module 2: AngularJS to Angular 4. Module 3: Introduction to Typescript
Angular 4 Syllabus Module 1: Introduction Course Objectives Course Outline What is Angular Why use Angular Module 2: AngularJS to Angular 4 What s Changed Semantic Versioning Module 3: Introduction to
More informationOne Framework. Angular
One Framework. Angular Web 2.0 Marc Dangschat Introduction AngularJS (1) released in 2009 Angular (2) released October Short: ng Framework TypeScript, JavaScript, Dart MIT license
More informationSetting up an Angular 4 MEAN Stack (Tutorial)
Setting up an Angular 4 MEAN Stack (Tutorial) MEAN4 Stack, MongoDB, Express.js, Angular4, Node.js6.11.4 Installed https://coursetro.com/posts/code/84/setting-up-an-angular-4-mean-stack-(tutorial) Node.js
More informationLab 1 - Introduction to Angular
Lab 1 - Introduction to Angular In this lab we will build a Hello World style Angular component. The key focus is to learn how to install all the required code and use them from the browser. We wont get
More informationAngular 2: What s new? Jonas Bandi, IvoryCode GmbH
Angular 2: What s new? Jonas Bandi, IvoryCode GmbH Once upon a time the world was peacefully creating applications with AngularJS but change was lurking in the maze of a mailing list https://groups.google.com/forum/#!search/misko$20hevery$20may$2022$202013/polymer-dev/4rsyakmbtek/uyny3900wpij
More informationAngular2. Bernhard Niedermayer. Software Development playing around with Angular2 since alpha.
Catalysts GmbH Bernhard Niedermayer Software Development bernhard.niedermayer@catalysts.cc playing around with Angular2 since alpha.something Angular2 Catalysts GmbH Angular2 TypeScript 2 Languages how
More informationBy the end of this Angular 6 tutorial, you'll learn by building a real world example application:
Throughout this Angular 6 tutorial, we'll learn to build a full-stack example web application with Angular 6, the latest version of Angular The most popular framework/platform for building mobile and desktop
More information3 Days Training Program
3 Days Training Program What is AngularJS? A JavaScript framework for creating dynamic web applications Open Source GitHub: https://github.com/angular/angular.js MIT License Uses jquery jquery 1.7.1 or
More informationSample Copy. Not For Distribution.
Angular 2 Interview Questions and Answers With Typescript and Angular 4 i Publishing-in-support-of, EDUCREATION PUBLISHING RZ 94, Sector - 6, Dwarka, New Delhi - 110075 Shubham Vihar, Mangla, Bilaspur,
More informationCross-Platform Mobile-Entwicklung mit dem Ionic Framework
Cross-Platform Mobile-Entwicklung mit dem Ionic Framework Robin Nunkesser 6. Februar 2018 Grundlagen Hintergrund 2013 von Drifty entwickelt Setzt auf Cordova und AngularJS auf Versionssprung von ionic
More informationANGULAR 2.X,4.X + TYPESRCIPT by Sindhu
ANGULAR 2.X,4.X + TYPESRCIPT by Sindhu GETTING STARTED WITH TYPESCRIPT Installing TypeScript Compiling the code Building a simple demo. UNDERSTANDING CLASSES Building a class Adding properties Demo of
More informationANGULAR2 OVERVIEW. The Big Picture. Getting Started. Modules and Components. Declarative Template Syntax. Forms
FORMS IN ANGULAR Hello Cluj. I m Alex Lakatos, a Mozilla volunteer which helps other people volunteer. I want to talk to you today about Angular forms. What s a form you ask? A form creates a cohesive,
More informationFrontend UI Training. Whats App :
Frontend UI Training Whats App : + 916 667 2961 trainer.subbu@gmail.com What Includes? 1. HTML 5 2. CSS 3 3. SASS 4. JavaScript 5. ES 6/7 6. jquery 7. Bootstrap 8. AJAX / JSON 9. Angular JS 1x 10. Node
More informationIntegrating Angular with ASP.NET Core RESTful Services. Dan Wahlin
Integrating Angular with ASP.NET Core RESTful Services Dan Wahlin Dan Wahlin https://blog.codewithdan.com @DanWahlin Get the Content: http://codewithdan.me/angular-aspnet-core Agenda The Big Picture Creating
More informationDNCMagazine. ANGULAR. Cheat Sheet
DNCMagazine www.dotnetcurry.com ANGULAR Cheat Sheet Authors Keerti Kotaru V Keerti Kotaru has been working on web applications for over 15 years now. He started his career as an ASP.Net, C# developer.
More informationIN4MATX 133: User Interface Software
IN4MATX 133: User Interface Software Lecture 13: Components in Angular Professor Daniel A. Epstein TA Jamshir Goorabian TA Simion Padurean 1 Notes Important: please put your name/email/id in the readme.txt
More informationDecoupled Drupal with Angular
Decoupled Drupal with Angular Agenda Introduction Short intro on Drupal What is decoupled and choosing the right architecture Introduction to Angular Setting up Angular development environment Demo Application
More informationAdvantages: simple, quick to get started, perfect for simple forms, don t need to know how form model objects work
1 Forms 1.1 Introduction You cannot enter data in an application without forms. AngularJS allowed the user to create forms quickly, using the NgModel directive to bind the input element to the data in
More informationAngular 2 and TypeScript Web Application Development
Angular 2 and TypeScript Web Application Development Course code: IJ -19 Course domain: Software Engineering Number of modules: 1 Duration of the course: 40 study 1 hours Sofia, 2016 Copyright 2003-2016
More informationAngular from the Beginning
from the Beginning EMEA PUG Challenge, Prague Introduction Robert Prediger 25 years experience in PROGRESS 17 years experience in web development 8 years experience in Node.js robert.prediger@web4biz.de
More informationLearn to Build Awesome Apps with Angular 2
Learn to Build Awesome Apps with Angular 2 Strong grasp on how to construct a single feature in Angular 2 Agenda The Demo Application The Angular 2 Big Picture The Angular CLI Components Templates Services
More informationAngular 2 and TypeScript Web Application Development
Angular 2 and TypeScript Web Application Development Course code: IJ -23 Course domain: Software Engineering Number of modules: 1 Duration of the course: 42 study 1 (32 astr.) hours Sofia, 2016 Copyright
More informationMobile App Development
Mobile App Development NativeScript e Angular 2+ filippo Filippo Matteo Riggio CTO @ Sviluppatore Full-Stack e Mobile Scenario Scenario Nativo WebView-ed Soluzioni cross - from web to native Swift - Objective
More informationAbout me. Google Developer Expert Telerik Developer Expert Digital
NGRX THERE IS A REDUCER IN MY SOUP 1 About me Google Developer Expert Telerik Developer Expert Digital McKinsey @chris_noring 2 NGRX IS: An Angular implementation of Redux 3. 1 Why do we care about Redux?
More informationFull Stack boot camp
Name Full Stack boot camp Duration (Hours) JavaScript Programming 56 Git 8 Front End Development Basics 24 Typescript 8 React Basics 40 E2E Testing 8 Build & Setup 8 Advanced JavaScript 48 NodeJS 24 Building
More informationGetting Started With NodeJS Feature Flags
Guide Getting Started With NodeJS Feature Flags INTRO We ve all done it at some point: thrown a conditional around a piece of code to enable or disable it. When it comes to feature flags, this is about
More informationAngular 4 Training Course Content
CHAPTER 1: INTRODUCTION TO ANGULAR 4 Angular 4 Training Course Content What is Angular 4? Central Features of the Angular Framework Why Angular? Scope and Goal of Angular Angular 4 vs Angular 2 vs. AngularJS
More informationAngularJS Fundamentals
AngularJS Fundamentals by Jeremy Zerr Blog: http://www.jeremyzerr.com LinkedIn: http://www.linkedin.com/in/jrzerr Twitter: http://www.twitter.com/jrzerr What is AngularJS Open Source Javascript MVC/MVVM
More informationFRONT END WEB. {< Course Details >}
FRONT END WEB {< Course Details >} centers@acadgild.com www.acadgild.com 90360 10796 css { } HTML JS { ; } centers@acadgild.com www.acadgild.com 90360 10796 Brief About the Course Our Front end development
More information"Charting the Course... Comprehensive Angular. Course Summary
Description Course Summary Angular is a powerful client-side JavaScript framework from Google that supports simple, maintainable, responsive, and modular applications. It uses modern web platform capabilities
More informationFrontend Web Development with Angular. CC BY-NC-ND Carrot & Company GmbH
Frontend Web Development with Angular Agenda Questions Some infos Lecturing Todos Router NgModules Questions? Some Infos Code comments from us were made for improving your code. If you ignore them you
More informationThe magic behind. Angular 2+
The magic behind Angular 2+ Agnès Crépet @agnes_crepet Cédric Exbrayat @cedric_exbrayat @NinjaSquad Lyon, France - April 20-21 Learn some french! Bonjour! Announced in March 2014 Released in September
More informationSingle Page Applications using AngularJS
Single Page Applications using AngularJS About Your Instructor Session Objectives History of AngularJS Introduction & Features of AngularJS Why AngularJS Single Page Application and its challenges Data
More informationFull Stack Web Developer
Full Stack Web Developer S.NO Technologies 1 HTML5 &CSS3 2 JavaScript, Object Oriented JavaScript& jquery 3 PHP&MYSQL Objective: Understand the importance of the web as a medium of communication. Understand
More informationAngular 2 Programming
Course Overview Angular 2 is the next iteration of the AngularJS framework. It promises better performance. It uses TypeScript programming language for type safe programming. Overall you should see better
More informationExtending VMware vcloud Director User Interface Using Portal Extensibility Ticketing Example
VMware vcloud Architecture Toolkit for Service Providers Extending VMware vcloud Director User Interface Using Portal Extensibility Ticketing Example Version 2.9 April 2018 Kelby Valenti 2018 VMware, Inc.
More informationFront End. Presentation Layer. UI (User Interface) User <==> Data access layer
Angular 2 S1ngS1ng Front End UI (User Interface) User Data access layer Presentation Layer Architecture Conventional VS SPA Angular 1 Framework! Framework! Framework! MVVM (MV*) Modulization Two-way
More informationChapter 1 - Model Driven Forms
Chapter 1 - Model Driven Forms Objectives This chapter includes the following model driven forms topics: Setup FormGroup initialization FormControl object Validation SubForms 1.1 Model Driven Forms Overview
More informationBefore proceeding with this tutorial, you should have a basic understanding of HTML, CSS, JavaScript, TypeScript, and Document Object Model (DOM).
i About the Tutorial Angular 4 is a JavaScript framework for building web applications and apps in JavaScript, html, and TypeScript, which is a superset of JavaScript. Angular provides built-in features
More informationStencil: The Time for Vanilla Web Components has Arrived
Stencil: The Time for Vanilla Web Components has Arrived Gil Fink sparxys CEO @gilfink / www.gilfink.net Typical Application Web Page Design From Design to Implementation Session List Day tabs Component
More informationReact. SWE 432, Fall Web Application Development
React SWE 432, Fall 2018 Web Application Development Review: What is state? All internal component data that, when changed, should trigger UI update Stored as single JSON object this.state What isn t state?
More informationLearn to Build Awesome Apps with Angular 2
Learn to Build Awesome Apps with Angular 2 Strong grasp on how to construct and compose features in Angular 2 Agenda Review Challenge Component Driven Architecture Template Driven Forms Server Communication
More informationAdvance Mobile& Web Application development using Angular and Native Script
Advance Mobile& Web Application development using Angular and Native Script Objective:- As the popularity of Node.js continues to grow each day, it is highly likely that you will use it when you are building
More informationAngularJS AN INTRODUCTION. Introduction to the AngularJS framework
AngularJS AN INTRODUCTION Introduction to the AngularJS framework AngularJS Javascript framework for writing frontend web apps DOM manipulation, input validation, server communication, URL management,
More informationVarargs Training & Software Development Centre Private Limited, Module: HTML5, CSS3 & JavaScript
PHP Curriculum Module: HTML5, CSS3 & JavaScript Introduction to the Web o Explain the evolution of HTML o Explain the page structure used by HTML o List the drawbacks in HTML 4 and XHTML o List the new
More informationTen interesting features of Google s Angular Project
Ten interesting features of Google s Angular Project - 1 Ten interesting features of Google s Angular Project Copyright Clipcode Ltd 2018 All rights reserved Ten interesting features of Google s Angular
More informationComprehensive AngularJS Programming (5 Days)
www.peaklearningllc.com S103 Comprehensive AngularJS Programming (5 Days) The AngularJS framework augments applications with the "model-view-controller" pattern which makes applications easier to develop
More informationDemystifying Angular 2. SPAs for the Web of Tomorrow
Demystifying Angular 2 SPAs for the Web of Tomorrow Philipp Tarasiewicz, JavaLand, 08.03.2016 Web Dev / Distributed Systems 15 yr. About Me Philipp Tarasiewicz Consultant / Trainer / Developer philipp.tarasiewicz@googlemail.com
More informationFrontend Frameworks Part 2. SWE 432, Fall 2017 Design and Implementation of Software for the Web
Frontend Frameworks Part 2 SWE 432, Fall 2017 Design and Implementation of Software for the Web Today How to make React apps interactive Handling events, state, nesting components, reconciliation, controlled
More informationStatic Webpage Development
Dear Student, Based upon your enquiry we are pleased to send you the course curriculum for PHP Given below is the brief description for the course you are looking for: - Static Webpage Development Introduction
More informationD3 + Angular JS = Visual Awesomesauce
D3 + Angular JS = Visual Awesomesauce John Niedzwiecki Lead UI Developer - ThreatTrack @RHGeek on Twitter and GitHub In addition to turning caffeine into code... disney geek, runner, gamer, father of two
More informationEXPRESSIONS IN ANGULARJS
EXPRESSIONS IN ANGULARJS AngularJS expressions are used to bind data in HTML. AngularJS execute the expressions and return the values where the expression is defined. AngularJS expressions are same as
More informationThis course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery.
HTML5/CSS3/JavaScript Programming Course Summary Description This class is designed for students that have experience with basic HTML concepts that wish to learn about HTML Version 5, Cascading Style Sheets
More informationINTRODUCTION TO IONIC 2
LECTURE 7 INTRODUCTION TO IONIC 2 DANIEL RYS JAN VÁCLAVÍK OVERVIEW Create new Ionic2 application Why Ionic2 Project structure Features 2/95 INSTALL IONIC 2 & CREATE NEW APPLICATION $ npm install -g ionic@beta
More informationSample CS 142 Midterm Examination
Sample CS 142 Midterm Examination Spring Quarter 2016 You have 1.5 hours (90 minutes) for this examination; the number of points for each question indicates roughly how many minutes you should spend on
More informationCodeValue. C ollege. Prerequisites: Basic knowledge of web development and especially JavaScript.
Course Syllabuses Introduction to AngularJS Length: 3 days Prerequisites: Basic knowledge of web development and especially JavaScript. Objectives: Students will learn to take advantage of AngularJS and
More informationAdvanced React JS + Redux Development
Advanced React JS + Redux Development Course code: IJ - 27 Course domain: Software Engineering Number of modules: 1 Duration of the course: 40 astr. hours / 54 study 1 hours Sofia, 2016 Copyright 2003-2016
More informationIntroduction to. Angular. Prof. Dr.-Ing. Thomas Wiedemann.
EwA - Web based systems Introduction to Angular Prof. Dr.-Ing. Thomas Wiedemann email: wiedem@informatik.htw-dresden.de HOCHSCHULE FÜR TECHNIK UND WIRTSCHAFT DRESDEN (FH) Fachbereich Informatik/Mathematik
More informationAngularJS. Beginner's guide - part 2
AngularJS Beginner's guide - part 2 Summary of the previous lesson 1. To add AngularJS to an empty page: a) Download the script angular.js from https://angularjs.org/ b) Link it in the header
More informationNode.js. Node.js Overview. CS144: Web Applications
Node.js Node.js Overview JavaScript runtime environment based on Chrome V8 JavaScript engine Allows JavaScript to run on any computer JavaScript everywhere! On browsers and servers! Intended to run directly
More informationJavaScript I Language Basics
JavaScript I Language Basics Chesapeake Node.js User Group (CNUG) https://www.meetup.com/chesapeake-region-nodejs-developers-group START BUILDING: CALLFORCODE.ORG Agenda Introduction to JavaScript Language
More informationAngularJS Introduction
AngularJS Introduction Mendel Rosenblum AngularJS JavaScript framework for writing web applications Handles: DOM manipulation, input validation, server communication, URL management, etc. Considered opinionated
More informationFull Stack Web Developer
Full Stack Web Developer Course Contents: Introduction to Web Development HTML5 and CSS3 Introduction to HTML5 Why HTML5 Benefits Of HTML5 over HTML HTML 5 for Making Dynamic Page HTML5 for making Graphics
More informationNagaraju Bende
AngularJS Nagaraju Bende Blog Twitter @nbende FaceBook nbende http://angularjs.org Agenda Introduction to AngularJS Pre-Requisites Why AngularJS Only Getting Started MV* pattern of AngularJS Directives,
More informationReact + React Native. Based on material by Danilo Filgueira
React + React Native Based on material by Danilo Filgueira Prerequisites JS and ES6 HTML and CSS NPM/YARN and NODE React A Javascript library for creating reactive and composable UI components Whenever
More informationAngular 5 vs. React When to Choose Which?
Angular 5 vs. React When to Choose Which? Stephan Rauh Dr. Marius Hofmeister OPITZ CONSULTING Deutschland GmbH OPITZ CONSULTING 2017 OPITZ CONSULTING 2017 Setting the Stage https://upload.wikimedia.org/wikipedia/commons/5/52/summer_solstice_sunrise_over_stonehenge_2005.jpg
More informationPHP + ANGULAR4 CURRICULUM 6 WEEKS
PHP + ANGULAR4 CURRICULUM 6 WEEKS Hands-On Training In this course, you develop PHP scripts to perform a variety to takes, culminating in the development of a full database-driven Web page. Exercises include:
More informationa Very Short Introduction to AngularJS
a Very Short Introduction to AngularJS Lecture 11 CGS 3066 Fall 2016 November 8, 2016 Frameworks Advanced JavaScript programming (especially the complex handling of browser differences), can often be very
More informationANGULARJS - MOCK TEST ANGULARJS MOCK TEST II
http://www.tutorialspoint.com ANGULARJS - MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to AngularJS Framework. You can download these sample mock tests
More informationCourse Outline. ProTech Professional Technical Services, Inc. Comprehensive Angular 7 Course Summary. Description
Course Summary Description Use Angular 7 to easily build web applications that interacts with the user by dynamically rewriting the current page rather than loading entire new pages from a server. Learn
More informationPHP WITH ANGULAR CURRICULUM. What you will Be Able to Achieve During This Course
PHP WITH ANGULAR CURRICULUM What you will Be Able to Achieve During This Course This course will enable you to build real-world, dynamic web sites. If you've built websites using plain HTML, you realize
More informationAngularJS. Beginner's guide - part 1
AngularJS Beginner's guide - part 1 AngularJS: 2 AngularJS: Superheroic JavaScript MVW Framework 3 AngularJS: Superheroic JavaScript MVW Framework 4 AngularJS: Superheroic JavaScript MVW Framework Javascript
More information"Charting the Course... Comprehensive Angular 6 Course Summary
Course Summary Description Build applications with the user experience of a desktop application and the ease of deployment of a web application using Angular. Start from scratch by learning the JavaScript
More informationUI Course HTML: (Html, CSS, JavaScript, JQuery, Bootstrap, AngularJS) Introduction. The World Wide Web (WWW) and history of HTML
UI Course (Html, CSS, JavaScript, JQuery, Bootstrap, AngularJS) HTML: Introduction The World Wide Web (WWW) and history of HTML Hypertext and Hypertext Markup Language Why HTML Prerequisites Objective
More informationFrontend Frameworks. SWE 432, Fall 2016 Design and Implementation of Software for the Web
Frontend Frameworks SWE 432, Fall 2016 Design and Implementation of Software for the Web Today How do we build a single page app without dying? MVC/MVVM (AngularJS) For further reading: Book: Learning
More information,
[Class Room Online Training] Weekdays:- 2hrs / 3 days Fastrack:- 1½ hrs per day Weekends:- 2½ hrs (Sat & Sun) An ISO 9001:2015 Institute ADMEC Multimedia Institute www.admecindia.co.in 9911-782-350, 9811-818-122
More information"Charting the Course... Comprehensive Angular 5. Course Summary
Course Summary Description Comprehensive Angular teaches students the skills and best practices they need to design, build, test, and deploy applications that provide rich end-user experiences similar
More informationCS142 Winter 2017 Midterm Grading Solutions and Rubric
CS142 Winter 2017 Midterm Grading Solutions and Rubric See http://web.stanford.edu/class/cs142/info.html#regrades for instructions on correcting grading mistakes. Problem 1 (Whitney) a) agesclass b) myrowclass
More informationFinancial. AngularJS. AngularJS. Download Full Version :
Financial AngularJS AngularJS Download Full Version : https://killexams.com/pass4sure/exam-detail/angularjs Section 1: Sec One (1 to 50) Details:This section provides a huge collection of Angularjs Interview
More informationSimple AngularJS thanks to Best Practices
Simple AngularJS thanks to Best Practices Learn AngularJS the easy way Level 100-300 What s this session about? 1. AngularJS can be easy when you understand basic concepts and best practices 2. But it
More informationDesign and Implementation of Single Page Application Based on AngularJS
Design and Implementation of Single Page Application Based on AngularJS 1 Prof. B.A.Khivsara, 2 Mr.Umesh Khivsara 1 Assistant Prof., 2 Website Developer 1 Department of Computer Engineering, 2 UKValley
More informationFinancial. AngularJS. AngularJS.
Financial http://killexams.com/exam-detail/ Section 1: Sec One (1 to 50) Details:This section provides a huge collection of Angularjs Interview Questions with their answers hidden in a box to challenge
More informationTim Roes. Android- & inovex in Karlsruhe. GDG Karlsruhe Co-Organizer.
AngularJS Workshop Tim Roes Android- & Web-Developer @ inovex in Karlsruhe GDG Karlsruhe Co-Organizer www.timroes.de/+ Matthias Reuter Web-Developer @ inovex in Karlsruhe @gweax Multipage Application
More informationLesson: Web Programming(6) Omid Jafarinezhad Sharif University of Technology
Lesson: Web Programming(6) Omid Jafarinezhad Sharif University of Technology React QUICK START QUICK START ADVANCED GUIDES React QUICK START Installation Hello World Introducing JSX Components and Props
More informationChapter 1 - Consuming REST Web Services in Angular
Chapter 1 - Consuming REST Web Services in Angular Objectives Key objectives of this chapter REST Overview Common Angular tasks for REST communication Using Angular to send various HTTP requests 1.1 REST
More informationCourse Details. Skills Gained. Who Can Benefit. Prerequisites. View Online URL:
Specialized - Mastering jquery Code: Lengt h: URL: TT4665 4 days View Online Mastering jquery provides an introduction to and experience working with the JavaScript programming language in the environment
More informationTypeScript. TypeScript. RxJS
Web 2017.08 About Me TypeScript TypeScript RxJS 2014 X 4 0 Mac/Windows Native UI Web Angular React JavaScript IM User DING Contact RPC Native Nw.js C++ Cef 2014 10 Web 11 nw.js Web App IM DING DING ->
More informationHands on Angular Framework
FACULTY OF AUTOMATION AND COMPUTER SCIENCE COMPUTER SCIENCE DEPARTMENT Hands on Angular Framework Ioan Salomie Tudor Cioara Ionut Anghel Marcel Antal Teodor Petrican Claudia Daniela Pop Dorin Moldovan
More informationProgressive web app. Juraj Kubala
Progressive web app with Angular 2 and ASP.NET Juraj Kubala Bachelor s thesis December 2017 School of Technology, Communication and Transport Degree Programme in Information and Communications Technology
More informationThe course is supplemented by numerous hands-on labs that help attendees reinforce their theoretical knowledge of the learned material.
Lincoln Land Community College Capital City Training Center 130 West Mason Springfield, IL 62702 217-782-7436 www.llcc.edu/cctc WA2442 Introduction to JavaScript Objectives This intensive training course
More informationIndex. Elad Elrom 2016 E. Elrom, Pro MEAN Stack Development, DOI /
Index A Accessible Rich Internet Applications (ARIA), 101 Amazon AWS, 44 Amazon EC2, 28 Amazon s Relational Database Service (RDS), 28 Amazon Web Services (AWS) cloud, 28 Android SDK Manager, 272 Android
More informationBasics of Web Technologies
Dear Student, Based upon your enquiry we are pleased to send you the course curriculum for Web Designing Given below is the brief description for the course you are looking for: Introduction to Web Technologies
More information55191: Advanced SharePoint Development
Let s Reach For Excellence! TAN DUC INFORMATION TECHNOLOGY SCHOOL JSC Address: 103 Pasteur, Dist.1, HCMC Tel: 08 38245819; 38239761 Email: traincert@tdt-tanduc.com Website: www.tdt-tanduc.com; www.tanducits.com
More information1 CS480W Quiz 6 Solution
1 CS480W Quiz 6 Solution Date: Fri Dec 07 2018 Max Points: 15 Important Reminder As per the course Academic Honesty Statement, cheating of any kind will minimally result in receiving an F letter grade
More informationDynamic Web Development
Dynamic Web Development Produced by David Drohan (ddrohan@wit.ie) Department of Computing & Mathematics Waterford Institute of Technology http://www.wit.ie MODULES, VIEWS, CONTROLLERS & ROUTES PART 2 Sec8on
More informationP a g e 1. Danish Technological Institute. Scripting and Web Languages Online Course k Scripting and Web Languages
P a g e 1 Online Course k72853 Scripting and Web Languages P a g e 2 Title Estimated Duration (hrs) JsRender Fundamentals 2 Advanced JsRender Features 3 JavaScript SPA: Getting Started with SPA in Visual
More informationIndex LICENSED PRODUCT NOT FOR RESALE
Index LICENSED PRODUCT NOT FOR RESALE A Absolute positioning, 100 102 with multi-columns, 101 Accelerometer, 263 Access data, 225 227 Adding elements, 209 211 to display, 210 Animated boxes creation using
More informationIONIC. The Missing SDK For Hybrid Apps. Mike
IONIC The Missing SDK For Hybrid Apps Mike Hartington @mhartington Mike Hartington Developer Advocate for Ionic mhartington on twitter & GH Rhode Island Say, Johnny, I got this great idea for an app. EVERY
More informationWriting Modular Stylesheets With CSS Modules.
Writing Modular Stylesheets With CSS Modules Why? Global Scope NASA / Apollo 17 Crew CSS is brittle https://flic.kr/p/9dwnml Lack of modularity https://flic.kr/p/9rcgca @Katie_Fenn @Katie_Fenn @Katie_Fenn
More informationTHE ROAD TO ANGULAR 2.0
THE ROAD TO ANGULAR 2.0 ABOUT ME Angular 1.x apps ios apps REST API's in Java Maarten Hus, Developer @ WHY THIS TALK? WAIT WHAT?! GRAVEYARD WHY? DISCLAIMER THE ROAD 1.x Template Syntax 2.0 Types Bindings
More information