Angular Best Practices Door Alex en Chris van Beek



Vergelijkbare documenten
C# 6 Door Alex en Chris van Beek

Cloud Geintegreerde Backup & Storage met Microsoft Azure en Storsimple. Maarten Goet Bert Wolters

Waarom automatiseren?

Webinar Angular 2 26 November :00 21:00 uur CET

Introductie Veiligheidseisen Exploiten Conclusie. Browser security. Wouter van Dongen. RP1 Project OS3 System and Network Engineering

Sitecore en AngularJS: hoe werken ze samen

React en React Native voor websites en apps

Gebruik van cryptografie voor veilige jquery/rest webapplicaties. Frans van Buul Inter Access

10. Single Page Applications

APEX en JasperReports

Een infra DevOps CI/CD straat

CONTAINERIZATION OF APPLICATIONS WITH MICROSOFT AZURE PAAS SERVICES

Is APEX a worthy substitute for Oracle Forms?

Your view on business On your favorite device

Technisch ontwerp. Projectteam 6. Project "Web Essentials" 02 april Versie 2.1.0

ORBIS SOFTWARE TASKCENTRE INTEGREERT

15. Google Tag Manager

Installeer Apache2: Landstede februari 2009 versie 3 1 Bertil Hoentjen

DEVOPS kickstarter. van idee naar productie in Azure! 1 / 21

Microsoft; applicaties; ontwikkelaar; developer; apps; cloud; app; azure; cloud computing; DevOps; microsoft azure

Business Workflow innovaties in SAP S/4 HANA

Frontend performance meting

Kaartgegevens automatisch exporteren naar tekstbestanden

DataFlex 19.0 SQL Server

Maximo Tips and Tricks

Chris de Kok TDI 3. Vak: Software Architectuur Datum: Docent: Fons van Kesteren

Tetra Industriële Security

Mobile Watch Snelle Handleiding. Bezoek voor meer informatie

Building rich user interfaces in Java

Dicht het security gat - Microsoft SharePoint, OCS, en Exchange met Secure File Sharing Heeft uw organisatie ook een Dropbox probleem?

SPTOOLS SHAREPOINT CONNECTOR -

INHOUDSOPGAVE Het Boekenwinkeltje Registreer.aspx Opgaven... 97

Globale kennismaking

Welkom. Christophe Limpens. Solution Consultancy Manager

Onder de motorkap van Microsoft Azure Web Sites. Eelco Koster Software architect ORDINA

Postcode module Webservices

Documentatie. InstantModules Q42. Versie 1.1

Adding value to test tooling Hoe en waarom DevOps de wereld van performance testen verandert

Acht stappen voor JSF

Deployment met PowerShell DSC. 20 september 2017 EIC B.V.

MODULE 5 : CMS jouwweb

WordPress in het Kort

Selecteer het NRF52-Dk platform in de IDE rechtsboven in het browser scherm.

Joomla! vs Facebook (en andere Social Media)

We helpen u security-incidenten te voorkomen

Applicatie-Architecturen

ORBIS SOFTWARE TASKCENTRE INTEGREERT

Delft-FEWS & Web Services

1.9.6 Release Notes Verbeteringen en uitbreidingen

Test de REST. Testen van RESTful webservices met REST Assured. Bas Dijkstra

Inhoudsopgave. Hoofdstuk 1: Ant...4

Factsheet CONTINUOUS VALUE DELIVERY Mirabeau

LSP Connect en HL7v3

Meerdere warehouse implementaties te kostbaar?

woensdag 16 oktober 13 HTML5 wizardry met appcache, localstorage en geolocation

Mission Critical Silverlight

Pimp je SharePoint zoekresultaten

Your View on Business

VACATURE. Technisch consultant

JOOMLA! GEBRUIKSVRIENDELIJKHEID IN DE PRAKTIJK. Tips en hulpmiddelen voor gebruiksvriendelijkheid

Kennissessie INSPIRE. Algemene vereisten & architectuur Metadata View Services Download Services Ondersteuning vanuit Geonovum.

Powered by EGM. Virtual, Mixed en Augemented Reality binnen de (interieur-)architectuur

ADVANCED KNOWLEDGE SERVICES (AKS )

OTB Workshop. Van PDM naar PLM. Migratie van Intralink 3.x naar PDMLink of Intralink 8.0

Factsheet NPrinting; QlikView reporting done right

Handleiding. Opslag Online voor Windows Phone 8. Versie augustus 2014

Any data from any source available at any time as information on your favorite mobile device

PYramid Onroerend Erfgoed Style Documentation

Handleiding. WMS webservice Kadastrale Gemeentegrenzen (KADGEM) Versie 1.0

Handleiding Wordpress

Factsheet SECURITY CONSULTANCY Managed Services

Cloud werkplek anno Cloud werkplek anno 2014

De Outlook en SharePoint integratie

Meehelpen met de ontwikkeling van nieuwe of verbetering van bestaande spellen. Pag. 1

Gebruikershandleiding

Technisch ontwerp. Projectteam 6. Project "Web Essentials" 11 maart Versie 1.1.0

Aan de slag met Google Analytics. Deel 1.

Een webserver bereikbaar maken voor IPv6

CREËER UW EIGEN ONLINE WERKPLEK MET WORKSPACE 365

Factsheet COOKIE COMPLIANT Managed Services

