APACHE SLING & FRIENDS TECH MEETUP SEPTEMBER Integrating a Modern Frontend Setup with AEM Natalia Venditto, Netcentric

Size: px
Start display at page:

Download "APACHE SLING & FRIENDS TECH MEETUP SEPTEMBER Integrating a Modern Frontend Setup with AEM Natalia Venditto, Netcentric"

Transcription

1 APACHE SLING & FRIENDS TECH MEETUP SEPTEMBER 2018 Integrating a Modern Frontend Setup with AEM Natalia Venditto, Netcentric

2 A modern frontend setup 2

3 How do we understand a modern setup? A modern setup...does not necessarily include the latest tool in the market it's standard enough that it can be easily maintained does not force everyone in the team to a high knowledge ramp up investment it implements industry (current) best practices...requires a strategy 3

4 / unsplash.com Defining a frontend strategy! 4

5 The `What?` and `How?` questions questions for your client HOW do we achieve? questions for your team / unsplash.com WHAT? browser support, performance reqs, http protocol (ie: http/2), accessibility, analytics, testing strategy, more productivity? 5

6 The `Which?` questions Which JS ECMAScript Spec Frameworks State Manag. 3rd party/apis Which CSS Which Build Tools/ Setup Which AEM features? Which Preprocessor? (SASS, LESS, PostCSS) Bundlers Task Runners Linters/Coverage Loaders/Plugins What version of AEM? What new features? Clientlibs strategy 6

7 The win/win results matrix increased performance (author + end user experience/roi, etc) enhanced productivity/flexibility (code quality, testability, maintenance, scalability) guaranteed innovation/creativity (browser feature support, accessibility) 7

8 Study case: directory structure 8

9 Directory structure. ~ -- [PROJECT-ID]-3rd-party/ -- [PROJECT-ID]-complete-package/ -- [PROJECT-ID]-components/[PROJECT-ID]-components-package/ -- src/main/jcr_root/apps/[project-id]/ -- commons/ -- components/ -- component1/ -- component2/ -- // as many components -- pages/ -- [PROJECT-ID]-configuration/ -- [PROJECT-ID]-demo-content/.pom.xml 9

10 Directory structure <?xml version="1.0" encoding="utf-8"?> <jcr:root xmlns:cq=" xmlns:jcr=" jcr:primarytype="cq:clientlibraryfolder" categories="[project-id.publish.component1 ]" jsprocessor= [min:gcc;obfuscate=true] cssprocessor= [min:gcc] /> -- components/component1/ -- clientlibs/ -- author/ -- publish/ --.content.xml -- component1.publish.entry.js -- component1.publish.entry.scss -- css.txt -- js.txt --.content.xml -- component1.html 10

11 Study case: tools and configuration 11

12 Tools and configuration 12

13 Tools and configuration File System Loaders Plugins Output configure webpack to configure webpack to read configure webpack to traverse our component files according to output files in designated folders, collect loaders, and perform targets, so that we are able [name-of-component].entry.js additional operations to minify them, [name-of-component].entry.scss files (webpack allows us to configure entry points per path or other params) (transpilation, tree-shaking and DCE, etc) aggregate them and compress them (in AEM with gcc) 13

14 Setup Tools nvm install --lts cd [PROJECT-ID]-components/[PROJECT-ID]-components-package mkdir frontend cd frontend npm init y // generates package.json npm install webpack - save-dev // maintain as dev dependency //successive installations npm install modulename --save --save-dev 14

15 Setup Tools test: /\.css$/, Transpiling Transpiling of ES (to JS ES5) of CSS pre processed code Linting Browser Support 15

16 Setup configuration. ~ -- [PROJECT-ID]-components/[PROJECT-ID]-components-package/ -- frontend/ last 2 version --.browserslistrc > 1% --.eslintignore maintained node versions --.eslintcache not dead --.eslintrc --.stylelintcache --.stylintrc --.gitignore --.npmrc -- package.json.pom.xml 16

17 Setup Tools test: /\.css$/, Transpiling Transpiling of ES (to JS ES5) of CSS pre processed code Linting Browser Support Minification Aggregation of JS and CSS 17

18 Directory structure <?xml version="1.0" encoding="utf-8"?> <jcr:root xmlns:cq=" xmlns:jcr=" jcr:primarytype="cq:clientlibraryfolder" categories="[project-id.publish.component1 ]" jsprocessor= [min:gcc;obfuscate=true] cssprocessor= min:gcc] /> -- components/component1/ -- clientlibs/ -- author/ -- publish/ --.content.xml -- component1.publish.entry.js -- component1.publish.entry.scss -- css.txt -- js.txt --.content.xml -- component1.html 18

19 Setup configuration. ~ -- [PROJECT-ID]-3rd-party/ -- [PROJECT-ID]-complete-package/ -- [PROJECT-ID]-components/[PROJECT-ID]-components-package/ -- frontend/ -- build/config/ -- webpack.config.dev.js -- webpack.config.prod.js -- whatever other configs (ie: unit testing, e2e...) -- package.json -- [PROJECT-ID]-configuration/ -- [PROJECT-ID]-demo-content/.pom.xml 19

20 Setup configuration for our frontend code build, we will favor webpack 4 optimized "mode" configuration, over OSGI environment definition, in order to leverage Webpacks caching and performance 20

21 Setup configuration 21

