SlideShare a Scribd company logo
a web of applications
kasper reijnders
01 introduction tijd (minuten) 1-3
02 why this subject tijd (minuten) 5-10
03 summarize tijd (minuten) 2-5
04 angular tijd (minuten) 10-20
tonight
introduction
Kasper Reijnders
○ fronteer
○ scout
○ incentronaut
why this subject

Recommended for you

MVC-RS par Grégoire Lhotelier
MVC-RS par Grégoire LhotelierMVC-RS par Grégoire Lhotelier
MVC-RS par Grégoire Lhotelier

The document discusses an architecture for mobile applications using MVC patterns. It describes layers for models, views, controllers, storage, and routing. The model layer defines app domains and interfaces with storage. Storage handles persistence and converts data. Controllers are kept light by coordinating views through a router layer. Dependencies are injected to improve testability and reuse of models, storage and views across the app.

architecturecocoaheads
Angular genericforms2
Angular genericforms2Angular genericforms2
Angular genericforms2

1) The document discusses how to create reusable generic form controls and reusable forms in Angular. 2) It demonstrates implementing the ControlValueAccessor interface to create a custom input component that can be controlled via inputs and outputs. 3) A technique for creating reusable forms is presented where the FormGroupDirective is used to inject the parent form and avoid duplicating the form definition code.

angular formsangularangular 2
Angular2 with TypeScript
Angular2 with TypeScript Angular2 with TypeScript
Angular2 with TypeScript

Basics of TypeScript Angular2 quick start guide Angular2 Services, Components, Modules, Navigation & Routing

javascriptangular2ecma6
Jan 2017 - a web of applications (angular 2)
Jan 2017 - a web of applications (angular 2)
Jan 2017 - a web of applications (angular 2)
Jan 2017 - a web of applications (angular 2)

Recommended for you

Angular 2 - The Next Framework
Angular 2 - The Next FrameworkAngular 2 - The Next Framework
Angular 2 - The Next Framework

Angular 2 is the next version of the AngularJS framework. It was released in 2016 after 2 years of development. Some key features of Angular 2 include optimized performance for both desktop and mobile applications, ahead of time compilation for faster loading, and native support for reactive programming. The document then provides examples of core Angular concepts like components, directives, services, dependency injection and change detection. It explains how Angular 2 applications are bootstrapped and discusses some of the internal workings like the change detection engine.

googleframeworkcommit software
Introduction to Angular2
Introduction to Angular2Introduction to Angular2
Introduction to Angular2

This document provides an introduction to Angular 2, including: - Angular 2 is a JavaScript framework for building single-page applications that uses dependency injection, change detection, and components. - TypeScript allows adding types to JavaScript for complex apps and is used extensively in Angular 2. - The Angular 2 ecosystem utilizes decorators like @Component and @NgModule to define metadata for components and modules. Components also have lifecycle hooks. - The document demonstrates how to set up an Angular 2 app using the Angular CLI, including creating modules, components, services, and bootstrapping the app. It compares the component architecture between Angular 1 and 2.

angular2javascript
The Road to Native Web Components
The Road to Native Web ComponentsThe Road to Native Web Components
The Road to Native Web Components

Mike North discusses the W3C web component specification including HTML imports, templates, custom elements, and shadow DOM. He explains how each part works and provides code examples. Frameworks like Ember and React handle these concepts through their own abstractions like components, templates, and CSS encapsulation techniques. North demos a simple component built with these web component standards.

javascriptweb componentsemberjs
Jan 2017 - a web of applications (angular 2)
Jan 2017 - a web of applications (angular 2)
Jan 2017 - a web of applications (angular 2)
Jan 2017 - a web of applications (angular 2)

Recommended for you

Angular 2: What's New?
Angular 2: What's New?Angular 2: What's New?
Angular 2: What's New?

Angular 2 is a rewrite of AngularJS for modern web development. It improves on AngularJS by being faster, easier to use and learn, and built on proven best practices. Some key differences include components replacing controllers, unidirectional data flow instead of two-way binding, and type-based dependency injection rather than naming. While the core concepts remain similar, the implementation in Angular 2 is cleaner. However, setting up a full Angular project can still be complicated due to dependencies on build tools and module bundling.

javascriptangularjsangular
Angular Dependency Injection
Angular Dependency InjectionAngular Dependency Injection
Angular Dependency Injection

Slides from my latest talk (and videos) about Angular dependency injection, You can find related videos here: https://www.youtube.com/playlist?list=PLfZsWIHsTcftJl7WlidsXSBAHBXQBR4j2

angularjavascripttypescript
CocoaHeads Paris - CATransaction: What the flush?!
CocoaHeads Paris - CATransaction: What the flush?!CocoaHeads Paris - CATransaction: What the flush?!
CocoaHeads Paris - CATransaction: What the flush?!

Slides of the short talk I gave at the January 2014 session of CocoaHeads Paris. On Core Animation and CATransaction.

core animation cocoaheads cocoa iphone ios
website
○ using CMS
○ basic frontend functionality
○lightbox
○search
○sharing
○etc…
○ knmg.nl / incentro.com
web apps
○ using content from some repository
○ single page applications
○ advanced frontend
○multiple components
○ facebook.com / twitter.com / airbnb.com
combined
○ apps integrated in site
○ used for ‘difficult’ content / calculations /
checks
○ anwb.nl / unive.nl / snsbank.nl
angular

Recommended for you

An introduction to Angular2
An introduction to Angular2 An introduction to Angular2
An introduction to Angular2

This document provides an overview of Angular 2, including: - Angular 2 is a rewrite of AngularJS and introduces many breaking changes. - It uses Typescript as its language and compiles to plain JavaScript. - Key concepts include components, templates, directives, dependency injection, and services. - Components define views using templates, styles, and class logic. They can communicate via inputs and outputs. - Directives add behavior to the existing DOM using selectors like elements, attributes, or classes.

programmingfrontendangularjs
Angular 1.x in action now
Angular 1.x in action nowAngular 1.x in action now
Angular 1.x in action now

The document discusses Angular 1.x components, bindings, transclusion, routing, and TypeScript. It covers lifecycle hooks, binding rules, using immutable.js for objects and arrays, custom elements, different routing options like ngRoute, ui-router, and angular@router/angular1. It also discusses using TypeScript for optional types and documentation, declaration files, and alternatives to Webpack like Rollup.js and Closure Compiler.

