Expertentipps zu Angular: Neuerungen in Angular 6, Umgang mit Microservices, Performanz und UX-Design
By Manuel Rauber and Manfred Steyer
()
About this ebook
Zunächst wirft Manfred Steyer einen genauen Blick auf die wichtigsten Neuerungen von Angular 6 und das ebenfalls neue Angular CLI und stellt die interessantesten neuen Funktionen vor, etwa die Bereitstellung von Web Components oder die Erzeugung von npm-Paketen. Er erläutert zudem, wie Angular am besten für Microservices genutzt werden kann und stellt neben den naheliegenden auch eher überraschende (und überraschend effektive) Methoden vor. Schließlich zeigt Manfred Steyer Ihnen noch, wie Sie Ihre Angular-Anwendung mithilfe von @ngrx, dem Redux-Pendant für Angular, schlank und performant halten. Und auch für das Auge ist in diesem shortcut etwas dabei: Manuel Rauber gibt einen detaillierten Überblick über Angular Animations, erläutert die Grundlagen des Animationsframeworks und zeigt Ihnen, wie Sie mit wenig Arbeit eine wesentlich ansprechendere UX erreichen.
Read more from Manuel Rauber
shortcuts Die Serverwelt von Node.js Rating: 0 out of 5 stars0 ratings
Related to Expertentipps zu Angular
Titles in the series (100)
JavaScript auf dem Server Rating: 0 out of 5 stars0 ratingsEinstieg in Google Go Rating: 0 out of 5 stars0 ratingsJava EE Security Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenGL, OpenAL und KI Rating: 0 out of 5 stars0 ratingsJava 7: Fork-Join-Framework und Phaser Rating: 0 out of 5 stars0 ratingsHTML5 für Mobile Web Rating: 0 out of 5 stars0 ratingsNutzeraspekte in Suchmaschinen: Komponenten für eine gelungene Usability-Gestaltung Rating: 0 out of 5 stars0 ratingsGeolocation mit PHP: Foursquare-API, Google Places & Qype Rating: 0 out of 5 stars0 ratingsAlgorithmen: Grundlagen und Implementierung Rating: 0 out of 5 stars0 ratingsNFC: Near Field Communication für Android-Entwickler Rating: 5 out of 5 stars5/5IT Wissensmanagement: Theorie und Praxis Rating: 0 out of 5 stars0 ratingsjQuery Mobile - Basics: Basics Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenCL Rating: 0 out of 5 stars0 ratingsHTML5 Security Rating: 0 out of 5 stars0 ratingsNintex Workflow: Konzepte und Strategien für leistungsfähige SharePoint-Workflows Rating: 0 out of 5 stars0 ratingsSkalierbare Softwaresysteme: Design, Betrieb und Optimierungspotenziale Rating: 0 out of 5 stars0 ratingsJavaScript für Eclipse-Entwickler: Orion, RAP und GWT Rating: 0 out of 5 stars0 ratingsSharePoint-Entwicklung für Einsteiger Rating: 0 out of 5 stars0 ratingsQualitätssicherung mit JavaScript und PHP Rating: 0 out of 5 stars0 ratingsAmazon Web Services für .NET Entwickler Rating: 0 out of 5 stars0 ratingsMobile Business: Was Entscheider morgen wissen müssen Rating: 0 out of 5 stars0 ratingsC++: Kurzportträt einer zeitlosen Sprache Rating: 0 out of 5 stars0 ratingsJava EE 7: Ein Ausblick Rating: 0 out of 5 stars0 ratingsServiceorientierte Architektur: Anforderungen, Konzeption und Praxiserfahrungen Rating: 0 out of 5 stars0 ratingsÜberzeugende Präsentationen: Konzeption, Technik und Design Rating: 0 out of 5 stars0 ratingsTFS 2012 Versionskontrolle: Grundlagen, Check-In Policies und Branch-Modelle Rating: 0 out of 5 stars0 ratingsApache Tapestry: Einstieg in die komponentenorientierte Webentwicklung Rating: 0 out of 5 stars0 ratingsAgile Architektur mit .NET - Grundlagen und Best Practices Rating: 0 out of 5 stars0 ratingsTFS 2012 Anforderungsmanagement: Work Items und Prozessvorlagen Rating: 0 out of 5 stars0 ratingsBig Data: Technologiegrundlagen Rating: 0 out of 5 stars0 ratings
Related ebooks
Progressive Web-Apps: Offlinefähige Web-Anwendungen mit nativen Qualitäten Rating: 0 out of 5 stars0 ratingsVue.js für alle: Wissenswertes für Einsteiger und Experten Rating: 0 out of 5 stars0 ratingsEinstieg in TypeScript: Grundlagen für Entwickler Rating: 0 out of 5 stars0 ratingsJavaScript und Ajax: Das Praxisbuch für Web-Entwickler Rating: 0 out of 5 stars0 ratings.NET-Praxis: Tipps und Tricks zu .NET und Visual Studio Rating: 0 out of 5 stars0 ratingsCross-Plattform-Entwicklung mit HTML und JavaScript Rating: 0 out of 5 stars0 ratingsSoftware entwickeln mit C#, WPF und dem MVVM-Konzept Rating: 0 out of 5 stars0 ratingsWordPress - Elementor Rating: 0 out of 5 stars0 ratingsNext Level JavaScript: Schlagworte Rating: 0 out of 5 stars0 ratingsGraphQL: Eine Einführung in APIs mit GraphQL Rating: 0 out of 5 stars0 ratingsHTML5 kurz & gut Rating: 0 out of 5 stars0 ratingsMicroservices: Der Hype im Realitätscheck Rating: 0 out of 5 stars0 ratingsASP.NET Core: Eine Einführung Rating: 0 out of 5 stars0 ratingsSharePoint Kompendium - Bd. 16 Rating: 0 out of 5 stars0 ratingsModerne Datenzugriffslösungen mit Entity Framework 6 Rating: 0 out of 5 stars0 ratingsAutomatisiertes Testen: Testautomatisierung mit Geb und ScalaTest Rating: 0 out of 5 stars0 ratingsSoftwarearchitektur für Dummies Rating: 0 out of 5 stars0 ratingsSharePoint Kompendium - Bd. 13 Rating: 0 out of 5 stars0 ratingsAgile Muster und Methoden: Agile Softwareentwicklung maßgeschneidert Rating: 0 out of 5 stars0 ratingsLogging: Schnelleinstieg Rating: 0 out of 5 stars0 ratingsJava – die Neuerungen in Version 9 bis 12: Modularisierung, Syntax- und API-Erweiterungen Rating: 0 out of 5 stars0 ratingsVon Monolithen und Microservices: Funktionierende Microservices-Architekturen erstellen Rating: 0 out of 5 stars0 ratingsSingle-Page-Web-Apps: JavaScript im Einsatz: Webseiten erstellen mit AngularJS, Meteor und jQuery Mobile Rating: 0 out of 5 stars0 ratingsMicroservices-Architektur: Patterns in Spring implementieren Rating: 0 out of 5 stars0 ratingsKompaktkurs C# 7 Rating: 0 out of 5 stars0 ratingsWindows-8-Apps für C#-Entwickler: Design-Guidelines, Anleitungen, Best Practices Rating: 0 out of 5 stars0 ratingsXML für Eilige Rating: 0 out of 5 stars0 ratingsEinführung in Programmiersprachen Rating: 0 out of 5 stars0 ratingsBigData mit JavaScript visualisieren: D3.js für die Darstellung großer Datenmengen einsetzen Rating: 0 out of 5 stars0 ratingsMobile Web-Apps mit JavaScript: Leitfaden für die professionelle Entwicklung Rating: 0 out of 5 stars0 ratings
Programming For You
Eigene Spiele programmieren – Python lernen: Der spielerische Weg zur Programmiersprache Rating: 0 out of 5 stars0 ratingsDie ultimative FRITZ!Box Bibel - Das Praxisbuch 2. aktualisierte Auflage - mit vielen Insider Tipps und Tricks - komplett in Farbe Rating: 0 out of 5 stars0 ratingsPython-Grundlagen Rating: 0 out of 5 stars0 ratingsSQL – kurz & gut Rating: 0 out of 5 stars0 ratingsPraktisches Programmieren in C: Grundlagen und Tipps Rating: 0 out of 5 stars0 ratingsMicrosoft Word 2016 (Microsoft Press): Einfache Anleitungen für wichtige Aufgaben Rating: 0 out of 5 stars0 ratingsAndroid-Entwicklung für Einsteiger - 20.000 Zeilen unter dem Meer: 2. erweiterte Auflage Rating: 0 out of 5 stars0 ratings.NET-Praxis: Tipps und Tricks zu .NET und Visual Studio Rating: 0 out of 5 stars0 ratingsGames | Game Design | Game Studies: Eine Einführung (Deutschsprachige Ausgabe) Rating: 0 out of 5 stars0 ratingsRaspberry Pi: Einstieg • Optimierung • Projekte Rating: 5 out of 5 stars5/5HTML5-Programmierung von Kopf bis Fuß: Webanwendungen mit HTML5 und JavaScript Rating: 0 out of 5 stars0 ratingsArduino: Ein schneller Einstieg in die Microcontroller-Entwicklung Rating: 5 out of 5 stars5/5Python kinderleicht!: Einfach programmieren lernen – nicht nur für Kids Rating: 0 out of 5 stars0 ratingsUser Experience Testing 3.0: Status Quo, Entwicklung und Trends Rating: 0 out of 5 stars0 ratingsProgrammieren lernen mit Python 3: Schnelleinstieg für Beginner Rating: 0 out of 5 stars0 ratingsSQL von Kopf bis Fuß Rating: 4 out of 5 stars4/5Traumjob IT 2021: Branchenüberblick, Erfahrungsberichte und Tipps zum Berufseinstieg Rating: 5 out of 5 stars5/5Das große Python3 Workbook: Mit vielen Beispielen und Übungen - Programmieren leicht gemacht! Rating: 4 out of 5 stars4/5Python kurz & gut: Für Python 3.x und 2.7 Rating: 3 out of 5 stars3/5Hacken mit Python und Kali-Linux: Entwicklung eigener Hackingtools mit Python unter Kali-Linux Rating: 0 out of 5 stars0 ratingsLinux Grundlagen - Ein Einstieg in das Linux-Betriebssystem Rating: 0 out of 5 stars0 ratingsRaspberry Pi: Mach's einfach: Die kompakteste Gebrauchsanweisung mit 222 Anleitungen. Geeignet für Raspberry Pi 3 Modell B / B+ Rating: 0 out of 5 stars0 ratingsPython programmieren lernen: Der spielerische Einstieg mit Minecraft Rating: 0 out of 5 stars0 ratingsC++ – kurz & gut: Aktuell zu C++17 Rating: 4 out of 5 stars4/5Mikrocontroller in der Elektronik: Mikrocontroller programmieren und in der Praxis einsetzen Rating: 0 out of 5 stars0 ratingsProgrammieren für Einsteiger: Teil 1 Rating: 0 out of 5 stars0 ratingsPowerShell: Anwendung und effektive Nutzung Rating: 5 out of 5 stars5/5C++: Eine kompakte Einführung Rating: 0 out of 5 stars0 ratingsPython | Schritt für Schritt Programmieren lernen: Der ultimative Anfänger Guide für einen einfachen & schnellen Einstieg Rating: 0 out of 5 stars0 ratings
Reviews for Expertentipps zu Angular
0 ratings0 reviews
Book preview
Expertentipps zu Angular - Manuel Rauber
GmbH
1 Angular 6: Die Neuerungen in Framework und CLI
Es ist wieder so weit: Mit Angular 6 steht eine neue Major-Version von Angular in den Startlöchern. Gleichzeitig geht auch ein neues Angular CLI an den Start, dessen Versionsnummer ab sofort mit der von Angular synchron laufen soll und daher auch direkt auf Version 6 springt.
Angular Elements erlaubt das Bereitstellen von Web Components, und die noch experimentelle View Engine ngIvy verspricht konkurrenzlos kleine Bundles. Das CLI automatisiert lästige Aufgaben beim Einbinden und Aktualisieren von Bibliotheken und kann nun npm Packages bauen. Was gibt es sonst noch Neues in Angular 6?
Das Changelog [1] enthält einige neue und richtungsweisende Features, aber auch viele Abrundungen wie beispielsweise einen zusätzlichen Schalter hier oder einen neuen Parameter dort. In diesem Kapitel werden wir uns auf Ersteres konzentrieren und die neuen Möglichkeiten anhand von Beispielen kennen lernen, die in meinem GitHub-Account zur Verfügung stehen [2].
Web Components mit Angular Elements
Bis jetzt war Angular am besten für Gesamtlösungen geeignet. Wollte man jedoch lediglich bestehende Anwendungen um interaktive Bereiche erweitern, waren häufig andere Frameworks die erste Wahl. Ein Beispiel dafür sind statische Seiten, die von einem CMS gerendert werden und mit JavaScript-Widgets anzureichern sind.
Mit Angular Elements dringt Angular nun auch in diesen leichtgewichtigen Bereich vor, indem es Angular-Komponenten als Web Components bereitstellt. Genau genommen muss man von Custom Elements sprechen, zumal Web Components ein Sammelbegriff für verschiedene Technologien ist. Egal wie man das Kind auch nennt, unterm Strich geht es um frameworkunabhängige Komponenten, die sich wie Standard-HTML-Elemente verhalten. Hat man das dafür verantwortliche npm-Paket @angular/elements installiert, kann eine beliebige Angular-Komponente mit der Methode createCustomElement in ein Custom Element umgewandelt werden (Listing 1.1).
[...]
import { createCustomElement } from '@angular/elements';
@NgModule({
imports: [ CommonModule ],
declarations: [FlightCancellingComponent],
entryComponents: [FlightCancellingComponent]
})
export class FlightCancellingModule {
constructor(injector: Injector) {
const ngElementConstructor = createCustomElement(FlightCancellingComponent, {
injector
});
customElements.define('flight-cancelling', ngElementConstructor);
}
}
Listing 1.1
Um das so geschaffene Element mit dem Dependency-Injection-Mechanismus von Angular zu verbinden, übergibt das gezeigte Beispiel auch den aktuellen Injector. Die Methode customElements.define, die das Element beim Browser registriert und ihm einen Tagnamen zuweist, ist bereits Bestandteil der Custom-Elements-Spezifikation.
Da die dahinterstehende Angular-Komponente bei Bedarf dynamisch erzeugt wird, ist sie unter entryComponents einzutragen. Das ist notwendig, damit sie der Angular-Compiler entdeckt, obwohl sie zum Zeitpunkt der Kompilierung nicht mit den anderen Angular-Komponenten verbunden ist.
Wo und wann man das Custom Element erzeugt und registriert, ist unerheblich. Sobald die dazu notwendigen Anweisungen gelaufen sind, kann die Anwendung unabhängig vom Framework das neue HTML-Element verwenden. Ein Einsatz innerhalb von Angular könnte so aussehen:
handleClosed()
>
Alternativ dazu lassen sich Custom Elements auch zur Laufzeit dynamisch zu einer Seite hinzufügen (Listing 1.2).
@Injectable()
export class SimpleFlightCancellingService {
show(flightId: number): void {
const flightCancelling = document.createElement('flight-cancelling');
flightCancelling['flightId'] = flightId;
flightCancelling.addEventListener('closed', () => document.body.removeChild(flightCancelling));
document.body.appendChild(flightCancelling);
}
}
Listing 1.2
Hierzu kommen lediglich DOM-Bordmittel zum Einsatz. Sie sind im Gegensatz zur dynamischen Erzeugung von Angular-Komponenten sehr geradlinig und gestalten solche Szenarien um einiges einfacher.
Ein weiteres Einsatzgebiet für