Advanced Angular & Angular 6 Preview. Bibhas Bhattacharya

Similar documents
Angular 4 Syllabus. Module 1: Introduction. Module 2: AngularJS to Angular 4. Module 3: Introduction to Typescript

By the end of this Angular 6 tutorial, you'll learn by building a real world example application:

ANGULAR 2.X,4.X + TYPESRCIPT by Sindhu

Front-End UI: Bootstrap

Frontend UI Training. Whats App :

Comprehensive AngularJS Programming (5 Days)

Lab 1 - Introduction to Angular

IN4MATX 133: User Interface Software

Web Development for Dinosaurs An Introduction to Modern Web Development

Advantages: simple, quick to get started, perfect for simple forms, don t need to know how form model objects work

Angular 2 Programming

Chapter 1 - Development Setup of Angular

Integrating Angular with ASP.NET Core RESTful Services. Dan Wahlin

WebApp development. Outline. Web app structure. HTML basics. 1. Fundamentals of a web app / website. Tiberiu Vilcu

Frontend Web Development with Angular. CC BY-NC-ND Carrot & Company GmbH

About me. Routing into the Sunset with Angular. Manfred Steyer SOFTWAREarchitekt.at Trainer & Consultant Focus: Angular Google Developer Expert (GDE)

Ten interesting features of Google s Angular Project

Building Web Applications

Responsive Web Design and Bootstrap MIS Konstantin Bauman. Department of MIS Fox School of Business Temple University

AGENDA. HTML CODING YOUR HOMEPAGE [ Part IV ] :: NAVIGATION <nav> :: CSS CODING FOR HOMEPAGE [ <nav> & child elements ] CLASS :: 13.

PHP WITH ANGULAR CURRICULUM. What you will Be Able to Achieve During This Course

Course Outline. ProTech Professional Technical Services, Inc. Comprehensive Angular 7 Course Summary. Description

"Charting the Course... Comprehensive Angular 6 Course Summary

Decoupled Drupal with Angular

International Research Journal of Engineering and Technology (IRJET) e-issn: Volume: 05 Issue: 06 June p-issn:

Lecture 7. Action View, Bootstrap & Deploying 1 / 40

"Charting the Course... Comprehensive Angular. Course Summary

Stencil: The Time for Vanilla Web Components has Arrived

Before proceeding with this tutorial, you should have a basic understanding of HTML, CSS, JavaScript, TypeScript, and Document Object Model (DOM).

Vue.js Developer friendly, Fast and Versatile

P a g e 1. Danish Technological Institute. Scripting and Web Languages Online Course k Scripting and Web Languages

FRONT END WEB. {< Course Details >}

AGENDA :: MULTIMEDIA TOOLS :: CLASS NOTES

Comprehensive Angular 2 Review of Day 3

Learn Web Development CodersTrust Polska course outline. Hello CodersTrust! Unit 1. HTML Structuring the Web Prerequisites Learning pathway.

PHP + ANGULAR4 CURRICULUM 6 WEEKS

Course 1: Microsoft Professional Orientation: Front-End Web Developer

תוכנית יומית לכנס התכנסות וארוחת בוקר

55249: Developing with the SharePoint Framework Duration: 05 days

Angular from the Beginning

CUSTOMER PORTAL. Custom HTML splashpage Guide

Session 5. Web Page Generation. Reading & Reference

Front End Summit - Sep 27th

Course 1: Microsoft Professional Orientation: Front-End Web Developer

Interactor Tree. Edith Law & Mike Terry

Using AJAX to Easily Integrate Rich Media Elements

Css Manually Highlight Current Link Nav Link

Getting Started with ReactJS


Adobe Web Communication using Dreamweaver CS5 Curriculum/Certification mapping

"Charting the Course... Comprehensive Angular 5. Course Summary

React(.js) the Domino Way High-Performance Client for Domino. Knut Herrmann

Cascading Style Sheets Level 2

Styling React and. Ways to Style and Best Practices In. Component Based Systems