Building an angular application -1 ( API: Golang, Database: Postgres) v1.0
Building an angular application -1 ( API: Golang, Database: Postgres) v1.0Building an angular application -1 ( API: Golang, Database: Postgres) v1.0
Building an angular application -1 ( API: Golang, Database: Postgres) v1.0

The document provides instructions for building an Angular application with a Golang API and PostgreSQL database. It includes steps to set up the Angular and API projects, configure services and routing in Angular, and build components for item purchase, display, and reporting. The Angular app uses the Golang API to perform CRUD operations on a PostgreSQL database and display the data.

angulargolangpostgresql
angular
○ web apps
○ integrated web apps
angular
○ version 1.x
○ version 2.x and above
○next version will be 4.x
angular > 2.x
○ Modular
○components and services
○ TypeScript
○ Annotations
Jan 2017 - a web of applications (angular 2)

Recommended for you

Architecture for scalable Angular applications
Architecture for scalable Angular applicationsArchitecture for scalable Angular applications
Architecture for scalable Angular applications

Architecture for applications that scales. It uses redux pattern and ngrx implementation with effects and store. It's refreshed (but still 2+) presentation from my inner talk for colegues.

angulararchitecturelearning curve
Angular performance improvments
Angular performance improvmentsAngular performance improvments
Angular performance improvments

The document discusses various techniques to improve runtime performance in Angular applications, including bundling optimizations, lazy loading modules, pre-rendering, caching with service workers, immutable data structures, memoization, trackBy in ngFor, using RxJS operators, controlling change detection, and optimizing forms update. It provides code examples for measuring performance with Benchmark.js and @angular/benchpress, implementing fibonacci recursively and iteratively, using immutable.js, adding trackBy to ngFor, and detaching/reattaching change detection. The key focus is on measuring and optimizing an application's runtime performance.

angular 2angularangular performance
Get together on getting more out of typescript & angular 2
Get together on getting more out of typescript & angular 2Get together on getting more out of typescript & angular 2
Get together on getting more out of typescript & angular 2

This document provides an overview of TypeScript and the transition from AngularJS to Angular. It discusses TypeScript fundamentals like basic types, interfaces, classes and generics. It then compares key aspects of AngularJS and Angular like modules, controllers/components, directives, binding, services and HTTP. The document outlines the major releases of Angular and TypeScript. It emphasizes that Angular is faster, simpler and optimized for responsive web design compared to AngularJS. The document concludes with noting a demo using the Angular CLI and Spotify API.

queasosystemsangulartypescript
Jan 2017 - a web of applications (angular 2)
typescript
import {Goal} from "../types/goal";
export class ThemeService {
private goal: Goal;
constructor() {
}
}
export class Goal {
title: string;
status: Array<number> | boolean;
planned?: boolean;
}
typescript / es6
function test(i) {
return i + 2;
}
let test = i => i + 2
code
components
ngmodule
input and output
services
pipes
directives
templates

Recommended for you

Scala Self Types by Gregor Heine, Principal Software Engineer at Gilt
Scala Self Types by Gregor Heine, Principal Software Engineer at GiltScala Self Types by Gregor Heine, Principal Software Engineer at Gilt
Scala Self Types by Gregor Heine, Principal Software Engineer at Gilt

This document provides an overview of Scala self-types and the Cake Pattern design pattern for dependency injection in Scala. It begins with an example of defining interfaces for components in a car, like Engine and Car, and using inheritance and composition to assemble them. It then introduces self-types as a way to declare dependencies between traits. The document explains how the Cake Pattern uses traits and self-types to assemble components in a typesafe way at compile-time without external configuration. It discusses pros and cons of this approach and cautions about exposing fragile self-type dependencies in libraries.

gregor heinedublindublin scala users group
Workshop 24: React Native Introduction
Workshop 24: React Native IntroductionWorkshop 24: React Native Introduction
Workshop 24: React Native Introduction

Workshop Apps with ReactNative I: - What is React Native? - Native Components - Asynchronous execution - Debugging - Live Reload/Hot reload - Flexbox and styling - It’s just a JS framework! - Native Components - Native APIs - Native modules - Some Thoughts on Production Development Presentado por ingeniero Jordi Serra

techjavascriptreactjs
Building a TV show with Angular, Bootstrap, and Web Services
Building a TV show with Angular, Bootstrap, and Web ServicesBuilding a TV show with Angular, Bootstrap, and Web Services
Building a TV show with Angular, Bootstrap, and Web Services

Presentation on using Angular 2, TypeScript, BootStrap, and Web API to display metadata of online TV show.

component
import { Component } from '@angular/core';
@Component({
selector: 'batman',
template: '<h1>{{name}}</h1>'
})
export class BatmanComponent {
name: string = 'Batman';
hasParents: boolean = false;
}
component
import { Component } from '@angular/core';
@Component({
selector: 'batman',
template: '<h1>{{name}}</h1>'
})
export class BatmanComponent {
name: string = 'Batman';
hasParents: boolean = false;
}
component
import { Component } from '@angular/core';
@Component({
selector: 'batman',
template: '<h1>{{name}}</h1>'
})
export class BatmanComponent {
name: string = 'Batman';
hasParents: boolean = false;
}
component
import { Component } from '@angular/core';
@Component({
selector: 'batman',
template: '<h1>{{name}}</h1>'
})
export class BatmanComponent {
name: string = 'Batman';
hasParents: boolean = false;
}

Recommended for you

Itsjustangular
ItsjustangularItsjustangular
Itsjustangular

This document provides an overview of Angular and discusses its core concepts and features. It introduces Angular components, templates, dependency injection, forms, routing, modularity, and UI libraries like PrimeNG. It also covers more advanced topics like lazy loading, AOT compilation, change detection, and server-side rendering. The document is meant to help get started with Angular and provide guidance on when and how to use it for building applications. Key recommendations include using the Angular CLI, enabling AOT and lazy loading for production builds, and leveraging PrimeNG for UI components. It also addresses common questions around Angular's stability, comparisons to other frameworks, and whether backend development may be preferable.

angularprimeng
angular fundamentals.pdf angular fundamentals.pdf
angular fundamentals.pdf angular fundamentals.pdfangular fundamentals.pdf angular fundamentals.pdf
angular fundamentals.pdf angular fundamentals.pdf

This document provides an overview of Angular fundamentals including components, directives, pipes, services, and reactive programming concepts. It defines components as reusable UI building blocks that control a view. It demonstrates core directives like NgFor, NgIf, and NgSwitch. It also covers lifecycle hooks, built-in and custom pipes, dependency injection with services, RxJS observables, and reactive programming concepts like streams and operators.