22 Setup configuration may need to update this (default) config for SplitChunkPlugin 22

23 Setup configuration edit the corresponding POM.xml, to make use of the frontend plugin for maven* -> n-plugin?repo=redhat-ga 23

24 Maven frontend plugin 24

25 Syncing with AEM webpack --watch 25

26 Setup configuration -- components/component1/ -- clientlibs/ -- author/ --.content.xml -- component1.author.entry.js -- component1.author.scss -- css.txt -- js.txt -- component1_dialog.js -- publish/ -- _cq_dialog/ --.content.xml -- component1.html 26

27 Setup configuration. ~ -- [PROJECT-ID]-components/[PROJECT-ID]-components-package/ -- frontend/ --.browserslistrc --.eslintignore *.bundle.js --.eslintcache node_modules --.eslintrc *_dialog.js --.stylelintcache build/shared/variabl --.stylintrc es/*.js --.gitignore node/* --.npmrc build/config -- package.json.pom.xml gulpfile.js 27

28 Study case: shipping the code (to the browser) 28

29 Loading styles via Content Policies 29

30 Loading techniques 30

31 Loading: Templating (Sightly, Handlebars...) -- components/component1/ -- clientlibs/ -- author/ -- publish/ -- additional-styles/ <!--/* component1.author */--> <sly data-sly-test="${wcmmode.edit}" data-sly-use.clientlib="${'/libs/granite/sightly/tem plates/clientlib.html'}" categories='[project-id].component1.author'}" />.content.xml component1.add-styles.entry.js component1.add-styles.scss <!--/* component1.publish */--> <sly css.txt data-sly-use.clientlib="${'/libs/granite/sightly/tem plates/clientlib.html'}" js.txt --.content.xml -- component1.html categories='[project-id].component1.publish'}" /> 31

32 Script loading attributes <script src="myproject.component1.js" defer></script> <script src="myproject.component1.js" async></script> <script src="myproject.component1.js" preload></script> <script... 32

33 Lazy Loading 33

34 Inline load + Lazy Loading strategy hero area/above the fold lazy loaded chunks (and resources, such as images) 34

35 Intersection Observers API // test for browser support if (!'IntersectionObserver' in window &&!'IntersectionObserverEntry' in window &&!'intersectionratio' in window.intersectionobserverentry.prototype) { // load polyfill now } 35

36 LazyLoading and SEO SSR (server side rendering techniques) Content Fragments Experience Fragments 36

37 Demo Time (added backup) 37

38 Loading styles via Content Policies 38

39 Loading styles via Content Policies 39

40 Loading styles via Content Policies clientlibs="some.c ategory" 40

41 Thank you! 41

Extensible Components with Sling Models and HTL

Extensible Components with Sling Models and HTL APACHE SLING & FRIENDS TECH MEETUP BERLIN, 25-27 SEPTEMBER 2017 Extensible Components with Sling Models and HTL Vlad Băilescu & Burkhard Pauli, Adobe About us: ref-squad 2 Agenda WCM Components in AEM

More information

Making Sling Grunt Or How to Integrate Modern Front-End Development with Sling. Philip Hornig (Publicis Pixelpark), Michael Sunaric (Netcentric)

Making Sling Grunt Or How to Integrate Modern Front-End Development with Sling. Philip Hornig (Publicis Pixelpark), Michael Sunaric (Netcentric) APACHE SLING & FRIENDS TECH MEETUP BERLIN, 28-30 SEPTEMBER 2015 Making Sling Grunt Or How to Integrate Modern Front-End Development with Sling Philip Hornig (Publicis Pixelpark), Michael Sunaric (Netcentric)

More information

Web Development for Dinosaurs An Introduction to Modern Web Development

Web Development for Dinosaurs An Introduction to Modern Web Development Web Development for Dinosaurs An Introduction to Modern Web Development 1 / 53 Who Am I? John Cleaver Development Team Lead at Factivity, Inc. An Introduction to Modern Web Development - PUG Challenge

More information

Webpack. What is Webpack? APPENDIX A. n n n

Webpack. What is Webpack? APPENDIX A. n n n APPENDIX A n n n Webpack Although Webpack is used throughout the book, the primary focus of the book is on React, so Webpack didn t get a comprehensive treatment. In this Appendix, you will have the chance

More information

Introduction to Using NPM scripts as a Build Tool. 1. 1

Introduction to Using NPM scripts as a Build Tool. 1. 1 Introduction to Using NPM scripts as a Build Tool. @kjy2143 / SK planet 1. 1 1. 2 1. 3 1. 4 Front End Developer in Past 2. 1 2. 2 Front End Developer in 2016 3. 1 3. 2 2016/2017 MUST-KNOW WEB DEVELOPMENT

More information

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