All Adobe Digital Design Vocabulary Absolute Div Tag Allows you to place any page element exactly where you want it Absolute Link Includes the

UI Course HTML: (Html, CSS, JavaScript, JQuery, Bootstrap, AngularJS) Introduction. The World Wide Web (WWW) and history of HTML

Offline-first PWA con Firebase y Vue.js

Angular 2: What s new? Jonas Bandi, IvoryCode GmbH

The tech behind a design system that scales

Programming web design MICHAEL BERNSTEIN CS 247

mongodb-tornado-angular Documentation

Using Dreamweaver CC. 6 Styles in Websites. Exercise 1 Linked Styles vs Embedded Styles

INTRODUCTION TO CSS. Mohammad Jawad Kadhim

Understanding this structure is pretty straightforward, but nonetheless crucial to working with HTML, CSS, and JavaScript.

Sample Copy. Not For Distribution.

Paul Boisvert. Director Product Management, Magento

One Framework. Angular

Standard 1 The student will author web pages using the HyperText Markup Language (HTML)

EXPLORE MODERN RESPONSIVE WEB DESIGN TECHNIQUES

SiteAssist Professional Help Documentation. Copyright 2008 WebAssist.com Corporation All rights reserved.

Web UI. Survey of Front End Technologies. Web Challenges and Constraints. Desktop and mobile devices. Highly variable runtime environment

1. Setup a root folder for the website 2. Create a wireframe 3. Add content 4. Create hyperlinks between pages and to external websites

Financial. AngularJS. AngularJS.

8/19/2018. Web Development & Design Foundations with HTML5. Learning Objectives (1 of 2) More on Relative Linking. Learning Objectives (2 of 2)

High Performance Single Page Application with Vue.js

Our Ba'le Against Technical Debt GeekCamp 2017

RequireJS Javascript Modules for the Browser. By Ben Keith Quoin, Inc.

The course also includes an overview of some of the most popular frameworks that you will most likely encounter in your real work environments.

Practical Course: Web Development Angular JS Part I Winter Semester 2016/17. Juliane Franze

Using Dreamweaver CS6

Financial. AngularJS. AngularJS. Download Full Version :

Front End. Presentation Layer. UI (User Interface) User <==> Data access layer

Professional Course in Web Designing & Development 5-6 Months

Dreamweaver CS4. Introduction. References :

Full Stack Web Developer

Presented by. Dheepa Iyer Managing Consultant. Commissioned for. Reston SharePoint User Group. SharePoint Framework. May 2017

Joomla! extension JSN EasySlider User Manual

Full Stack Web Developer

Introduction to Sencha Ext JS

HTML5 Applications Made Easy on Tizen IVI. Brian Jones / Jimmy Huang

Sitecore Experience Accelerator 1.1 Rev: September 13, Sitecore Experience Accelerator 1.1

Foundation of Web Goal 4: Proficiency in Adobe Dreamweaver CC

Interview Question & Answers