Stencil the time for vanilla web components has arrived
Stencil the time for vanilla web components has arrivedStencil the time for vanilla web components has arrived
Stencil the time for vanilla web components has arrived

This document discusses how Stencil can help address problems with building web applications using traditional frameworks and libraries. Stencil is a compiler that generates custom elements from components written with its API, providing features like virtual DOM, reactivity, and JSX without coupling to a specific framework. It addresses issues like verbose custom element syntax, lack of runtime features, and polyfill needs. The document demonstrates how to create and consume Stencil components, and how it allows infrastructure components to be reused across frameworks by compiling to standard web components.

stenciljsjavascriptweb components
module
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { BatmanComponent } from './batman.component';
@NgModule({
imports: [
BrowserModule
],
declarations: [
BatmanComponent
],
bootstrap: [ BatmanComponent ]
})
export class EverythingIsAwesomeApp { }
module
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { BatmanComponent } from './batman.component';
@NgModule({
imports: [
BrowserModule
],
declarations: [
BatmanComponent
],
bootstrap: [ BatmanComponent ]
})
export class EverythingIsAwesomeApp { }
module
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { BatmanComponent } from './batman.component';
@NgModule({
imports: [
BrowserModule
],
declarations: [
BatmanComponent
],
bootstrap: [ BatmanComponent ]
})
export class EverythingIsAwesomeApp { }
module
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { BatmanComponent } from './batman.component';
@NgModule({
imports: [
BrowserModule
],
declarations: [
BatmanComponent
],
bootstrap: [ BatmanComponent ]
})
export class EverythingIsAwesomeApp { }

Recommended for you

Web components with Angular
Web components with AngularWeb components with Angular
Web components with Angular

Web components consist of three main technologies: HTML template, Shadow DOM, and Custom Elements. They aim to encapsulate reusable code into packages for maximum interoperability across platforms. Creating a web component with Angular involves generating a component, adding ViewEncapsulation.ShadowDom for styling encapsulation, and using the createCustomElement method to define the custom element. The component can then communicate with an Angular project using property binding. Future directions include lit-html for template literals and lit-element as a base class. Theming can be done with CSS Shadow Parts. Overall, web components provide maximum interoperability and Angular supports their creation and use within projects.

web development
Angular 2 Unit Testing.pptx
Angular 2 Unit Testing.pptxAngular 2 Unit Testing.pptx
Angular 2 Unit Testing.pptx

This document discusses unit testing in Angular 2. It introduces the Angular 2 test API and differences from previous versions. It then covers decisions to make when unit testing like what framework to use and how to set up tests. Finally, it provides recipes for unit testing different scenarios like simple components, components communicating with services, routing, and nested components. It emphasizes the importance of writing unit tests and lists resources for learning more about Angular testing.

angular unit testing
Meetup SkillValue - Angular 6 : Bien démarrer son application
Meetup SkillValue - Angular 6 : Bien démarrer son applicationMeetup SkillValue - Angular 6 : Bien démarrer son application
Meetup SkillValue - Angular 6 : Bien démarrer son application

Angular 6 architecture organizes code into modules, components, services and more. The document discusses Angular CLI commands, project structure, and key concepts like lazy loading modules. It also covers RxJS updates and best practices like separating app code into core, shared and feature modules that can be loaded independently. Overall the document provides an overview of Angular 6 project organization and architecture.

angularfile structure
module
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { BatmanComponent } from './batman.component';
@NgModule({
imports: [
BrowserModule
],
declarations: [
BatmanComponent
],
bootstrap: [ BatmanComponent ]
})
export class EverythingIsAwesomeApp { }
module
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { BatmanComponent } from './batman.component';
import { BatMobileComponent } from './batmobile.component';
@NgModule({
imports: [
BrowserModule
],
declarations: [
BatmanComponent, BatMobileComponent
],
bootstrap: [ BatmanComponent ]
})
export class EverythingIsAwesomeApp { }
input and output
import { Component, Input } from '@angular/core';
@Component({
selector: 'batmobile',
template: '<div>{{driver}}</div>'
})
export class BatMobileComponent {
@Input()
driver: string;
}
input and output
import { Component } from '@angular/core';
@Component({
selector: 'batman',
template: '<batmobile [driver]="name"></batmobile>'
})
export class BatmanComponent {
name: string = 'Batman';
hasParents: boolean = false;
}

Recommended for you

Night Watch with QA
Night Watch with QANight Watch with QA
Night Watch with QA

The document discusses Nightwatch.js, an open source end-to-end testing framework for browser-based apps and websites. It uses Selenium WebDriver to perform commands and assertions on DOM elements. Key features include a clean syntax, built-in test runner, support for CSS/XPath selectors, test grouping/filtering, and CI integration. The document provides information on installation, project structure, configuration, writing tests, using page objects, test execution, and ways to extend Nightwatch's functionality through custom commands/assertions.

qaqme2e
Angular Unit Testing NDC Minn 2018
Angular Unit Testing NDC Minn 2018Angular Unit Testing NDC Minn 2018
Angular Unit Testing NDC Minn 2018

For a number of years now we have been hearing about all of the benefits that automated unit testing provides like increasing our quality, catching errors earlier, ensuring that all developers are testing in the same manner and deploying updates with high confidence that nothing will break. Testing a Web UI though was difficult and fragile which meant that typically we had no automated unit test for our Web UI. This is no longer the case with the latest release of Angular. Unit testing is now a first class citizen in Angular. Out of the box, the project generated by the Angular CLI has unit testing setup with Karma and Jasmine and includes sample tests. Generating new components, services, and pipes includes the unit test Spec file already wired up. Thus allowing you to focus on writing your unit tests and not on the infrastructure needed to get them running. The barriers to writing unit test have been destroyed. This talk will walk through getting started unit testing your Angular components, services, and pipes. Along the way I will share the tips and tricks that I have learned as I have implemented unit testing on my Angular projects at a Fortune 100 company. You will walk away ready to immediately implement unit testing on your Angular project.

angularunit testingndc minnesota
How React Native, Appium and me made each other shine @Frontmania 16-11-2018
How React Native, Appium and me made each other shine @Frontmania 16-11-2018How React Native, Appium and me made each other shine @Frontmania 16-11-2018
How React Native, Appium and me made each other shine @Frontmania 16-11-2018