Versie 0.4. Documentatie Onsweb Club plugin voor KNKV verenigingen. Laatste wijziging: 19 juli 2012 Auteurs: Marien Dongstra, Sebastian Huisman

Transcriptie:

Angular Best Practices Door Alex en Chris van Beek

Over ons Enthousiastelingen Software Architecten bij Luminis Arnhem B.V. Gespecialiseerd in Microsoft technologie:.net, Azure en Windows Twitter: @Beekje en @cbeek Blog: http://arnhem.luminis.eu/alex-van-beek/ en http://arnhem.luminis.eu/chris-van-beek

Inleiding Veel ervaring met grote Angular projecten Elk project worden er nieuwere en beter tools, technieken en methodes toegepast Hieruit ontstaat een vaste set best practices die wij graag met jullie willen delen!

Inhoud Applicatie structuur Typescript Controller As Angular-Translate One time bindings Angular UI Router Module laders Front-end build

Applicatie structuur Folders by feature structure Structuur blijft plat Ontwikkelaars kunnen aan namen van folders en bestanden zien wat code voorstelt

Applicatie structuur:demo

Inhoud Applicatie structuur Typescript Controller As Angular-Translate One time bindings Angular UI Router Module laders Front-end build

Typescript Javascript is zeer krachtig en flexibel.. Maar gestructureerd en object georiënteerd javascript kan erg moeilijk zijn Er is geen statische typering, tooling heeft het moeilijk met ondersteunen van ontwikkelaars Er is geen modularisatie systeem in javascript Los deze problemen op Door Typescript te gebruiken!

Typescript demo: Typescript playground Applicatie bekijken met Typescript: Controllers, implement UserCtrl Services

Inhoud Applicatie structuur Typescript Controller As Angular-Translate One time bindings Angular UI Router Module laders Front-end build

Gebruik en begrijp de As syntax Bind controllers aan views met de As syntax Voorkomt scope clashes Maakt het makkelijker om parent controller te benaderen vanuit child views (UI-Router) ICM Typescript, geeft ons WPF achtige databinding aan objecten

Demo As syntax Bekijk scope clashing Voorkom scope clashing Bekijk het effect op $scope Controller wordt zelf object op de scope!

Inhoud Applicatie structuur Typescript Controller As Angular-Translate One time bindings Angular UI Router Module laders Front-end build

Angular Translate Vertalingen in Angular, makkelijk gemaakt Zorgt voor onderhoudbare teksten in je app Te vergelijken met resource files in.net

Demo Angular Translate Angular-Translate aan je app toevoegen Config aanroep toevoegen Pagina vertalen Taal wisselen

Inhoud Applicatie structuur Typescript Controller As Angular-Translate One time bindings Angular UI Router Module laders Front-end build

One time bindings Beperk de watch collectie waardoor de $digest sneller wordt!

Demo: One time bindings Bekijk de syntax Zie een hele kleine performance winst, meer read only data op de pagina is meer winst! Handig icm Angular translate! Kunt testen door te profilen en naar $digest te kijken

Inhoud Applicatie structuur Typescript Controller As Angular-translate One time bindings Angular UI router Module laders Front-end build

Angular UI Router Ondersteunt nested views Koppelt URL s los van applicatie state Applicatie wordt een state machine States kunnen gekoppeld worden aan Url s of aan gedrag of aan beiden

Angular UI Router demo: Nested views States configureren Resolve OnEnter PatientenOveview en PatientOverview

Inhoud Applicatie structuur Typescript Controller As Angular-translate One time bindings Angular UI router Module laders Front-end build

Gebruik een module lader Javascript kent geen module systeem Kan een enorme brei worden van script tags die precies in de juiste volgorde moeten staan binnen je html pagina's. RequireJS of Browserify Typescript kent RequireJS!

RequireJS Vereist een specifieke structuur in je javascript bestanden Kan ook overweg met javascript libs die geen weet van Require hebben (zoals Angular)

RequireJS Demo: Bekijken de html Configuratie voor RequireJS Typescript code Bekijk gecompileerde typescript code

Inhoud Applicatie structuur Typescript Controller As Angular-translate One time bindings Angular UI router Module laders Front-end build

Gebruik een front-end build proces We zijn gewend MSBuild te gebruiken Front-end build tools ondersteunen meer en beter typische web build taken Typescript compilatie SSAS compilatie Uglyify en concateneren van code Angular tweaks (zoals TemplateCache!) Zijn NodeJS plugins

Front-end build tools Gulp Sneller (streams vs kopieren en open/sluiten van bestanden) Code over configuratie Draait om streams die van de ene taak naar de andere gestuurd kunnen worden. Kunt zelf alles mixen en matchen Grunt Configuratie over code Draait om veel gebruikte taken die in een bepaalde volgorde uitgevoerd worden

Demo: Gulp Bekijken gulp bestand en lopen de best practices na Bespreken taken die je per se in front-end build wilt hebben. Typescript compilatie RequireJs Concat Mangling Angular template caching

Vragen?????

Your feedback is important! Scan the QR Code and let us know via the TechDays App. Laat ons weten wat u van de sessie vindt via de TechDays App! Scan de QR Code. Bent u al lid van de Microsoft Virtual Academy?! Op MVA kunt u altijd iets nieuws leren over de laatste technologie van Microsoft. Meld u vandaag aan op de MVA Stand. MVA biedt 7/24 gratis online training on-demand voor IT- Professionals en Ontwikkelaars.