Arjen de Blok. Senior Technical Consultant bij ICT Groep ( sinds 1995 Programmeren sinds 1990 Technologiën. Links

Create a Web Page with Spry Navigation Bar. March 30, 2010

Design Importer User Guide

COMS 359: Interactive Media

Manual Html A Href Javascript Window Open In Same

Interactive XML Visualization - using XSLT 2.0 on the Browser. Phil Fearon - Saxonica

Unit 3 - Week 2 lectures: Building your webapp

Transcription:

Advanced Angular & Angular 6 Preview Bibhas Bhattacharya

Agenda Lazy loading modules Using Bootstrap with Angular Publish/subscribe with the RxJS Subject API What's new in Angular 6

Lazy Loading Modules

Eager Loading Modules By default code and assets of all feature modules are loaded by the browser when the application is first accessed Imports Catalog Module App Module Checkout Module Account Module @NgModule({ imports: [ CatalogModule, CheckoutModule, AccountModule ],... }) export class AppModule{}

Lazy Loading Modules Code and assets of a lazy loaded module is asynchronously loaded by the browser when user navigates to a component in that module Imports Catalog Module App Module Checkout Module Links Account Module @NgModule({ imports: [ CatalogModule ],... }) export class AppModule{}

Linking to a Module The route table of the application needs to link to the lazy loaded modules const routes: Routes = [ {path: "browse", component: CatalogComponent}, {path: "checkout", loadchildren:"app/checkout/checkout.module#checkoutmodule"}, {path: "account", loadchildren:"app/account/account.module#accountmodule"} ] @NgModule({...}) export class AppRoutingModule{}

Navigating to a Component A hyperlink to a component in a lazy loaded module needs to start with the path to that module <a href [routerlink]="['/browse']">view Products</a> <a href [routerlink]="['/checkout/shipping']">shipping</a> <a href [routerlink]="['/checkout/billing']">billing</a> <a href [routerlink]="['/account/orders']">past Orders</a> <a href [routerlink]="['/account/address']">address Book</a> Module path

Publish Subscribe

Inter-Component Communication All communication between sibling components must be routed via the parent. This becomes complicated when many sibling components need to communicate with each other Parent Component A @Output @Input @Input Child A Child B Child C B C

RxJs Subject API Pub/sub can simplify complex inter-component communication rxjs/subject subject.next("hello") subject.subscribe() Child A Child B Child C

Bootstrap Toolkit

Using Bootstrap Bootstrap is available from two NPM packages: bootstrap - Gives us the CSS for layout and styling @ng-bootstrap/ng-bootstrap - Gives us the Angular version of the Bootstrap widgets like tooltip and pagination Install what you need: npm install bootstrap --save npm install @ng-bootstrap/ng-bootstrap --save

Bootstrap CSS Add this to your application's styles.css: @import '~bootstrap/dist/css/bootstrap.min.css'; This will inline the entire Bootstrap CSS in a <style> tag in index.html. Inlining makes the page load and render faster. Alternatively, get the CSS from a CDN. Add this to index.html. (no need to install the bootstrap NPM package). <link rel="stylesheet" href="https://.../bootstrap.min.css">

Example Layout In app.component.html: <div class="container"> <div class="row"> <div class="col-md-2"></div> <div class="col-md-8"> <router-outlet></router-outlet> </div> <div class="col-md-2"></div> </div> </div>

Using Bootstrap Widgets Widgets are implemented as Angular directives or components in the NgbModule module. Import it in your application import {NgbModule} from '@ng-bootstrap/ng-bootstrap'; @NgModule({ imports: [ NgbModule.forRoot() ],... }) export class AppModule{}

Example Widget This will show a tooltip for a button: <button (click)="..." placement="top" ngbtooltip="delete this comment">delete</button>

Bootstrap Alternatives Bulma provides a responsive layout framework that solely uses a browser's CSS Flexbox layout engine. [bulma.io]. Clarity like Bootstrap provides layout and Angular widgets. [vmware.github.io/clarity] Angular Material provides widgets that comply with the Material design language. [material.angular.io]. Angular Material does not have a layout framework. Use either Bootstrap or Bulma for responsive layout.

What's new in Angular 6?

CLI Changes ng update can update all your dependencies. Example: migrate from Angular 5 to 6 ng add can add new features to an existing app. Like add Angular Material, Bootstrap and Clarity Design System Allow third parties to add new code generation support via schematics.

New Build System - Bazel + Closure + Ivy ng build will now use Bazel and Closure. You can still choose to use Webpack if you wish. Ivy renderer will compile templates into JS. The result is smaller build size and better optimized code. Also faster builds

Angular Elements Web Components is an emerging W3C standard for building reusable GUI widgets and business logic components for the web. [www.webcomponents.org] Angular Elements lets you package an Angular component as a Web Component. A benefit of this is that you can then use the Angular component inside other frameworks like React, Vue, jquery and Polymer.

Angular 6 Education WA2725 Comprehensive Angular 6 Programming [https://www.webagesolutions.com/courses/wa2725] Added new chapters on advanced directive development, material and bootstrap toolkit.

Questions & Answers