The document discusses various techniques for optimizing mobile test automation, including: 1) Mocking API responses and disabling animations to speed up test execution times significantly. 2) Implementing shortcuts like unique IDs and headers to scripts tests once across platforms. 3) Saving time by parallelizing test execution and preventing inconsistent test data issues.

appiumreact nativefrontmania
services
import { Injectable } from '@angular/core';
import { Car } from 'car';
import { CARS } from 'CARS.MOCK';
@Injectable()
export class BatmobileService {
constructor() {}
getCarPark(): Promise<Car[]> {
return Promise.resolve(CARS); // this can be replaced with a REST call
}
getCarByDriver(driver: string): Promise<Car> {
return this.getCarPark().then((cars) => {
return cars.find(car => car.driver === driver);
});
}
}
services
import { Component, Input } from '@angular/core';
@Component({
selector: 'batmobile',
template: '<div>{{driver}}</div>'
})
export class BatMobileComponent {
@Input()
driver: string;
}
services
import { Component, Input, OnInit } from '@angular/core';
import { BatmobileService } from 'batmobileservice';
@Component({
selector: 'batmobile',
template: '<div>{{driver}}</div>'
})
export class BatMobileComponent implements ngOnInit {
@Input()
driver: string;
constructor(private batmobileService: BatmobileService) {}
ngOnInit() {
// ...
}
}
services
...
constructor(private batmobileService: BatmobileService) {}
ngOnInit() {
this.batmobileService.getCarByDriver(this.driver).then((car) => {
this.car = car
});
}
...

Recommended for you

How to Implement Basic Angular Routing and Nested Routing With Params in Angu...
How to Implement Basic Angular Routing and Nested Routing With Params in Angu...How to Implement Basic Angular Routing and Nested Routing With Params in Angu...
How to Implement Basic Angular Routing and Nested Routing With Params in Angu...

Here’s a step-by-step guide to developing an Angular application from scratch with Basic Angular Routing and Nested Routing with params in Angular v11.

angularangular 11angular routing
What is your money doing?
What is your money doing?What is your money doing?
What is your money doing?

This document provides an overview and code samples for building an Angular application that manages personal finances. It covers key Angular concepts like modules, components, services, routing, and forms. The full code is available in a GitHub repository and organized into steps that cover setting up the basic layout, using Angular Material for styling, launching modals, building forms to add financial movements, saving data to localStorage, displaying movements and balances, filtering movements, adding charts with Highcharts, and internationalization with NgX-Translate.

angularangular materialhighcharts
Angular2: Quick overview with 2do app example
Angular2: Quick overview with 2do app exampleAngular2: Quick overview with 2do app example
Angular2: Quick overview with 2do app example

This document provides an overview of Angular 2 including its history, architecture, components, services, and comparisons to React. Some key points include: - Angular 2 was announced in 2012 and released in 2016, improving on Angular 1. - It uses TypeScript for type safety and supports both declarative and imperative programming. - The core aspects of Angular 2 apps are components, which encapsulate templates, styles, and logic, and services which components use to share data.

angular2 react
pipes
{{ someValue | pipe }}
{{ birthday | date:'fullDate' | uppercase }}
{{ users | filter: 'name' }}
directives
1. Components
2. Structural directives
3. Attribute directives
structural directives
*ngFor
*ngIf
[ngSwitch]
*ngSwitchCase
*ngSwitchDefault
asterisk
<p *ngIf="condition">Our heroes are true!</p>
<template [ngIf]="condition">
<p>Our heroes are true!</p>
</template>

Recommended for you

Stencil: The Time for Vanilla Web Components has Arrived
Stencil: The Time for Vanilla Web Components has ArrivedStencil: The Time for Vanilla Web Components has Arrived
Stencil: The Time for Vanilla Web Components has Arrived

This document discusses how Stencil can help address problems with creating custom elements and web components. Stencil is a compiler that generates standard-compliant web components from components written with JSX and TypeScript syntax. It addresses issues like verbose syntax, lack of features like virtual DOM and data binding, and interoperability with frameworks. Stencil components benefit from features like reactivity, lazy loading and efficient rendering while outputting standard JavaScript that can be used anywhere. The document provides an overview of Stencil's decorators and APIs and how it can help avoid coupling components to specific frameworks or libraries.

web componentsjavascriptstenciljs
Maciej Treder ''Angular Universal - a medicine for the Angular + SEO/CDN issu...
Maciej Treder ''Angular Universal - a medicine for the Angular + SEO/CDN issu...Maciej Treder ''Angular Universal - a medicine for the Angular + SEO/CDN issu...
Maciej Treder ''Angular Universal - a medicine for the Angular + SEO/CDN issu...

Are you ready for production? Are you sure? Is your application prefetchable? Is it readable for search engine robots? Will it fit into Content Delivery Network? Do you want to make it even faster? Meet the Server-Side Rendering concept. Learn how to bring first meaningful paint immediately, work with server-side Angular code, optimize API calls and more!

Creating custom Validators on Reactive Forms using Angular 6
Creating custom Validators on Reactive Forms using Angular 6Creating custom Validators on Reactive Forms using Angular 6
Creating custom Validators on Reactive Forms using Angular 6

Validating user input for accuracy and completeness helps in improving overall data quality. Angular and its form package turns up with a Validators class that has some beneficial validators like minLength, maxLength, required and pattern. However, occasionally if we wish to validate different fields under more complex/custom rules we can make optimum use of custom validator. Defining custom validators while using Reactive Forms in Angular comes very easy as they are more of regular functions. One can conveniently generate function for custom validators within the component file in case the validator is not supposed to be used elsewhere.

software developmentfrontendangular 6
attribute directives
<div [style.background]="'lime'"> some </div>
<p myHighlight [highlightColor]="color"> color</p>
<p [myHighlight]="color">Highlight me!</p>
template options
<input [value]="firstName"> Binds property value to the result of expression firstName.
<div [attr.role]="myAriaRole"> Binds attribute role to the result of expression myAriaRole.
<div [class.extra-sparkle]="isDelightful"> Binds the presence of the CSS class extra-sparkle on the
element to the truthiness of the expression isDelightful.
<div [style.width.px]="mySize"> Binds style property width to the result of expression mySize
in pixels. Units are optional.
<button (click)="readRainbow($event)"> Calls method readRainbow when a click event is triggered on
this button element (or its children) and passes in the event
object.
<my-cmp [(title)]="name"> Sets up two-way data binding. Equivalent to: <my-cmp
[title]="name" (titleChange)="name=$event">
<p>Card No.: {{cardNumber |
myCardNumberFormatter}}</p>
Transforms the current value of expression cardNumber via
the pipe called myCardNumberFormatter.
<p>Employer: {{employer?.companyName}}</p> The safe navigation operator (?) means that the employer
field is optional and if undefined, the rest of the expression
should be ignored.
<p>Hello {{superHero}}</p> Binds text content to an interpolated string, for example,
"Hello Seabiscuit".
template options
angularjs
components
ngmodule
input and output
services
pipes
directives
templates

