Build Angular 2 Apps in Drupal 8. An Introduction to Angular 2 and integration with Drupal 8

Similar documents
MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER

Building Cross Platform Mobile Apps Dev Tools, MBaaS, Architecture, APIs

Kentico CMS 5 Developer Training Syllabus

Developing ASP.NET MVC 4 Web Applications MOC 20486

This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications.

Paul Boisvert. Director Product Management, Magento

Building native mobile apps for Digital Factory

Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led

Developing ASP.NET MVC 4 Web Applications

Drupal CMS for marketing sites

50 shades of Siebel mobile

Developing Exceptional Mobile and Multi-Channel Applications using IBM Web Experience Factory

VMware End User Computing Horizon Suite

Web Applications: Overview and Architecture

Drupal and ArcGIS Yes, it can be done. Frank McLean Developer

Petroleum Web Applications to Support your Business. David Jacob & Vanessa Ramirez Esri Natural Resources Team

ArcGIS 10.1 Web Apps and APIs. John Hasthorpe & Kai Hübner

JavaFX Session Agenda

Client Overview. Engagement Situation

Uniface Road Map and Product Update Michael Taylor Product Manager

Mobile development with Apache OFBiz. Ean Schuessler, Brainfood

SaaS-Based Employee Benefits Enrollment System

Esri GIS Mobile Solutions. John Sharrard

MS-55052: SharePoint 2013 End User Level II

POINT-TO-POINT vs. MEAP THE RIGHT APPROACH FOR AN INTEGRATED MOBILITY SOLUTION

SwiftScale: Technical Approach Document

Dev01: Kentico CMS 7 Developer Essentials Syllabus

Mobile Performance: for excellent User Experience

WEB, HYBRID, NATIVE EXPLAINED CRAIG ISAKSON. June 2013 MOBILE ENGINEERING LEAD / SOFTWARE ENGINEER

ArcGIS Web Mapping. Sam Berg, esri

WHAT'S NEW IN SHAREPOINT 2013 WEB CONTENT MANAGEMENT

DRUPAL Web Content Management (WCM) Cloud Solution. RFP Q&A Session Jan. 21, 2015

About Blue Sky Sessions

White Paper On. Single Page Application. Presented by: Yatin Patel

Bricks Architecture Technical Whitepaper

Mobilize workforce using Fiori apps: Graybar Story

IBM Digital Experience. Using Modern Web Development Tools and Technology with IBM Digital Experience

Developing Exceptional Mobile and Multi-Channel Applications using IBM Web Experience Factory IBM Corporation 1

Platform Architecture & Integration with OpenShift

Open Source Content Management System for content development: a comparative study

SOA REFERENCE ARCHITECTURE: WEB TIER

JTouch Mobile Extension for Joomla! User Guide

MOZU APP CERTIFICATION FOR THIRD-PARTY DEVELOPMENT. Certification Guide Mozu

The truth about Drupal

Elle Décor Lookbook ipad Application

ORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET

Big Data Visualization with JReport

What s New in IBM Web Experience Factory IBM Corporation

Developing multidevice-apps using Apache Cordova and HTML5. Guadalajara Java User Group Guillermo Muñoz Java Developer

HTML5 & Digital Signage

Acquia Introduction December 9th, 2009

ECG-1615A. How to Integrate IBM Enterprise Content Management Solutions With Microsoft SharePoint and IBM Connections. elinar.com

MarkLogic Server. Reference Application Architecture Guide. MarkLogic 8 February, Copyright 2015 MarkLogic Corporation. All rights reserved.

WebCenter User experience. John

MASTER DRUPAL 7 MODULE DEVELOPMENT

WompMobile Technical FAQ

2311A: Advanced Web Application Development using Microsoft ASP.NET Course 2311A Three days Instructor-led

Republic Polytechnic School of Infocomm C308 Web Framework. Module Curriculum

Programming in C# with Microsoft Visual Studio 2010

ebay : How is it a hit

Elgg 1.8 Social Networking

Knowledge Spaces. v9.1 Feature Review. Bob Peery, Director, Product Management

Scott Moore, Esri April 4, Intermountain, Great Falls, MT

OneDrive for Business from Desktop or Laptop Windows devices

Build Your Knowledge!

Invited Expert on XForms and HTML Working Group

design coding monitoring deployment Java Web Framework for the Efficient Development of Enterprise Web Applications

ORACLE ADF MOBILE DATA SHEET

Coding for Desktop and Mobile with HTML5 and Java EE 7

MicroStrategy Course Catalog

Middleware- Driven Mobile Applications

Information Systems Analysis and Design CSC John Mylopoulos. Software Architectures Information Systems Analysis and Design CSC340

Application Express Web Application Development

CTC What's New?

Rich Media & HD Video Streaming Integration with Brightcove

Mobile App Infrastructure for Cross-Platform Deployment (N11-38)

What makes us different?