Arjen de Blok. Senior Technical Consultant bij ICT Groep (  sinds 1995 Programmeren sinds 1990 Technologiën. Links Arjen de Blok Senior Technical Consultant bij ICT Groep (www.ict.eu) sinds 1995 Programmeren sinds 1990 Technologiën Links Visual C++ met Microsoft Foundation Classes.NET WinForms & WPF Silverlight ASP.NET

More information

Webpack 2 The last bundler you would need in Vijay Dharap, Principal Architect, Infosys

Webpack 2 The last bundler you would need in Vijay Dharap, Principal Architect, Infosys Webpack 2 The last bundler you would need in 2017 Vijay Dharap, Principal Architect, Infosys Speaker Bio 14+ Years of experience Principal Architect in Infosys Passionate about delightful UX Open Source

More information

Lab 6: Testing. Software Studio DataLab, CS, NTHU

Lab 6: Testing. Software Studio DataLab, CS, NTHU Lab 6: Testing Software Studio DataLab, CS, NTHU Notice This lab is about software development good practices Interesting for those who like software development and want to go deeper Good to optimize

More information

AEM React. History. 1 Introduction. AEM components written in React. Why React and AEM? Features. Projects. date author message changed chapters

AEM React. History. 1 Introduction. AEM components written in React. Why React and AEM? Features. Projects. date author message changed chapters AEM React AEM components written in React History date author message changed chapters 21.3.17 stefan meyer fixed typescript source code in documentation /Getting Started/First component /Development Guide/ResourceComponent

More information

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

RequireJS Javascript Modules for the Browser. By Ben Keith Quoin, Inc. RequireJS Javascript Modules for the Browser By Ben Keith Quoin, Inc. Traditional Browser JS One global namespace Often inline JS code embedded directly in HTML Many tags with hidden ordering

More information

Web Performance in

Web Performance in Web Performance in 2017 with @bighappyface Big thanks to DrupalCon Team Big thanks to you (it s almost a wrap) Please note This session assumes familiarity. I am speaking as if folks are already into this

More information

Modern frontend workflows in Liferay Portal and Liferay DXP. Iván Zaera Avellon, Liferay Chema Balsas, Liferay Pier Paolo Ramon, SMC

Modern frontend workflows in Liferay Portal and Liferay DXP. Iván Zaera Avellon, Liferay Chema Balsas, Liferay Pier Paolo Ramon, SMC Modern frontend workflows in Liferay Portal and Liferay DXP Iván Zaera Avellon, Liferay Chema Balsas, Liferay Pier Paolo Ramon, SMC https://www.youtube.com/watch?v=zcdwd4scz6i https://www.youtube.com/watch?v=8zfvppif-sm

More information

Full Stack boot camp

Full Stack boot camp Name Full Stack boot camp Duration (Hours) JavaScript Programming 56 Git 8 Front End Development Basics 24 Typescript 8 React Basics 40 E2E Testing 8 Build & Setup 8 Advanced JavaScript 48 NodeJS 24 Building

More information

Brunch Documentation. Release Brunch team

Brunch Documentation. Release Brunch team Brunch Documentation Release 1.2.2 Brunch team June 22, 2012 CONTENTS i ii Contents: CONTENTS 1 2 CONTENTS CHAPTER ONE FAQ 1.1 I want to start new project with Brunch. What s the workflow? Create new

More information

DrupalCon Barcelona Preston So September 22, 2015

DrupalCon Barcelona Preston So September 22, 2015 DrupalCon Barcelona 2015 Preston So September 22, 2015 Preston So (@prestonso) has designed websites since 2001 and built them in Drupal since 2007. He is Development Manager of Acquia Labs at Acquia and

More information

Chapter 1 - Development Setup of Angular

Chapter 1 - Development Setup of Angular Chapter 1 - Development Setup of Angular Objectives Key objectives of this chapter Angular Files and Dependencies Node.js Node package manager (npm) package.json Semantic version numbers Installing Angular

More information

MOdern Java(Script) Server Stack

MOdern Java(Script) Server Stack MOdern Java(Script) Server Stack Pratik Patel Pratik Patel CTO Triplingo JAVA CHAMPION PRESIDENT ATLANTA JUG POLYGLOT apple mac vintage 5" screen TURTLE MY FIRST PROGRAM TURING MY FIRST REAL PROGRAM JAVASCRIPT

More information

Build Powerful FrontEnd Workflows with PostCSS. Guide to writing/generating cutting edge CSS

Build Powerful FrontEnd Workflows with PostCSS. Guide to writing/generating cutting edge CSS Build Powerful FrontEnd Workflows with PostCSS Guide to writing/generating cutting edge CSS Key TakeAways PostCSS - Deep Dive plugins you can use custom plugins Workflow Essential Concepts Plugins to help

More information

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

Angular 4 Syllabus. Module 1: Introduction. Module 2: AngularJS to Angular 4. Module 3: Introduction to Typescript Angular 4 Syllabus Module 1: Introduction Course Objectives Course Outline What is Angular Why use Angular Module 2: AngularJS to Angular 4 What s Changed Semantic Versioning Module 3: Introduction to

More information

Getting started with Tabris.js Tutorial Ebook

Getting started with Tabris.js Tutorial Ebook Getting started with Tabris.js 2.3.0 Tutorial Ebook Table of contents Introduction...3 1 Get started...4 2 Tabris.js in action...5 2.1 Try the examples...5 2.2 Play with the examples...7 2.3 Write your

More information

webpack bundle inner structure and optimization Alexey Ivanov, Evil Martians

webpack bundle inner structure and optimization Alexey Ivanov, Evil Martians webpack bundle inner structure and optimization Alexey Ivanov, Evil Martians Evil Martians Evil Martians What I'm working on Problems Multiple versions of lodash or underscore. Problems Multiple versions

More information

Introduction to Sencha Ext JS

Introduction to Sencha Ext JS Introduction to Sencha Ext JS Olga Petrova olga@sencha.com Sales Engineer EMEA Agenda Use Case How It Works Advantages Demo Use case Ext JS a Javascript framework for building enterprise data-intensive

More information

The Why And How of Front-End Architecture. Feel the rhythm, feel the rhyme, get on up, it s front-end time

The Why And How of Front-End Architecture. Feel the rhythm, feel the rhyme, get on up, it s front-end time The Why And How of Front-End Architecture Feel the rhythm, feel the rhyme, get on up, it s front-end time Who are you people anyway? Wes Ruvalcaba @wesruv Carwin Young @carwin Sally Young @justafish Strategy,

More information

Your essential APEX companion. Marko apexbyg.blogspot.com

Your essential APEX companion. Marko apexbyg.blogspot.com Your essential APEX companion Marko Gorički @mgoricki apexbyg.blogspot.com About Me 10 years of experience with APEX presenter at HROUG, SIOUG, APEX World, KSCOPE, APEX Alpe Adria, APEX Connect apex.world

More information

Getting Started with ReactJS

Getting Started with ReactJS Getting Started with ReactJS By Juned Laliwala About this ReactJS e-book. Basic Understanding of ReactJS Concept of JSX Use of Refs and Keys Practical Demonstrations Animation in ReactJS @2016 Attune World

More information

Cisco Spark Widgets Technical drill down

Cisco Spark Widgets Technical drill down DEVNET-1891 Cisco Spark Widgets Technical drill down Adam Weeks, Engineer @CiscoSparkDev Stève Sfartz, API Evangelist @CiscoDevNet Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker

More information

django-baton Documentation

django-baton Documentation django-baton Documentation Release 1.0.7 abidibo Nov 13, 2017 Contents 1 Features 3 2 Getting started 5 2.1 Installation................................................ 5 2.2 Configuration...............................................

More information

Create your own Carbon Component. Sameera Jayasoma Technical Lead and Product Manager of WSO2 Carbon

Create your own Carbon Component. Sameera Jayasoma Technical Lead and Product Manager of WSO2 Carbon Create your own Carbon Component Sameera Jayasoma Technical Lead and Product Manager of WSO2 Carbon sameera@wso2.com WSO2 Founded in 2005 by acknowledged leaders in XML, Web Services Technologies & Standards

More information

Bootstrapping website development with Sling Models and HTL using Core Components Vlad Băilescu*, Burkhard Pauli, Richard Hand, Radu Cotescu

Bootstrapping website development with Sling Models and HTL using Core Components Vlad Băilescu*, Burkhard Pauli, Richard Hand, Radu Cotescu APACHE SLING & FRIENDS TECH MEETUP 10-12 SEPTEMBER 2018 Bootstrapping website development with Sling Models and HTL using Core Components Vlad Băilescu*, Burkhard Pauli, Richard Hand, Radu Cotescu WHAT

More information

This tutorial has been prepared for beginners to help them understand the basic functionalities of Gulp.

This tutorial has been prepared for beginners to help them understand the basic functionalities of Gulp. About the Tutorial Gulp is a task runner that uses Node.js as a platform. It purely uses the JavaScript code and helps to run front-end tasks and large-scale web applications. Gulp builds system automated

More information

Web Applications. Software Engineering 2017 Alessio Gambi - Saarland University

Web Applications. Software Engineering 2017 Alessio Gambi - Saarland University Web Applications Software Engineering 2017 Alessio Gambi - Saarland University Based on the work of Cesare Pautasso, Christoph Dorn, Andrea Arcuri, and others ReCap Software Architecture A software system

More information

LeanJS Documentation. Release Romain Dorgueil

LeanJS Documentation. Release Romain Dorgueil LeanJS Documentation Release 1.0.0 Romain Dorgueil December 26, 2016 Contents 1 Goals 3 2 Quick start 5 3 Documentation 7 3.1 LeanJS.................................................. 7 3.2 Getting started..............................................

More information

ReactJS and Webpack for Rails

ReactJS and Webpack for Rails Modern Web Conf 2015 ReactJS and Webpack for Rails Tse-Ching Ho 2015-05-16 @tsechingho 何澤清 紅寶 石商 人 Rubiest 鐵道 工 人 Rails worker 黃碼科技創辦 人 Goldenio founder 生物資訊 Bioinformatics 資料視覺化 Infographics Javascript

More information

APACHE SLING & FRIENDS TECH MEETUP BERLIN, SEPTEMBER Dynamic Components using SPA Concepts Andon Sikavica, Bojana Popovska

APACHE SLING & FRIENDS TECH MEETUP BERLIN, SEPTEMBER Dynamic Components using SPA Concepts Andon Sikavica, Bojana Popovska APACHE SLING & FRIENDS TECH MEETUP BERLIN, 22-24 SEPTEMBER 2014 Dynamic Components using SPA Concepts Andon Sikavica, Bojana Popovska Dynamic Components adaptto() 2014 2 Dynamic vs Static Components Count

More information

Extending Blue Ocean Keith Zantow

Extending Blue Ocean Keith Zantow Extending Blue Ocean Keith Zantow About Keith Senior Software Engineer at CloudBees, Inc. Jenkins & Blue Ocean core contributor 15+ years full-stack development Github: kzantow Intended Audience Development

More information

How to build ez Platform websites using Netgen opensource components

How to build ez Platform websites using Netgen opensource components How to build ez Platform websites using Netgen opensource components part two Intro what is Netgen Media Site? skeleton base for projects @Netgen since 2014 from simple sites to sites with tens of millions

More information

django-baton Documentation

django-baton Documentation django-baton Documentation Release 1.3.1 abidibo Nov 05, 2018 Contents 1 Features 3 2 Getting started 5 2.1 Installation................................................ 5 2.2 Configuration...............................................

More information

gettext.js Documentation

gettext.js Documentation gettext.js Documentation Release 1.0 Jonas Obrist Jan 26, 2018 Contents 1 Installation 3 1.1 Installation................................................ 3 2 Usage 5 2.1 Workflow.................................................

More information

55249: Developing with the SharePoint Framework Duration: 05 days

55249: Developing with the SharePoint Framework Duration: 05 days Let s Reach For Excellence! TAN DUC INFORMATION TECHNOLOGY SCHOOL JSC Address: 103 Pasteur, Dist.1, HCMC Tel: 08 38245819; 38239761 Email: traincert@tdt-tanduc.com Website: www.tdt-tanduc.com; www.tanducits.com

More information

The tool is installed to the folder where Ruby executable file and the gem.bat file are stored. gem install compass

The tool is installed to the folder where Ruby executable file and the gem.bat file are stored. gem install compass Working with SASS and SCSS in Compass Projects IntelliJ IDEA supports development in projects structured in compliance with the Compass framework. This framework uses SASS and SCSS extensions of CSS. On

More information

Catbook Workshop: Intro to NodeJS. Monde Duinkharjav

Catbook Workshop: Intro to NodeJS. Monde Duinkharjav Catbook Workshop: Intro to NodeJS Monde Duinkharjav What is NodeJS? NodeJS is... A Javascript RUNTIME ENGINE NOT a framework NOT Javascript nor a JS package It is a method for running your code in Javascript.

More information

Tools. SWE 432, Fall Design and Implementation of Software for the Web

Tools. SWE 432, Fall Design and Implementation of Software for the Web Tools SWE 432, Fall 2016 Design and Implementation of Software for the Web Today Before we can really make anything, there s a bunch of technical stuff to get out of the way Tools make our lives so much

More information

Salvatore Rinzivillo VISUAL ANALYTICS

Salvatore Rinzivillo VISUAL ANALYTICS Salvatore Rinzivillo VISUAL ANALYTICS Announcment No lesson on March 5th We will meet on March 6th from 11 to 13 in Aula N1 DEVELOPMENT FRAMEWORK Objectives Setup a developing environment Install Node.js

More information

npm install [<name> [<name>...]] [--save --save-dev --save-optional]

npm install [<name> [<name>...]] [--save --save-dev --save-optional] Node Package Manager by Jesse Warden http://www.jessewarden.com v1 npm ls Everything you have installed in the current directory. npm search [search terms] Search the registry for packages matching the

More information

Writing Modular Stylesheets With CSS Modules.

Writing Modular Stylesheets With CSS Modules. Writing Modular Stylesheets With CSS Modules Why? Global Scope NASA / Apollo 17 Crew CSS is brittle https://flic.kr/p/9dwnml Lack of modularity https://flic.kr/p/9rcgca @Katie_Fenn @Katie_Fenn @Katie_Fenn

More information

Lab 1 - Introduction to Angular

Lab 1 - Introduction to Angular Lab 1 - Introduction to Angular In this lab we will build a Hello World style Angular component. The key focus is to learn how to install all the required code and use them from the browser. We wont get

More information

5th April Installation Manual. Department of Computing and Networking Software Development Degree

5th April Installation Manual. Department of Computing and Networking Software Development Degree 5th April 2017 Installation Manual Department of Computing and Networking Software Development Degree Project name: Student: Student Number: Supervisor: MaaP (Message as a Platform) Chihabeddine Ahmed

More information

Learn Gulp. Jonathan Birkholz. This book is for sale at This version was published on

Learn Gulp. Jonathan Birkholz. This book is for sale at   This version was published on Learn Gulp Jonathan Birkholz This book is for sale at http://leanpub.com/learngulp This version was published on 2015-09-02 This is a Leanpub book. Leanpub empowers authors and publishers with the Lean

More information

"Charting the Course... MOC A: Developing with the SharePoint Framework. Course Summary

Charting the Course... MOC A: Developing with the SharePoint Framework. Course Summary Course Summary Description This five-day instructor-led course is intended for developers who want to be able to create client-side applications with SharePoint Framework. In this course, students will

More information

Website Report for

Website Report for Website Report for www.jgllaw.com This report grades your website on the strength of a range of important factors such as on-page SEO optimization, off-page backlinks, social, performance, security and

More information

Angular 2 Programming

Angular 2 Programming Course Overview Angular 2 is the next iteration of the AngularJS framework. It promises better performance. It uses TypeScript programming language for type safe programming. Overall you should see better

More information

INTRODUCTION TO IONIC 2

INTRODUCTION TO IONIC 2 LECTURE 7 INTRODUCTION TO IONIC 2 DANIEL RYS JAN VÁCLAVÍK OVERVIEW Create new Ionic2 application Why Ionic2 Project structure Features 2/95 INSTALL IONIC 2 & CREATE NEW APPLICATION $ npm install -g ionic@beta

More information

Adobe Experience Manager 6 Lead Developer Adobe Certified Expert Exam Guide. Exam number: 9A0-396

Adobe Experience Manager 6 Lead Developer Adobe Certified Expert Exam Guide. Exam number: 9A0-396 Adobe Experience Manager 6 Lead Developer Adobe Certified Expert Exam Guide Exam number: 9A0-396 Revised 05 February 2018 About Adobe Certified Expert Exams To be an Adobe Certified Expert is to demonstrate

More information

Index. Elad Elrom 2016 E. Elrom, Pro MEAN Stack Development, DOI /

Index. Elad Elrom 2016 E. Elrom, Pro MEAN Stack Development, DOI / Index A Accessible Rich Internet Applications (ARIA), 101 Amazon AWS, 44 Amazon EC2, 28 Amazon s Relational Database Service (RDS), 28 Amazon Web Services (AWS) cloud, 28 Android SDK Manager, 272 Android

More information

Comprehensive AngularJS Programming (5 Days)

Comprehensive AngularJS Programming (5 Days) www.peaklearningllc.com S103 Comprehensive AngularJS Programming (5 Days) The AngularJS framework augments applications with the "model-view-controller" pattern which makes applications easier to develop

More information

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

International Research Journal of Engineering and Technology (IRJET) e-issn: Volume: 05 Issue: 05 May p-issn: IONIC FRAMEWORK Priyanka Chaudhary Student, Department of computer science, ABESIT, Ghaziabad ---------------------------------------------------------------------***---------------------------------------------------------------------

More information

Etanova Enterprise Solutions

Etanova Enterprise Solutions Etanova Enterprise Solutions Front End Development» 2018-09-23 http://www.etanova.com/technologies/front-end-development Contents HTML 5... 6 Rich Internet Applications... 6 Web Browser Hardware Acceleration...

More information

Frontend UI Training. Whats App :

Frontend UI Training. Whats App : Frontend UI Training Whats App : + 916 667 2961 trainer.subbu@gmail.com What Includes? 1. HTML 5 2. CSS 3 3. SASS 4. JavaScript 5. ES 6/7 6. jquery 7. Bootstrap 8. AJAX / JSON 9. Angular JS 1x 10. Node

More information

J, K, L. Node.js require() method, 403 package.json, 401 streams functionality, 401 task() method, 401 use strict statement, 403

J, K, L. Node.js require() method, 403 package.json, 401 streams functionality, 401 task() method, 401 use strict statement, 403 Index A Abstract factory pattern, 122 126 Adapter pattern, 137 139 Apply and call methods, 15 16 Architectural patterns MVC (see Model-View-Controller (MVC)) MVP (see Model-View-Presenter (MVP) pattern)

More information

A. Add a property called debugclientlibs to the js.txt and set the value to true.

A. Add a property called debugclientlibs to the js.txt and set the value to true. Volume: 60 Questions Question No: 1 You want to debug a CQ HTML client library in the author instance. You want to avoid compressing the JavaScript file. What must you do? A. Add a property called debugclientlibs

More information

Managing Installations and Provisioning of OSGi Applications. Carsten Ziegeler

Managing Installations and Provisioning of OSGi Applications. Carsten Ziegeler Managing Installations and Provisioning of OSGi Applications Carsten Ziegeler cziegeler@apache.org About Member of the ASF Current PMC Chair of Apache Sling Apache Sling, Felix, ACE, Portals (Incubator,

More information

APACHE SLING & FRIENDS TECH MEETUP BERLIN, SEPTEMBER Hypermedia API Tools for Sling (HApi) Andrei Dulvac, Adobe

APACHE SLING & FRIENDS TECH MEETUP BERLIN, SEPTEMBER Hypermedia API Tools for Sling (HApi) Andrei Dulvac, Adobe APACHE SLING & FRIENDS TECH MEETUP BERLIN, 28-30 SEPTEMBER 2015 Hypermedia API Tools for Sling (HApi) Andrei Dulvac, Adobe ToC HatEoAS, Hypermedia formats, and semantic data Hypermedia API tools (HApi)

More information

Website Report for facebook.com

Website Report for facebook.com Website Report for facebook.com Fife Website Design 85 Urquhart Crescent 07821731179 hello@fifewebsitedesign.co.uk www.fifewebsitedesign.co.uk This report grades your website on the strength of a range

More information

Control for CloudFlare - Installation and Preparations

Control for CloudFlare - Installation and Preparations Control for CloudFlare - Installation and Preparations Installation Backup your web directory and Magento 2 store database; Download Control for CloudFlare installation package; Copy files to /app/firebear/cloudflare/

More information

Overview of BC Learning Network SMS2 Introduction

Overview of BC Learning Network SMS2 Introduction Overview of BC Learning Network SMS2 Introduction This guide is designed to be a cumulative overview of the SMS2 web application. SMS2 is a student management system which integrates with Moodle, a learning

More information

Advance Mobile& Web Application development using Angular and Native Script

Advance Mobile& Web Application development using Angular and Native Script Advance Mobile& Web Application development using Angular and Native Script Objective:- As the popularity of Node.js continues to grow each day, it is highly likely that you will use it when you are building

More information

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

International Research Journal of Engineering and Technology (IRJET) e-issn: Volume: 05 Issue: 06 June p-issn: Polymer JavaScript Shabnam Shaikh 1, Lavina Jadhav 2 1Student, Dept. of Institute of Computer Science, MET College, Maharashtra, India 2Professor, Dept. of Institute of Computer Science, MET College, Maharashtra,

More information

Full Stack Developer with Java

Full Stack Developer with Java Full Stack Developer with Java Full Stack Developer (Java) MVC, Databases and ORMs, API Backend Frontend Fundamentals - HTML, CSS, JS Unit Testing Advanced Full Stack Developer (Java) UML, Distributed

More information

PageSpeed Insights. Eliminate render-blocking JavaScript and CSS in above-the-fold content

PageSpeed Insights. Eliminate render-blocking JavaScript and CSS in above-the-fold content PageSpeed Insights 64 / 100 Speed Should Fix: Eliminate render-blocking JavaScript and CSS in above-the-fold content Your page has 12 blocking script resources and 10 blocking CSS resources. This causes

More information

Node.js. Node.js Overview. CS144: Web Applications

Node.js. Node.js Overview. CS144: Web Applications Node.js Node.js Overview JavaScript runtime environment based on Chrome V8 JavaScript engine Allows JavaScript to run on any computer JavaScript everywhere! On browsers and servers! Intended to run directly

More information

Modern Web Application Development. Sam Hogarth

Modern Web Application Development. Sam Hogarth Modern Web Application Development Sam Hogarth Some History Early Web Applications Server-side scripting only e.g. PHP/ASP Basic client-side scripts JavaScript/JScript/VBScript Major differences in browser

More information

Welcome. Quick Introductions

Welcome. Quick Introductions AEK Introduction Welcome Quick Introductions "The AEK"? Application Extension Kit Technique for delivering cross-platform application screens via a webview A development framework that provides a responsive

More information

Modern Web Applications with Sightly

Modern Web Applications with Sightly APACHE SLING & FRIENDS TECH MEETUP BERLIN, 28-30 SEPTEMBER 2015 Modern Web Applications with Sightly @raducotescu Apache Sling committer Computer Scientist @ Adobe Systems radu@apache.org rev 2.20151005

More information

THE UPGRADE AND DESIGN OF REMOTE MONITOR AND CONTROL FOR CLIMATE CHAMBER

THE UPGRADE AND DESIGN OF REMOTE MONITOR AND CONTROL FOR CLIMATE CHAMBER NHAT DANG MIN THE UPGRADE AND DESIGN OF REMOTE MONITOR AND CONTROL FOR CLIMATE CHAMBER Thesis instructions accepted 19/02/2017 Technology and Telecommunication 2018 1 VAASA UNIVERSITY OF APPLIED SCIENCES

More information

Stencil: The Time for Vanilla Web Components has Arrived

Stencil: The Time for Vanilla Web Components has Arrived Stencil: The Time for Vanilla Web Components has Arrived Gil Fink sparxys CEO @gilfink / www.gilfink.net Typical Application Web Page Design From Design to Implementation Session List Day tabs Component

More information

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

Charting the Course... Comprehensive Angular 5. Course Summary Course Summary Description Comprehensive Angular teaches students the skills and best practices they need to design, build, test, and deploy applications that provide rich end-user experiences similar

More information

Offline-first PWA con Firebase y Vue.js

Offline-first PWA con Firebase y Vue.js Offline-first PWA con Firebase y Vue.js About me Kike Navalon, engineer Currently working at BICG playing with data You can find me at @garcianavalon 2 We live in a disconnected & battery powered world,

More information

Closure Compiler: Speeding Web Appications by Compiling JavaScript

Closure Compiler: Speeding Web Appications by Compiling JavaScript Closure Compiler: Speeding Web Appications by Compiling JavaScript Alan Leung, Software Engineer, Google Outline What is it and what does it do? More advanced usage How do I get started? Questions? Building

More information

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

React(.js) the Domino Way High-Performance Client for Domino. Knut Herrmann React(.js) the Domino Way High-Performance Client for Domino Knut Herrmann CollabSphere 2018 Sponsors Knut Herrmann Senior Software Architect Leonso GmbH Notes Domino developer since version 2 Web application

More information

STANISLAV NEKRASOV SENIOR FRONT END DEVELOPER

STANISLAV NEKRASOV SENIOR FRONT END DEVELOPER STANISLAV NEKRASOV SENIOR FRONT END DEVELOPER Melbourne, Australia stas@nekrasov.id.au SKILLS HTML/CSS Deep understanding of HTML and CSS specification Modern layout techniques (Flexbox, CSS Grids) Mobile-first

More information

Drupal Frontend Performance & Scalability

Drupal Frontend Performance & Scalability Riverside Drupal Meetup @ Riverside.io August 14, 2014 Christefano Reyes christo@larks.la, @christefano Who's Your Presenter? Who's Your Presenter? Why We Care About Performance Who's Your Presenter? Why

More information

30 th September 2017 Milan

30 th September 2017 Milan 30 th September 2017 Milan SharePoint Framework tips & tricks Giuseppe Marchi, Dev4Side S.r.l. www.peppedotnet.it www.office365italia.com Hi, my name is Peppe! Co-founder of Dev4Side S.r.l. 8 years Microsoft

More information

A JavaScript Framework for Presentations and Animations on Computer Science

A JavaScript Framework for Presentations and Animations on Computer Science A JavaScript Framework for Presentations and Animations on Computer Science Laszlo Korte Bachelor Thesis Technical Aspects of Multimodal Systems Department of Informatics University of Hamburg 1 / 76 Outline

More information

OpenECOMP SDC Developer Guide

OpenECOMP SDC Developer Guide OpenECOMP SDC Developer Guide Copyright 2017 AT&T Intellectual Property. All rights reserved. Licensed under the Creative Commons License, Attribution 4.0 Intl. (the "License"); you may not use this documentation

More information

ES6 Modules...& Polymer

ES6 Modules...& Polymer SYD ES6 Modules...& Polymer Sam Thorogood @samthor ES Modules ES Modules JavaScript Modules ES Modules JavaScript Modules ECMAScript Modules ES Modules JavaScript Modules ECMAScript Modules commonjs modules

More information

Website Report for colourways.com.au

Website Report for colourways.com.au Website Report for colourways.com.au This report grades your website based on the strength of various factors such as On Page Optimization, Off Page Links, and more. The overall Grade is on a A+ to F-

More information

Application Development

Application Development Pro Single Page Application Development Using Backbone.js and ASP.NET Gil Fink Ido Flatow Apress- Contents J About the Authors About the Technical Reviewers Acknowledgments Introduction xvii xix xxi xxiii

More information

SE256 : Scalable Systems for Data Science

SE256 : Scalable Systems for Data Science SE256 : Scalable Systems for Data Science Lab Session: 2 Maven setup: Run the following commands to download and extract maven. wget http://www.eu.apache.org/dist/maven/maven 3/3.3.9/binaries/apache maven

More information

Getting Started with. Lite.

Getting Started with. Lite. Getting Started with Lite www.boltiq.io Getting Started with Lite Download Download the app as either a container or Library. http://www.boltiq.io/bolt-lite/ See Examples Open the example test projects

More information

Guides SDL Server Documentation Document current as of 05/24/ :13 PM.

Guides SDL Server Documentation Document current as of 05/24/ :13 PM. Guides SDL Server Documentation Document current as of 05/24/2018 04:13 PM. Overview This document provides the information for creating and integrating the SmartDeviceLink (SDL) server component with

More information

Paul Boisvert. Director Product Management, Magento

Paul Boisvert. Director Product Management, Magento Magento 2 Overview Paul Boisvert Director Product Management, Magento Platform Goals Release Approach 2014 2015 2016 2017 2.0 Dev Beta 2.0 Merchant Beta 2.x Ongoing Releases 2.0 Dev RC 2.0 Merchant GA

More information

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

Charting the Course... Comprehensive Angular 6 Course Summary Course Summary Description Build applications with the user experience of a desktop application and the ease of deployment of a web application using Angular. Start from scratch by learning the JavaScript

More information

Website Report for bangaloregastro.com

Website Report for bangaloregastro.com Digi Leader Studios 40th Cross, 10th Main, 5th Block Jayanagar, Bengaluru - India 09845182203 connect@digileader.in https://www.digileader.in Website Report for bangaloregastro.com This report grades your

More information

Step 1: Setup a Gitlab account

Step 1: Setup a Gitlab account Most of us agree that Continuous Integration (CI), Continuous Delivery (CD), cloud infrastructure, test automation, and configuration management make up the basics of devops. Depending on the scale of

More information

Software Configuration Management Source Code & Build

Software Configuration Management Source Code & Build Software Configuration Management Source Code & Build Dar Nielsen 4:30-5:15 Mesquite GH Internal requirements for creating products Normalize & automate the expectations, and needs Testing Source Research

More information

Guides SDL Server Documentation Document current as of 04/06/ :35 PM.

Guides SDL Server Documentation Document current as of 04/06/ :35 PM. Guides SDL Server Documentation Document current as of 04/06/2018 02:35 PM. Overview This document provides the information for creating and integrating the SmartDeviceLink (SDL) server component with

More information

MY STORY WITH WEBPACK

MY STORY WITH WEBPACK MY STORY WITH WEBPACK TOBIAS KOPPERS GITHUB: @sokra TWITTER: @wsokra THE STORY FOLLOWED BY NOW AND THE FUTURE 2008 STUDIED COMPUTER SCIENCE JAVA DISCOVERED GOOGLE WEB TOOLKIT (GWT) JAVA TO JAVASCRIPT COMPILER

More information

Oracle FLEXCUBE Direct Banking UI Content Delivery Optimization Guide Release

Oracle FLEXCUBE Direct Banking UI Content Delivery Optimization Guide Release Oracle FLEXCUBE Direct Banking UI Content Delivery Optimization Guide Release 12.0.2.0.0 Part No. E50108-01 September 2013 UI Content Delivery Optimization Guide September 2013 Oracle Financial Services

More information

Mike Fechner Director

Mike Fechner Director Mike Fechner Director 2 3 Consultingwerk Software Services Ltd. Independent IT consulting organization Focusing on OpenEdge and related technology Located in Cologne, Germany, subsidiaries in UK and Romania

More information

PageSpeed Insights. Compressing resources with gzip or deflate can reduce the number of bytes sent over the network.

PageSpeed Insights. Compressing resources with gzip or deflate can reduce the number of bytes sent over the network. PageSpeed Insights Mobile 3 / 100 Speed Should Fix: Enable compression resources with gzip or deflate can reduce the number of bytes sent over the network. Enable compression for the following resources

More information