Recommended for you

Commit University - Exploring Angular 2
Commit University - Exploring Angular 2Commit University - Exploring Angular 2
Commit University - Exploring Angular 2

Probabilmente il framework javascript più atteso di sempre, evoluzione di uno dei framework più longevi ed usati nello sviluppo front end. Si vedranno alcune delle novità introdotte e delle scelte radicali fatte da Google per la nuova versione di Angular

angularjssoftwaregoogle
[FEConf Korea 2017]Angular 컴포넌트 대화법
[FEConf Korea 2017]Angular 컴포넌트 대화법[FEConf Korea 2017]Angular 컴포넌트 대화법
[FEConf Korea 2017]Angular 컴포넌트 대화법

This document summarizes Angular component communication patterns. It discusses using @Input and @Output to communicate between parent and child components. It also covers using a shared service to communicate between siblings and across the component tree. Services can utilize BehaviorSubject to share state updates through observables. Larger applications may use a state management library like NgRx to introduce a single source of truth via a centralized store.

angular2javascript
Protocol-Oriented Programming in Swift
Protocol-Oriented Programming in SwiftProtocol-Oriented Programming in Swift
Protocol-Oriented Programming in Swift

The document discusses protocol-oriented programming in Swift. It begins by comparing protocols in Swift vs Objective-C, noting key differences like protocol inheritance, extensions, default implementations, and associated types in Swift. It then defines protocol-oriented programming as separating public interfaces from implementations using protocols that components communicate through. Examples are provided of using protocols for data types, dependency injection, testing, and real-world UIKit views. Protocol-oriented programming is said to improve reusability, extensibility, and maintainability over inheritance-based approaches.

appleiosswift
tips
use angular-cli to jumpstart development -> https://cli.angular.io/
have 1 functionality per file
divide data and function
make reusable components
use folders per type
- batman-project/
- src/scripts/
- components/
- directives/
- services/
- types/
- main.ts
Jan 2017 - a web of applications (angular 2)

More Related Content

What's hot

Angular - injection tokens & Custom libraries
Angular - injection tokens & Custom librariesAngular - injection tokens & Custom libraries
Angular - injection tokens & Custom libraries
Eliran Eliassy
 
Ngrx meta reducers
Ngrx meta reducersNgrx meta reducers
Ngrx meta reducers
Eliran Eliassy
 
Express: A Jump-Start
Express: A Jump-StartExpress: A Jump-Start
Express: A Jump-Start
Naveen Pete
 
MVC-RS par Grégoire Lhotelier
MVC-RS par Grégoire LhotelierMVC-RS par Grégoire Lhotelier
MVC-RS par Grégoire Lhotelier
CocoaHeads France
 
Angular genericforms2
Angular genericforms2Angular genericforms2
Angular genericforms2
Eliran Eliassy
 
Angular2 with TypeScript
Angular2 with TypeScript Angular2 with TypeScript
Angular2 with TypeScript
Rohit Bishnoi
 
Angular 2 - The Next Framework
Angular 2 - The Next FrameworkAngular 2 - The Next Framework
Angular 2 - The Next Framework
Commit University
 
Introduction to Angular2
Introduction to Angular2Introduction to Angular2
Introduction to Angular2
Ivan Matiishyn
 
The Road to Native Web Components
The Road to Native Web ComponentsThe Road to Native Web Components
The Road to Native Web Components
Mike North
 
Angular 2: What's New?
Angular 2: What's New?Angular 2: What's New?
Angular 2: What's New?
jbandi
 
Angular Dependency Injection
Angular Dependency InjectionAngular Dependency Injection
Angular Dependency Injection
Nir Kaufman
 
CocoaHeads Paris - CATransaction: What the flush?!
CocoaHeads Paris - CATransaction: What the flush?!CocoaHeads Paris - CATransaction: What the flush?!
CocoaHeads Paris - CATransaction: What the flush?!
amadour
 
An introduction to Angular2
An introduction to Angular2 An introduction to Angular2
An introduction to Angular2
Apptension
 
Angular 1.x in action now
Angular 1.x in action nowAngular 1.x in action now
Angular 1.x in action now
GDG Odessa
 
Building an angular application -1 ( API: Golang, Database: Postgres) v1.0
Building an angular application -1 ( API: Golang, Database: Postgres) v1.0Building an angular application -1 ( API: Golang, Database: Postgres) v1.0
Building an angular application -1 ( API: Golang, Database: Postgres) v1.0
Frost
 
Architecture for scalable Angular applications
Architecture for scalable Angular applicationsArchitecture for scalable Angular applications
Architecture for scalable Angular applications
Paweł Żurowski
 
Angular performance improvments
Angular performance improvmentsAngular performance improvments
Angular performance improvments
Eliran Eliassy
 
Get together on getting more out of typescript &amp; angular 2
Get together on getting more out of typescript &amp; angular 2Get together on getting more out of typescript &amp; angular 2
Get together on getting more out of typescript &amp; angular 2
Ruben Haeck
 
Scala Self Types by Gregor Heine, Principal Software Engineer at Gilt
Scala Self Types by Gregor Heine, Principal Software Engineer at GiltScala Self Types by Gregor Heine, Principal Software Engineer at Gilt
Scala Self Types by Gregor Heine, Principal Software Engineer at Gilt
Gilt Tech Talks
 
Workshop 24: React Native Introduction
Workshop 24: React Native IntroductionWorkshop 24: React Native Introduction
Workshop 24: React Native Introduction
Visual Engineering
 

What's hot (20)

Angular - injection tokens & Custom libraries
Angular - injection tokens & Custom librariesAngular - injection tokens & Custom libraries
Angular - injection tokens & Custom libraries
 
Ngrx meta reducers
Ngrx meta reducersNgrx meta reducers
Ngrx meta reducers
 
Express: A Jump-Start
Express: A Jump-StartExpress: A Jump-Start
Express: A Jump-Start
 
MVC-RS par Grégoire Lhotelier
MVC-RS par Grégoire LhotelierMVC-RS par Grégoire Lhotelier
MVC-RS par Grégoire Lhotelier
 