Define. Design. Deliver. Dipesh Mukerji Sr. Director of Product Marke;ng

Optimizing your E-Business Suite for Mobile and Tablet

Responsive Web Design in Application Express

Statement of Direction

Developing Offline Web Application

VMware ThinApp Application Virtualization Made Simple

An introduction to creating JSF applications in Rational Application Developer Version 8.0

Kentico Site Delivery Checklist v1.1

Bimodal IT. PaaS and Containers, what are they all about? By Rhys Sharp Chief Technology Officer. August 2015

Updating your Network Infrastructure Technology Skills to Windows Server 2008

Lecture 4 Cross-Platform Development. <lecturer, date>


About Me. Cross-platform Mobile Development Challenges, Best Practices and more.

Continuous Integration and Delivery. manage development build deploy / release

Customize Mobile Apps with MicroStrategy SDK: Custom Security, Plugins, and Extensions

Building and Deploying Web Applications

Progressive Enhancement With GQuery and GWT. Ray Cromwell

Website Performance: Kyle Simpson

J j enterpririse. Oracle Application Express 3. Develop Native Oracle database-centric web applications quickly and easily with Oracle APEX

Advanced Web Application Development using Microsoft ASP.NET

Debugging Mobile Apps

Accelerating Wordpress for Pagerank and Profit

PEGA MOBILITY A PEGA PLATFORM WHITEPAPER

Transcription:

Build Angular 2 Apps in Drupal 8 An Introduction to Angular 2 and integration with Drupal 8

Part A Why Angular?

Why JS Framework Devices Faster UX More capable browsers Faster Build Native Experience

Criteria Composable Architecture Performant Portable Smooth UX Rapid Building Maintainable

Composable Architecture Everything is a component. Component is composed of TS File - Business Logic HTML File - Templates CSS File - Styles Complex components created using composition. Data flows Down Events flow up.

Performance http://www.stefankrause.net

Portable Render module separated from core. Can be rendered to Web Workers Mobile Native UIs Desktop environment Test runners Rendering abstracted from application code.

Rapid Building Code Generation Angular CLI Reusable Components

Demo Demo of CLI for application structure and component generation.

Part B Integration with Angular

Strategies Headless Drupal Progressive DeCoupled Routing

Headless Drupal Drupal Data Store REST APIs Caching Auth Angular Routing SEO Caching

Progressive Decoupled Thin Angular Layer Widget based sites Angular Apps loaded as widgets Decoupled Blocks module Thick Angular Layer Includes Routing User Theme Layer to integrate Best of both worlds

Architecture Block Diagram Responsibilities

Page Architecture

Create, Manage Content Migration Caching Routing Hosting REST API Users / Auth SEO Data Layout Caching Template Routing Pagination CSS Lazy Load Services Component DRUPAL 8 ANGULAR 2

Data Flow

DEMO Angular Code Structure Integration with Theme

Introduction to Angular Essential Angular Components Services Templates Routing Shadow Dom

Component Everything is a component Key Parts of a Component Templates Styles Providers <todo - insert code snippets >

Services Horizontal Tier Services All Components <Insert Code Snippet>

Routing Routes Route Configurations Routing between Components Routing <Insert Code Snippet>

Performance Considerations 100 ms Speed Caching Lazy Loading

~100 ms Page Load Time

Speed 100ms - users perceive as instantaneous. 10x~20x reduction of speed required First Page might not improve without Angular Universal support.

Strategies Template Cache Cached Angular templates would increase rendering speed Lazy Loading Modules to be lazy loaded with Angular. Decreases size Initial page load slower.

Build Separation of Concerns Re-use Styling View Encapsulation Build Locally Code Generation

Separation of Concerns Views provide data. Angular Templates render. Advantages Views cloned - minimal change between sites. Templates - would closely match markup required for site. Easy to modify and reuse.

Re-use Design once, use anywhere. Photos Module Photo Landing Photo Category Home Photo Different data, but same layout. Plug different data from rest API.

Local Build Build in the dev machine Browser Sync Faster Build Time Linting / Testing Component based work division

Styling Shadow DOM CSS applied to only the block. Re-use components CSS. Ease of styling - overrides not required.

Code Generation Tools like Angular CLI to generate code. Leaner code. Easy to maintain. Pre Built Components

Issues Dynamic Component Loading Redundant Config Authenticated Pages

Redundant Config Need to configure at two places. Ex: - Routes, creation of a new page.

Dynamic Component Loading Drupal Content - Component Integration Dynamically rearrange components

Authenticated Pages Approach - to fall back on drupal for authenticated pages like login. Cons - Might have to theme it at two difference place. The CSS would be present in two different files.

Part C Advanced Angular

Progressive Web Apps Store application in browser Faster Response Times Load only what is required. Service Workers Offline Capabilities Angular CLI Auto generate manifest Support Safari not supported yet!

Angular Universal Server Rendered Pages Faster Initial Load Prebootjs Records state Playback of events