Angular genericforms2
Angular genericforms2Angular genericforms2
Angular genericforms2
 
Angular2 with TypeScript
Angular2 with TypeScript Angular2 with TypeScript
Angular2 with TypeScript
 
Angular 2 - The Next Framework
Angular 2 - The Next FrameworkAngular 2 - The Next Framework
Angular 2 - The Next Framework
 
Introduction to Angular2
Introduction to Angular2Introduction to Angular2
Introduction to Angular2
 
The Road to Native Web Components
The Road to Native Web ComponentsThe Road to Native Web Components
The Road to Native Web Components
 
Angular 2: What's New?
Angular 2: What's New?Angular 2: What's New?
Angular 2: What's New?
 
Angular Dependency Injection
Angular Dependency InjectionAngular Dependency Injection
Angular Dependency Injection
 
CocoaHeads Paris - CATransaction: What the flush?!
CocoaHeads Paris - CATransaction: What the flush?!CocoaHeads Paris - CATransaction: What the flush?!
CocoaHeads Paris - CATransaction: What the flush?!
 
An introduction to Angular2
An introduction to Angular2 An introduction to Angular2
An introduction to Angular2
 
Angular 1.x in action now
Angular 1.x in action nowAngular 1.x in action now
Angular 1.x in action now
 
Building an angular application -1 ( API: Golang, Database: Postgres) v1.0
Building an angular application -1 ( API: Golang, Database: Postgres) v1.0Building an angular application -1 ( API: Golang, Database: Postgres) v1.0
Building an angular application -1 ( API: Golang, Database: Postgres) v1.0
 
Architecture for scalable Angular applications
Architecture for scalable Angular applicationsArchitecture for scalable Angular applications
Architecture for scalable Angular applications
 
Angular performance improvments
Angular performance improvmentsAngular performance improvments
Angular performance improvments
 
Get together on getting more out of typescript &amp; angular 2
Get together on getting more out of typescript &amp; angular 2Get together on getting more out of typescript &amp; angular 2
Get together on getting more out of typescript &amp; angular 2
 
Scala Self Types by Gregor Heine, Principal Software Engineer at Gilt
Scala Self Types by Gregor Heine, Principal Software Engineer at GiltScala Self Types by Gregor Heine, Principal Software Engineer at Gilt
Scala Self Types by Gregor Heine, Principal Software Engineer at Gilt
 
Workshop 24: React Native Introduction
Workshop 24: React Native IntroductionWorkshop 24: React Native Introduction
Workshop 24: React Native Introduction
 

Similar to Jan 2017 - a web of applications (angular 2)

Building a TV show with Angular, Bootstrap, and Web Services
Building a TV show with Angular, Bootstrap, and Web ServicesBuilding a TV show with Angular, Bootstrap, and Web Services
Building a TV show with Angular, Bootstrap, and Web Services
David Giard
 
Itsjustangular
ItsjustangularItsjustangular
Itsjustangular
cagataycivici
 
angular fundamentals.pdf angular fundamentals.pdf
angular fundamentals.pdf angular fundamentals.pdfangular fundamentals.pdf angular fundamentals.pdf
angular fundamentals.pdf angular fundamentals.pdf
NuttavutThongjor1
 
Stencil the time for vanilla web components has arrived
Stencil the time for vanilla web components has arrivedStencil the time for vanilla web components has arrived
Stencil the time for vanilla web components has arrived
Gil Fink
 
Web components with Angular
Web components with AngularWeb components with Angular
Web components with Angular
Ana Cidre
 
Angular 2 Unit Testing.pptx
Angular 2 Unit Testing.pptxAngular 2 Unit Testing.pptx
Angular 2 Unit Testing.pptx
accordv12
 
Meetup SkillValue - Angular 6 : Bien démarrer son application
Meetup SkillValue - Angular 6 : Bien démarrer son applicationMeetup SkillValue - Angular 6 : Bien démarrer son application
Meetup SkillValue - Angular 6 : Bien démarrer son application
Thibault Even
 
Night Watch with QA
Night Watch with QANight Watch with QA
Night Watch with QA
Carsten Sandtner
 
Angular Unit Testing NDC Minn 2018
Angular Unit Testing NDC Minn 2018Angular Unit Testing NDC Minn 2018
Angular Unit Testing NDC Minn 2018
Justin James
 
How React Native, Appium and me made each other shine @Frontmania 16-11-2018
How React Native, Appium and me made each other shine @Frontmania 16-11-2018How React Native, Appium and me made each other shine @Frontmania 16-11-2018
How React Native, Appium and me made each other shine @Frontmania 16-11-2018
Wim Selles
 
How to Implement Basic Angular Routing and Nested Routing With Params in Angu...
How to Implement Basic Angular Routing and Nested Routing With Params in Angu...How to Implement Basic Angular Routing and Nested Routing With Params in Angu...
How to Implement Basic Angular Routing and Nested Routing With Params in Angu...
Katy Slemon
 
What is your money doing?
What is your money doing?What is your money doing?
What is your money doing?
Alfonso Fernández
 
Angular2: Quick overview with 2do app example
Angular2: Quick overview with 2do app exampleAngular2: Quick overview with 2do app example
Angular2: Quick overview with 2do app example
Alexey Frolov
 
Stencil: The Time for Vanilla Web Components has Arrived
Stencil: The Time for Vanilla Web Components has ArrivedStencil: The Time for Vanilla Web Components has Arrived
Stencil: The Time for Vanilla Web Components has Arrived
Gil Fink
 
Maciej Treder ''Angular Universal - a medicine for the Angular + SEO/CDN issu...
Maciej Treder ''Angular Universal - a medicine for the Angular + SEO/CDN issu...Maciej Treder ''Angular Universal - a medicine for the Angular + SEO/CDN issu...
Maciej Treder ''Angular Universal - a medicine for the Angular + SEO/CDN issu...
OdessaJS Conf
 
Creating custom Validators on Reactive Forms using Angular 6
Creating custom Validators on Reactive Forms using Angular 6Creating custom Validators on Reactive Forms using Angular 6
Creating custom Validators on Reactive Forms using Angular 6
AIMDek Technologies
 
Commit University - Exploring Angular 2
Commit University - Exploring Angular 2Commit University - Exploring Angular 2
Commit University - Exploring Angular 2
Commit University
 
[FEConf Korea 2017]Angular 컴포넌트 대화법
[FEConf Korea 2017]Angular 컴포넌트 대화법[FEConf Korea 2017]Angular 컴포넌트 대화법
[FEConf Korea 2017]Angular 컴포넌트 대화법
Jeado Ko
 
Protocol-Oriented Programming in Swift
Protocol-Oriented Programming in SwiftProtocol-Oriented Programming in Swift
Protocol-Oriented Programming in Swift
Oleksandr Stepanov
 
Bootiful Development with Spring Boot and Angular - RWX 2018
Bootiful Development with Spring Boot and Angular - RWX 2018Bootiful Development with Spring Boot and Angular - RWX 2018
Bootiful Development with Spring Boot and Angular - RWX 2018
Matt Raible
 

Similar to Jan 2017 - a web of applications (angular 2) (20)

Building a TV show with Angular, Bootstrap, and Web Services
Building a TV show with Angular, Bootstrap, and Web ServicesBuilding a TV show with Angular, Bootstrap, and Web Services
Building a TV show with Angular, Bootstrap, and Web Services
 
Itsjustangular
ItsjustangularItsjustangular
Itsjustangular
 
angular fundamentals.pdf angular fundamentals.pdf
angular fundamentals.pdf angular fundamentals.pdfangular fundamentals.pdf angular fundamentals.pdf
angular fundamentals.pdf angular fundamentals.pdf
 
Stencil the time for vanilla web components has arrived
Stencil the time for vanilla web components has arrivedStencil the time for vanilla web components has arrived
Stencil the time for vanilla web components has arrived
 
Web components with Angular
Web components with AngularWeb components with Angular
Web components with Angular
 
Angular 2 Unit Testing.pptx
Angular 2 Unit Testing.pptxAngular 2 Unit Testing.pptx
Angular 2 Unit Testing.pptx
 
Meetup SkillValue - Angular 6 : Bien démarrer son application
Meetup SkillValue - Angular 6 : Bien démarrer son applicationMeetup SkillValue - Angular 6 : Bien démarrer son application
Meetup SkillValue - Angular 6 : Bien démarrer son application
 
Night Watch with QA
Night Watch with QANight Watch with QA
Night Watch with QA
 
Angular Unit Testing NDC Minn 2018
Angular Unit Testing NDC Minn 2018Angular Unit Testing NDC Minn 2018
Angular Unit Testing NDC Minn 2018
 
How React Native, Appium and me made each other shine @Frontmania 16-11-2018
How React Native, Appium and me made each other shine @Frontmania 16-11-2018How React Native, Appium and me made each other shine @Frontmania 16-11-2018
How React Native, Appium and me made each other shine @Frontmania 16-11-2018
 
How to Implement Basic Angular Routing and Nested Routing With Params in Angu...
How to Implement Basic Angular Routing and Nested Routing With Params in Angu...How to Implement Basic Angular Routing and Nested Routing With Params in Angu...
How to Implement Basic Angular Routing and Nested Routing With Params in Angu...
 
What is your money doing?
What is your money doing?What is your money doing?
What is your money doing?
 
Angular2: Quick overview with 2do app example
Angular2: Quick overview with 2do app exampleAngular2: Quick overview with 2do app example
Angular2: Quick overview with 2do app example
 
Stencil: The Time for Vanilla Web Components has Arrived
Stencil: The Time for Vanilla Web Components has ArrivedStencil: The Time for Vanilla Web Components has Arrived
Stencil: The Time for Vanilla Web Components has Arrived
 
Maciej Treder ''Angular Universal - a medicine for the Angular + SEO/CDN issu...
Maciej Treder ''Angular Universal - a medicine for the Angular + SEO/CDN issu...Maciej Treder ''Angular Universal - a medicine for the Angular + SEO/CDN issu...
Maciej Treder ''Angular Universal - a medicine for the Angular + SEO/CDN issu...
 
Creating custom Validators on Reactive Forms using Angular 6
Creating custom Validators on Reactive Forms using Angular 6Creating custom Validators on Reactive Forms using Angular 6
Creating custom Validators on Reactive Forms using Angular 6
 
Commit University - Exploring Angular 2
Commit University - Exploring Angular 2Commit University - Exploring Angular 2
Commit University - Exploring Angular 2
 
[FEConf Korea 2017]Angular 컴포넌트 대화법
[FEConf Korea 2017]Angular 컴포넌트 대화법[FEConf Korea 2017]Angular 컴포넌트 대화법
[FEConf Korea 2017]Angular 컴포넌트 대화법
 
Protocol-Oriented Programming in Swift
Protocol-Oriented Programming in SwiftProtocol-Oriented Programming in Swift
Protocol-Oriented Programming in Swift
 
Bootiful Development with Spring Boot and Angular - RWX 2018
Bootiful Development with Spring Boot and Angular - RWX 2018Bootiful Development with Spring Boot and Angular - RWX 2018
Bootiful Development with Spring Boot and Angular - RWX 2018
 

Recently uploaded

Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter
ScyllaDB
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
KAMAL CHOUDHARY
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
Neo4j
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
Tatiana Al-Chueyr
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
rajancomputerfbd
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
Matthew Sinclair
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
RaminGhanbari2
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
Liveplex
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
BookNet Canada
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
Aurora Consulting
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
Larry Smarr
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
SynapseIndia
 
Best Programming Language for Civil Engineers
Best Programming Language for Civil EngineersBest Programming Language for Civil Engineers
Best Programming Language for Civil Engineers
Awais Yaseen
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
Matthew Sinclair
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
Bert Blevins
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Mydbops
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Bert Blevins
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
SynapseIndia
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
ScyllaDB
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
Matthew Sinclair
 

Recently uploaded (20)

Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
 
Best Programming Language for Civil Engineers
Best Programming Language for Civil EngineersBest Programming Language for Civil Engineers
Best Programming Language for Civil Engineers
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
 

Jan 2017 - a web of applications (angular 2)

  • 1. a web of applications kasper reijnders
  • 2. 01 introduction tijd (minuten) 1-3 02 why this subject tijd (minuten) 5-10 03 summarize tijd (minuten) 2-5 04 angular tijd (minuten) 10-20 tonight
  • 13. website ○ using CMS ○ basic frontend functionality ○lightbox ○search ○sharing ○etc… ○ knmg.nl / incentro.com
  • 14. web apps ○ using content from some repository ○ single page applications ○ advanced frontend ○multiple components ○ facebook.com / twitter.com / airbnb.com
  • 15. combined ○ apps integrated in site ○ used for ‘difficult’ content / calculations / checks ○ anwb.nl / unive.nl / snsbank.nl
  • 17. angular ○ web apps ○ integrated web apps
  • 18. angular ○ version 1.x ○ version 2.x and above ○next version will be 4.x
  • 19. angular > 2.x ○ Modular ○components and services ○ TypeScript ○ Annotations
  • 22. typescript import {Goal} from "../types/goal"; export class ThemeService { private goal: Goal; constructor() { } } export class Goal { title: string; status: Array<number> | boolean; planned?: boolean; }
  • 23. typescript / es6 function test(i) { return i + 2; } let test = i => i + 2
  • 25. component import { Component } from '@angular/core'; @Component({ selector: 'batman', template: '<h1>{{name}}</h1>' }) export class BatmanComponent { name: string = 'Batman'; hasParents: boolean = false; }
  • 26. component import { Component } from '@angular/core'; @Component({ selector: 'batman', template: '<h1>{{name}}</h1>' }) export class BatmanComponent { name: string = 'Batman'; hasParents: boolean = false; }
  • 27. component import { Component } from '@angular/core'; @Component({ selector: 'batman', template: '<h1>{{name}}</h1>' }) export class BatmanComponent { name: string = 'Batman'; hasParents: boolean = false; }
  • 28. component import { Component } from '@angular/core'; @Component({ selector: 'batman', template: '<h1>{{name}}</h1>' }) export class BatmanComponent { name: string = 'Batman'; hasParents: boolean = false; }
  • 29. module import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { BatmanComponent } from './batman.component'; @NgModule({ imports: [ BrowserModule ], declarations: [ BatmanComponent ], bootstrap: [ BatmanComponent ] }) export class EverythingIsAwesomeApp { }
  • 30. module import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { BatmanComponent } from './batman.component'; @NgModule({ imports: [ BrowserModule ], declarations: [ BatmanComponent ], bootstrap: [ BatmanComponent ] }) export class EverythingIsAwesomeApp { }
  • 31. module import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { BatmanComponent } from './batman.component'; @NgModule({ imports: [ BrowserModule ], declarations: [ BatmanComponent ], bootstrap: [ BatmanComponent ] }) export class EverythingIsAwesomeApp { }
  • 32. module import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { BatmanComponent } from './batman.component'; @NgModule({ imports: [ BrowserModule ], declarations: [ BatmanComponent ], bootstrap: [ BatmanComponent ] }) export class EverythingIsAwesomeApp { }
  • 33. module import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { BatmanComponent } from './batman.component'; @NgModule({ imports: [ BrowserModule ], declarations: [ BatmanComponent ], bootstrap: [ BatmanComponent ] }) export class EverythingIsAwesomeApp { }
  • 34. module import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { BatmanComponent } from './batman.component'; import { BatMobileComponent } from './batmobile.component'; @NgModule({ imports: [ BrowserModule ], declarations: [ BatmanComponent, BatMobileComponent ], bootstrap: [ BatmanComponent ] }) export class EverythingIsAwesomeApp { }
  • 35. input and output import { Component, Input } from '@angular/core'; @Component({ selector: 'batmobile', template: '<div>{{driver}}</div>' }) export class BatMobileComponent { @Input() driver: string; }
  • 36. input and output import { Component } from '@angular/core'; @Component({ selector: 'batman', template: '<batmobile [driver]="name"></batmobile>' }) export class BatmanComponent { name: string = 'Batman'; hasParents: boolean = false; }
  • 37. services import { Injectable } from '@angular/core'; import { Car } from 'car'; import { CARS } from 'CARS.MOCK'; @Injectable() export class BatmobileService { constructor() {} getCarPark(): Promise<Car[]> { return Promise.resolve(CARS); // this can be replaced with a REST call } getCarByDriver(driver: string): Promise<Car> { return this.getCarPark().then((cars) => { return cars.find(car => car.driver === driver); }); } }
  • 38. services import { Component, Input } from '@angular/core'; @Component({ selector: 'batmobile', template: '<div>{{driver}}</div>' }) export class BatMobileComponent { @Input() driver: string; }
  • 39. services import { Component, Input, OnInit } from '@angular/core'; import { BatmobileService } from 'batmobileservice'; @Component({ selector: 'batmobile', template: '<div>{{driver}}</div>' }) export class BatMobileComponent implements ngOnInit { @Input() driver: string; constructor(private batmobileService: BatmobileService) {} ngOnInit() { // ... } }
  • 40. services ... constructor(private batmobileService: BatmobileService) {} ngOnInit() { this.batmobileService.getCarByDriver(this.driver).then((car) => { this.car = car }); } ...
  • 41. pipes {{ someValue | pipe }} {{ birthday | date:'fullDate' | uppercase }} {{ users | filter: 'name' }}
  • 42. directives 1. Components 2. Structural directives 3. Attribute directives
  • 44. asterisk <p *ngIf="condition">Our heroes are true!</p> <template [ngIf]="condition"> <p>Our heroes are true!</p> </template>
  • 45. attribute directives <div [style.background]="'lime'"> some </div> <p myHighlight [highlightColor]="color"> color</p> <p [myHighlight]="color">Highlight me!</p>
  • 46. template options <input [value]="firstName"> Binds property value to the result of expression firstName. <div [attr.role]="myAriaRole"> Binds attribute role to the result of expression myAriaRole. <div [class.extra-sparkle]="isDelightful"> Binds the presence of the CSS class extra-sparkle on the element to the truthiness of the expression isDelightful. <div [style.width.px]="mySize"> Binds style property width to the result of expression mySize in pixels. Units are optional. <button (click)="readRainbow($event)"> Calls method readRainbow when a click event is triggered on this button element (or its children) and passes in the event object. <my-cmp [(title)]="name"> Sets up two-way data binding. Equivalent to: <my-cmp [title]="name" (titleChange)="name=$event">
  • 47. <p>Card No.: {{cardNumber | myCardNumberFormatter}}</p> Transforms the current value of expression cardNumber via the pipe called myCardNumberFormatter. <p>Employer: {{employer?.companyName}}</p> The safe navigation operator (?) means that the employer field is optional and if undefined, the rest of the expression should be ignored. <p>Hello {{superHero}}</p> Binds text content to an interpolated string, for example, "Hello Seabiscuit". template options
  • 49. tips use angular-cli to jumpstart development -> https://cli.angular.io/ have 1 functionality per file divide data and function make reusable components
  • 50. use folders per type - batman-project/ - src/scripts/ - components/ - directives/ - services/ - types/ - main.ts