From Browser Wars to Framework Wars How to survive the next generation of Web development battles. Dr. Michael Evans Codernetic Ltd untangled.

Size: px
Start display at page:

Download "From Browser Wars to Framework Wars How to survive the next generation of Web development battles. Dr. Michael Evans Codernetic Ltd untangled."

Transcription

1 From Browser Wars to Framework Wars How to survive the next generation of Web development battles Dr. Michael Evans Codernetic Ltd untangled.io

2 Who Am I?! Worked with Web technologies since 1996 PhD, Patent Lectured for 11 years at University of Reading Worked on these: 2

3 Contents Part 1: The Browser Wars Classic Web Architecture JavaScript Browser Wars 1.0 Browser Wars 2.0 Part 2: The Road to Richer Client-Side Development Client-side Development requirements AJAX JavaScript Libraries Speed Build Tools 3

4 Contents Part 3: The Framework Wars Frameworks vs Libraries AngularJS ReactJS Framework Fatigue Redux and State Management Fighting Fatigue and Staying Sane Part 4: The Future Web ES the new JavaScript Babel and transpilation tomorrow s Web here today Web Assembly - any language inside the browser 4

5 The Classic Web Architecture HTTP Request HTTP Response Client Server 5

6 The Classic Web Architecture Server - Process All The Things! Later, Server-side scripting languages HTTP Request HTTP Response Client Originally CGI Server ASP PHP JSP ColdFusion Perl, etc. 6

7 The Classic Web Architecture Server - Do All The Things! Client - Not so much HTML, and...er... Blink... Marquee HTTP Request HTTP Response maybe... Oh, and forms! Client Rich functionality Connectivity with external systems Database connections Storage Persistence Authentication Session State Server 7

8 Enter JavaScript! The browser needed some functionality JavaScript provided it Designed in 10 days by Brendan Eich for Netscape in May 1995 Object-oriented/functional hybrid Based on Scheme and Self, with a syntax similar to Java Designed to appeal to Java coders Netscape expected JavaScript to be used by hobbyists, and real programmers to use Java 8

9 Early Client-Side Development A Zoo of Plugins Past JavaScript designed to be the glue between islands of functionality Most heavy lifting was still done on the server Java Applets Plugins provided client functionality Adobe Flash DOM (Document Object Model) used to control page elements Macromedia ShockWave ActiveX 9

10 JavaScript, Casualty of the First Browser Wars JavaScript first created in 10 days in 1995 First standardised as ECMAScript in 1997 Next versions of JavaScript came nice and quickly ECMAScript 2: ECMAScript 3: ECMAScript 3.1:

11 IE6 and the Browser Dark Ages Internet Explorer monopolised the browser market IE tied to Windows Microsoft didn t want cross-browser compatibility Or JavaScript ECMAScript 4 was started in 2000 Microsoft had no intention of implementing it fully The standard was never released 11

12 How IE held JavaScript back IE5 used a poorly implemented version of JavaScript 3 So did IE and IE6...and IE7...and IE8! 12

13 Harmony returns JavaScript standards back on track 2000 s ECMAScript 4 was shelved ECMAScript 3.1 standardised and all browsers worked to support it ECMAScript 3.1 renamed ECMAScript 5 That s the JavaScript you know and love today! First developed in 1999 Big browser vendors vowed to work towards a new standard: Harmony a.k.a. ECMAScript 6 a.k.a. ES6 a.k.a. ES2015! 13

14 What broke the deadlock? Competition! 14

15 Browser Wars

16 Part 2: The Road to Richer Client-Side Development How Web Development moved from server to client AJAX JavaScript Libraries Accelerated JavaScript Richer build tools Frameworks ES6 16

17 Requirements for Client-Side App Development What we needed Platform Consistency Build Tools Good Developer tools Testing tools State Management Processing Performance Terse Syntax Server Communication What we got Debugging Tools? JavaScript? Slow and Fat Consistency? alert( debug ); IE6 wasn t even consistent with itself! State Management? State what now? 17

18 AJAX - Asynchronous JavaScript And XML Enabled Web apps to send and receive data asynchronously without a browser reload Doesn t have to be Asynchronous No longer uses XML! First developed by Microsoft in 1998 as an ActiveX object The missing glue between the client and the server Enabled true client-side Web Applications Use became widespread in 2004 E.g. GMail.com, Kayak.com Adopted by other browsers in 1999 Became the XMLHttpRequest object 18

19 JavaScript Libraries Only way to improve JavaScript was with libraries jquery Created in 2006 by John Ressig Provided terse syntax for DOM manipulation Smoothed over browser incompatibilities Made client-side development much easier Prototype, Mootools, Dojo and YUI swiftly followed 19

20 jquery vs the DOM DOM jquery // Get all divs on a page document.getelementsbytagname("div") // Get all divs on a page $("div") // Add Class to element if (el.classlist) el.classlist.add(classname); else el.classname += ' ' + classname; // Add Class to element $(el).addclass(classname); 20

21 Requirements for Client-Side App Development What we needed Platform Consistency Build Tools Good Developer tools Testing tools State Management Processing Performance Terse Syntax Server Communication What we got Debugging Tools? JavaScript? Slow and Less Fat Consistency Firebug Mostly! State Management? Still kept in DOM 21

22 Supercharging the Web with V8 Google launched Chrome on 2nd September 2008 Key innovations: speed, simplicity, security and stability Most important innovations for Web Development: The V8 super-performant JavaScript engine Portable JavaScript Engine 22

23 Accelerating JavaScript Vastly Superior JavaScript Compilation Speed Enabled client to take on much more of an application's processing Forced other browsers to improve their performance Accelerated the transition of Web apps moving from the server to the client 23

24 Better Speed = Better Libraries Increased speed led to better libraries Enabled developers to create richer apps than ever before New Libraries Backbone (2010, Jeremy Ashkenas) Underscore New Templating systems Mustache on JavaScript (2009) Handlebars (2010, Yehuda Katz) Jade (2010, developed for Node) 24

25 Requirements for Client-Side App Development What we needed Platform Consistency Build Tools Good Developer tools Testing tools State Management Processing Performance Terse Syntax Server Communication What we got Debugging Tools? JavaScript? Faster and less Fat Consistency Firebug, Chrome DevTools Mostly! State Management? Still kept in DOM 25

26 Portability V8 wasn t tied to the browser Could be used as a stand-alone high-speed JavaScript engine NodeJS: JavaScript in the server In May 2009, Ryan Dahl used V8 for a radical new server architecture: NodeJS Much lighter than traditional Web server architectures Lets devs write server-side code in JavaScript Enables real-time Web services to be developed More importantly for devs: Node brought Build Tools to the Web 26

27 Build Tools Without Build Tools JavaScript had no compile process No modules Dependency issues Scripts declared manually No unit testing tools How NodeJS Helped The Node CLI Enabled execution of OS-level commands using JavaScript Node Package Manager (npm) Released in 2011 Enabled JavaScript modules to be packaged with their dependencies 27

28 Just some of the Tools now available Build Tools Package Management GruntJS (March 2012) Bower (March 2012) - by Twitter (now dying) WebPack (March 2012) Node's npm - now the de facto standard GulpJS (July 2013) Browserify - uses npm to bundle modules for the Web Module Loaders CommonJS RequireJS SystemJS JSPM - package manager for SystemJS 28

29 Finally...Testing tools! Unit Testing Mocha Chai Sinon Karma Jasmine Testem Tape Jest Mockery End to End Testing Protractor Selenium PhantomJS 29

30 Typical Build Process Manage JavaScript modules Compile SASS/LESS into CSS External Library Version control Split Code Run Unit Testing Generate Source Maps Run Code Linting Uglify Code Import Module Dependencies Minify Code Concatenate Modules Run End to End testing Transpile Code Continuous Deployment 30

31 Requirements for Client-Side App Development What we needed Platform Consistency Build Tools Good Developer tools Testing tools State Management Processing Performance Terse Syntax Server Communication What we got Debugging Tools JavaScript? Fast and Less Fat Consistency Firebug, Chrome DevTools Finally! State Management? Still kept in DOM (uh oh!) 31

32 The JavaScript Build Environment Now one of the richest set of developer tools of any language or platform True desktop-class applications can be written entirely in the browser With the new tools came new Frameworks to take advantage of them 32

33 Part 3: The Frameworks Wars A Web app comprises: Library Does one of these things State Management Communication Something you build with Dependency Injection No opinions on structure DOM manipulation Async call handling Events Something you build on UI Animation Provides application structure you must follow Storage Framework Does all of these things 33

34 Frameworks and the Single Page Application Single Page What? Frameworks have their own router that simulates changing pages Example Frameworks AngularJS (versions 1 and 2) ReactJS and Redux Browser thinks the user is only ever on one single page Ember All communication is via AJAX Knockout Browser s back and forward buttons still work as intended Durandel/Aurelia RX.js and CycleJS State persists across route changes 34

35 AngularJS Developed by Google in 2010 A giant framework for large Single Page Applications Focused on developing largescale apps Declarative presentation syntax Create your own markup HTML-centric Brings JavaScript-backed functionality to declarative HTML components Enhances HTML to support logic 35

36 AngularJS Key Features A complete application framework Testing focused Promises library Testable, mockable AJAX library Two way data binding Dependency Injection Directives Routing 36

37 ReactJS JavaScript-centric Developed by Facebook in 2013 Small library for providing a view of a user s data Brings HTML-based templating into JavaScript components Focused on developing small UI components that are blazing fast Enhances JavaScript to support markup 37

38 ReactJS Key Features Creates a Virtual DOM of components Diffs virtual DOM with real DOM when changes are made Only applies changes to the real DOM Results in blazing fast performance Deliberately minimal Framework-like features provided by the community 38

39 React vs Angular - Fight! AngularJS Full DOM render is triggered whenever bound data changes Dirty checking - every data object checked every time data changes Enables two-way data binding BUT makes it expensive for large or complex sets of data ReactJS Data bound to the virtual DOM Works entirely in Javascript Shallow checking - checks only the identity of a data object for changes React s diff algorithm applies only changed data to the real DOM Only one-way data binding, but extremely fast 39

40 React vs Angular - Fight! AngularJS Pros Huge framework provides everything you need ReactJS Pros Small library Smaller learning curve Isomorphic - Runs on client or server No decision fatigue Cons Large learning curve Cons Decision fatigue Easy to make poor architectural choices and Big Ball of Mud Dozens of routers, stores, communication libraries to choose from Runs only on client Which do you choose? 40

41 Requirements for Client-Side App Development What we needed Platform Consistency Build Tools Good Developer tools Testing tools State Management Processing Performance Terse Syntax Server Communication What we got Debugging Tools JavaScript? Fast and Less Fat Consistency All browsers Finally State Management? Kept...somewhere! 41

42 Redux - a Predictable State Container JavaScript State Management library with minimal API Based on functional programming concepts of Data Flow and function lifting Features Hot Reloading Time Travel Universal App Automatic Undo/Redo Works everywhere Client, Server, Native Framework and library-neutral 42

43 Requirements for Client-Side App Development What we needed Platform Consistency Build Tools Good Developer tools Testing tools State Management Processing Performance Terse Syntax Server Communication What we got Debugging Tools JavaScript? Fast and Less Fat Consistency All browsers Finally State Management? Redux 43

44 Problem: Framework Fatigue Every week a new framework or library emerges Angular 2 Polymer Meteor Immutable Ramda Lodash Bacon Lazy Riot Deku Vue React Multiplies that problem React Stores: Flux Flummox Reflux Fluxor Marty Redux React Routers: React Router React Router5 Redux Router React Forms: React-forms Redux-forms Newforms React-Formly 44

45 45

46 Angular merge all the things! Uses React s concept of the virtual DOM Ember s router Microsoft s TypeScript Telerik s NativeScript ES2015 RX.JS Supports Web Components syntax Works easily with Polymer (another Google Framework!) 46

47 47

48 Fighting Fatigue and Staying Sane Redux manages application state Isn t tied to React Has bindings for many frameworks ES2015 has module management Can create independent exportable modules of functions Combine Redux and ES6 modules for framework-neutral business logic 48

49 Framework-neutral application design Use Redux to manage state Create business logic as set of small functions Export them as separate ES6 modules Use the frameworks and libraries for what they re good at UI Routing Data Binding Communication Keep your business logic and state separate from the framework Ensures business logic portability 49

50 Sane Application Architecture Angular UI Redux State Management Events Framework Routing Controller Data Binding Form Validation Client or Server Business Logic (ES2015 Modules) Data Transformation Communication Calculations 50

51 Sane Application Architecture React UI Redux State Management Events Framework Routing Controller Data Binding Form Validation Client or Server Business Logic (ES2015 Modules) Data Transformation Communication Calculations 51

52 Part 4 - The Future of Web Development ES2015. Here now (sort of!) Transpilation WebAssembly 52

53 Requirements for Client-Side App Development What we needed Platform Consistency Build Tools Good Developer tools Testing tools State Management Processing Performance Terse Syntax Server Communication What we got Debugging Tools JavaScript? Fast and Less Fat Consistency All browsers Finally State Management? Redux 53

54 ES Better Late than Never! ES2015 provides: Terse syntax New features 54

55 ES Terse Syntax Template literals Arrow functions // ES5 var fn = function() { return somefn(); } // ES6 const fn = () => somefn();...spread and...rest operators Destructuring // ES5 function select(options) { var start = options.start 0; var end = options.end -1; var step = options.step 1; } // ES6 function select({ start=0, end=-1, step=1 }){ } 55

56 ES New JavaScript SuperPowers Promises Iterables Modules Generators import * as lib from 'lib'; Tail call optimization Meta-Programming with Proxies Symbols Maps and Sets Classes 56

57 Transpilation - making the future more evenly distributed Standards have always held the Web back Applications and developers drive the need for new standards Standards should encode existing techniques/requirements Standards are always behind the state of the art by definition Problem: How do you use the latest standards when they re not encoded in the browsers? E.g. ES2015, ES2016, ES Answer: Transpilation! 57

58 TranspiWhatNow?! Compilation Transforms source code written in one language into a (very) different language Transpilation Transforms source code written in one language into another (similar) language ES2015 to ES5 TypeScript, CoffeeScript, Dart to ES5 58

59 Transpiling JavaScript with Babel //Put ES2015 in: [1,2,3].map(n => n + 1); // Get ES5 out: [1,2,3].map(function(n) { return n + 1; }); Key Features Transpiles all ES features to ES5 Lets you work with experimental ES features without browser support Translators and polyfills provide missing functionality Transpiles: ES3, ES6, ES7, JSX to ES5 Or create your own plugin! 59

60 Transpiling other languages to JavaScript TypeScript CoffeeScript Dart Flow Elm Java ClojureScript 60

61 JavaScript is the Assembly Language of the Web Why transpile to JavaScript? JavaScript the only language guaranteed to run on all browsers Browsers only have JavaScript compiler JavaScript has no standardised bytecode Each browser uses its own version V8 compiles directly from source code to machine code To run in a browser, a program needs to use JavaScript JavaScript is the Assembly Language of the Web (Scott Hanselman, 2011) 61

62 The Transpiled Web Any Transpileable Language Build Process ES2015/16/17 TypeScript/Elm/Dart Babel Language-Specific C/C++/C#/Rust/Go Transpiler JavaScript Source Browser Browser-specific Bytecode Machine Code 62

63 WebAssembly - the Web s Assembly Language What? A virtual CPU for the Web (Wagner, 2016) Defines a new binary syntax for low-level code How? Browsers JavaScript engines will support the new binary syntax natively WebAssembly compilers compile other languages to this binary syntax Provides a unified compilation target for languages that don t transpile to JavaScript When? Being worked on by Google, Mozilla, Microsoft and WebKit Expected in browsers in

64 The Future Web Any language Build Process ES2015/16/17 TypeScript/Elm/Dart Babel Language-Specific Transpiler JavaScript Source Browser C/C++/Whatever Compiler WebAssembly Browser-specific Bytecode Machine Code 64

65 Features of WebAssembly Multi-threaded support (finally!) Native DOM integration 20x speed-up of code Use any language on any Web page Always compatible with JavaScript Dramatically speed up Web apps Unity in your browser WebAssembly Goal For any language to create performance-critical modules For modules to communicate seamlessly with JavaScript without any change to any existing JavaScript code. 65

66 Summary Web Development hurts Always has Always will Accelerated innovation is never painless Now is the most exciting time to be a Web developer 66

67 Thank you! Questions? 67

68 References S. Hanselman (2011), JavaScript is the Assembly Language of the Web com/blog/javascriptisassemblylanguageforthewebsematicmarkupisdeadcle anvsmachinecodedhtml.aspx B. Eich (2015), L. Wagner (2016) 68

Modern and Responsive Mobile-enabled Web Applications

Modern and Responsive Mobile-enabled Web Applications Available online at www.sciencedirect.com ScienceDirect Procedia Computer Science 110 (2017) 410 415 The 12th International Conference on Future Networks and Communications (FNC-2017) Modern and Responsive

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

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

JavaScript and MVC Frameworks FRONT-END ENGINEERING

JavaScript and MVC Frameworks FRONT-END ENGINEERING FRONT-END ENGINEERING Introduction & History Introduction JavaScript is an incredible language to learn for anyone interested in getting into programming. It is the only programing language that can run

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

Advanced React JS + Redux Development

Advanced React JS + Redux Development Advanced React JS + Redux Development Course code: IJ - 27 Course domain: Software Engineering Number of modules: 1 Duration of the course: 40 astr. hours / 54 study 1 hours Sofia, 2016 Copyright 2003-2016

More information

High Performance Single Page Application with Vue.js

High Performance Single Page Application with Vue.js High Performance Single Page Application with Vue.js Premise Static HTML and simple web-pages are already a history now. The novel web applications are advanced and do a lots of functionalities. Also,

More information

AngularJS Fundamentals

AngularJS Fundamentals AngularJS Fundamentals by Jeremy Zerr Blog: http://www.jeremyzerr.com LinkedIn: http://www.linkedin.com/in/jrzerr Twitter: http://www.twitter.com/jrzerr What is AngularJS Open Source Javascript MVC/MVVM

More information

Treating Framework Fatigue With JavaScript

Treating Framework Fatigue With JavaScript Treating Framework Fatigue With JavaScript Tim Doherty Software Architect /in/timdoherty timdoherty.net ??? Hey, this one looks cool! You May Suffer From Framework Fatigue Symptoms Confusion One-way reactive

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

"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

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

P a g e 1. Danish Technological Institute. Scripting and Web Languages   Online Course k Scripting and Web Languages P a g e 1 Online Course k72853 Scripting and Web Languages P a g e 2 Title Estimated Duration (hrs) JsRender Fundamentals 2 Advanced JsRender Features 3 JavaScript SPA: Getting Started with SPA in Visual

More information

Ten interesting features of Google s Angular Project

Ten interesting features of Google s Angular Project Ten interesting features of Google s Angular Project - 1 Ten interesting features of Google s Angular Project Copyright Clipcode Ltd 2018 All rights reserved Ten interesting features of Google s Angular

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

Choosing the web s future. Peter-Paul Koch Van Lanschot, 9 February 2017

Choosing the web s future. Peter-Paul Koch   Van Lanschot, 9 February 2017 Choosing the web s future Peter-Paul Koch http://quirksmode.org http://twitter.com/ppk Van Lanschot, 9 February 2017 Four problems 1. Web developers want to emulate native apps, which I think is not possible

More information

TechWatch Report Javascript Libraries and Frameworks

TechWatch Report Javascript Libraries and Frameworks TechWatch Report Javascript Libraries and Frameworks Date: February 2018 Created By: Prateek Vijan, Sanjeevan Biswas Contributors: Vrushali Malushte, Sridatta Pasumarthy, Mayank Kansal, Arindam Nayak Contents

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

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

Templates and Databinding. SWE 432, Fall 2017 Design and Implementation of Software for the Web

Templates and Databinding. SWE 432, Fall 2017 Design and Implementation of Software for the Web Templates and Databinding SWE 432, Fall 2017 Design and Implementation of Software for the Web Today What are templates? What are frontend components? How can I use these with React? 2 What s wrong with

More information

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

Charting the Course... Comprehensive Angular. Course Summary Description Course Summary Angular is a powerful client-side JavaScript framework from Google that supports simple, maintainable, responsive, and modular applications. It uses modern web platform capabilities

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

Simple AngularJS thanks to Best Practices

Simple AngularJS thanks to Best Practices Simple AngularJS thanks to Best Practices Learn AngularJS the easy way Level 100-300 What s this session about? 1. AngularJS can be easy when you understand basic concepts and best practices 2. But it

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

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

Course Outline. ProTech Professional Technical Services, Inc. Comprehensive Angular 7 Course Summary. Description Course Summary Description Use Angular 7 to easily build web applications that interacts with the user by dynamically rewriting the current page rather than loading entire new pages from a server. Learn

More information

Is your JavaScript ready for the Enterprise? What does that even mean?

Is your JavaScript ready for the Enterprise? What does that even mean? Is your JavaScript ready for the Enterprise? What does that even mean? John JB Brock Senior Principal Product Manager Oracle Tools and Frameworks June 29, 2017 Safe Harbor Statement The following is intended

More information

Developing Ajax Web Apps with GWT. Session I

Developing Ajax Web Apps with GWT. Session I Developing Ajax Web Apps with GWT Session I Contents Introduction Traditional Web RIAs Emergence of Ajax Ajax ( GWT ) Google Web Toolkit Installing and Setting up GWT in Eclipse The Project Structure Running

More information

DECOUPLING PATTERNS, SERVICES AND CREATING AN ENTERPRISE LEVEL EDITORIAL EXPERIENCE

DECOUPLING PATTERNS, SERVICES AND CREATING AN ENTERPRISE LEVEL EDITORIAL EXPERIENCE DECOUPLING PATTERNS, SERVICES AND CREATING AN ENTERPRISE LEVEL EDITORIAL EXPERIENCE Who we are and Why we are here? Saurabh Chugh Started Drupal journey in 2010 with Drupal 6, long journey with Drupal

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

Evolution of the "Web

Evolution of the Web Evolution of the "Web App" @HenrikJoreteg @Hoarse_JS THIS USED TO BE SIMPLE! 1. WRITE SOME HTML 2. LAY IT OUT WITH FRAMES OR TABLES 3. FTP IT TO A SERVER! 4. BAM! CONGRATULATIONS, YOU RE A WEB DEVELOPER!

More information

Web 2.0 Käyttöliittymätekniikat

Web 2.0 Käyttöliittymätekniikat Web 2.0 Käyttöliittymätekniikat ELKOM 07 Sami Ekblad Projektipäällikkö Oy IT Mill Ltd What is Web 2.0? Social side: user generated contents: comments, opinions, images, users own the data The Long Tail:

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

JavaScript Fundamentals_

JavaScript Fundamentals_ JavaScript Fundamentals_ HackerYou Course Syllabus CLASS 1 Intro to JavaScript Welcome to JavaScript Fundamentals! Today we ll go over what programming languages are, JavaScript syntax, variables, and

More information

WebStorm, intelligent IDE for JavaScript development

WebStorm, intelligent IDE for JavaScript development , intelligent IDE for JavaScript development JetBrains is a powerful Integrated development environment (IDE) built specifically for JavaScript developers. How does match up against competing tools? Product

More information

WebAssembly. neither Web nor Assembly, but Revolutionary

WebAssembly. neither Web nor Assembly, but Revolutionary WebAssembly neither Web nor Assembly, but Revolutionary The WebAssembly revolution has begun Jay Phelps Chief Software Architect previously Support, Dev Rel, Staff Augmentation, Mentorship, and more www.thisdot.co

More information

One language to rule them all: TypeScript. Gil Fink CEO and Senior Consultant, sparxys

One language to rule them all: TypeScript. Gil Fink CEO and Senior Consultant, sparxys One language to rule them all: TypeScript Gil Fink CEO and Senior Consultant, sparxys About Me sparxys CEO and Senior consultant Microsoft MVP in the last 8 years Pro Single Page Application Development

More information

JavaScript: the language of browser interactions. Claudia Hauff TI1506: Web and Database Technology

JavaScript: the language of browser interactions. Claudia Hauff TI1506: Web and Database Technology JavaScript: the language of browser interactions Claudia Hauff TI1506: Web and Database Technology ti1506-ewi@tudelft.nl Densest Web lecture of this course. Coding takes time. Be friendly with Codecademy

More information

Vue.js Developer friendly, Fast and Versatile

Vue.js Developer friendly, Fast and Versatile .consulting.solutions.partnership Vue.js Developer friendly, Fast and Versatile Alexander Schwartz, Principal IT Consultant Javaland 2018 Brühl (DE) March 2018 Vue.js developer friendly, fast and versatile

More information

CS312: Programming Languages. Lecture 21: JavaScript

CS312: Programming Languages. Lecture 21: JavaScript CS312: Programming Languages Lecture 21: JavaScript Thomas Dillig Thomas Dillig, CS312: Programming Languages Lecture 21: JavaScript 1/25 Why Discuss JavaScript? JavaScript is very widely used and growing

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

AJAX: Rich Internet Applications

AJAX: Rich Internet Applications AJAX: Rich Internet Applications Web Programming Uta Priss ZELL, Ostfalia University 2013 Web Programming AJAX Slide 1/27 Outline Rich Internet Applications AJAX AJAX example Conclusion More AJAX Search

More information

Angular 2 and TypeScript Web Application Development

Angular 2 and TypeScript Web Application Development Angular 2 and TypeScript Web Application Development Course code: IJ -19 Course domain: Software Engineering Number of modules: 1 Duration of the course: 40 study 1 hours Sofia, 2016 Copyright 2003-2016

More information

Why Discuss JavaScript? CS312: Programming Languages. Lecture 21: JavaScript. JavaScript Target. What s a Scripting Language?

Why Discuss JavaScript? CS312: Programming Languages. Lecture 21: JavaScript. JavaScript Target. What s a Scripting Language? Why Discuss JavaScript? CS312: Programming Languages Lecture 21: JavaScript Thomas Dillig JavaScript is very widely used and growing Any AJAX application heavily relies on JavaScript JavaScript also has

More information

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

Angular 2: What s new? Jonas Bandi, IvoryCode GmbH Angular 2: What s new? Jonas Bandi, IvoryCode GmbH Once upon a time the world was peacefully creating applications with AngularJS but change was lurking in the maze of a mailing list https://groups.google.com/forum/#!search/misko$20hevery$20may$2022$202013/polymer-dev/4rsyakmbtek/uyny3900wpij

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

JavaScript Rd2. -Kyle Simpson, You Don t Know JS

JavaScript Rd2. -Kyle Simpson, You Don t Know JS JavaScript Rd2 [JavaScript] is simultaneously a simple, easy-to-use language that has broad appeal, and a complex and nuanced collection of language mechanics which without careful study will elude the

More information

20480C: Programming in HTML5 with JavaScript and CSS3. Course Code: 20480C; Duration: 5 days; Instructor-led. JavaScript code.

20480C: Programming in HTML5 with JavaScript and CSS3. Course Code: 20480C; Duration: 5 days; Instructor-led. JavaScript code. 20480C: Programming in HTML5 with JavaScript and CSS3 Course Code: 20480C; Duration: 5 days; Instructor-led WHAT YOU WILL LEARN This course provides an introduction to HTML5, CSS3, and JavaScript. This

More information

Future Web App Technologies

Future Web App Technologies Future Web App Technologies Mendel Rosenblum MEAN software stack Stack works but not the final say in web app technologies Angular.js Browser-side JavaScript framework HTML Templates with two-way binding

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

Lecture 8. ReactJS 1 / 24

Lecture 8. ReactJS 1 / 24 Lecture 8 ReactJS 1 / 24 Agenda 1. JSX 2. React 3. Redux 2 / 24 JSX 3 / 24 JavaScript + HTML = JSX JSX is a language extension that allows you to write HTML directly into your JavaScript files. Behind

More information

React & Redux in Hulu. (Morgan Cheng)

React & Redux in Hulu. (Morgan Cheng) React & Redux in Hulu (Morgan Cheng) About Me @morgancheng About Hulu Challenges System Complexity Legacy code in jquery & Backbone UI non-predictable Lack of component isolation Performance Bottleneck

More information

Outline. AJAX for Libraries. Jason A. Clark Head of Digital Access and Web Services Montana State University Libraries

Outline. AJAX for Libraries. Jason A. Clark Head of Digital Access and Web Services Montana State University Libraries AJAX for Libraries Jason A. Clark Head of Digital Access and Web Services Montana State University Libraries Karen A. Coombs Head of Web Services University of Houston Libraries Outline 1. What you re

More information

Sweet Themes Are Made of This: The Magento PWA Studio

Sweet Themes Are Made of This: The Magento PWA Studio Sweet Themes Are Made of This: The Magento PWA Studio James Zetlen Frontend Architect Magento Commerce @JamesZetlen A suite of tools, standards, and top-quality ingredients for building and sharing Progressive

More information

GRITS AJAX & GWT. Trey Roby. GRITS 5/14/09 Roby - 1

GRITS AJAX & GWT. Trey Roby. GRITS 5/14/09 Roby - 1 AJAX & GWT Trey Roby GRITS 5/14/09 Roby - 1 1 Change The Web is Changing Things we never imagined Central to people s lives Great Opportunity GRITS 5/14/09 Roby - 2 2 A Very Brief History of Computing

More information

MEAP Edition Manning Early Access Program WebAssembly in Action Version 1

MEAP Edition Manning Early Access Program WebAssembly in Action Version 1 MEAP Edition Manning Early Access Program WebAssembly in Action Version 1 Copyright 2018 Manning Publications For more information on this and other Manning titles go to www.manning.com welcome Thank you

More information

Is the Web good enough for my app? François Daoust W3C Workshop HTML5 vs Native by software.brussels 4 December 2014

Is the Web good enough for my app? François Daoust W3C Workshop HTML5 vs Native by software.brussels 4 December 2014 Is the Web good enough for my app? François Daoust (@tidoust), W3C Workshop HTML5 vs Native by software.brussels 4 December 2014 A short history of the Web App platform Tim Berners Lee Olympic games opening

More information

Javascript. Many examples from Kyle Simpson: Scope and Closures

Javascript. Many examples from Kyle Simpson: Scope and Closures Javascript Many examples from Kyle Simpson: Scope and Closures What is JavaScript? Not related to Java (except that syntax is C/Java- like) Created by Brendan Eich at Netscape later standardized through

More information

COPYRIGHTED MATERIAL. Part I: Getting Started. Chapter 1: Introducing Flex 2.0. Chapter 2: Introducing Flex Builder 2.0. Chapter 3: Flex 2.

COPYRIGHTED MATERIAL. Part I: Getting Started. Chapter 1: Introducing Flex 2.0. Chapter 2: Introducing Flex Builder 2.0. Chapter 3: Flex 2. 02671c01.qxd:02671c01 4/20/07 11:24 AM Page 1 Part I: Getting Started Chapter 1: Introducing Flex 2.0 Chapter 2: Introducing Flex Builder 2.0 Chapter 3: Flex 2.0 Basics Chapter 4: Using Flex Builder 2.0

More information

JavaScript: the Big Picture

JavaScript: the Big Picture JavaScript had to look like Java only less so be Java's dumb kid brother or boy-hostage sidekick. Plus, I had to be done in ten days or something worse than JavaScript would have happened.! JavaScript:

More information

Angular 5 vs. React When to Choose Which?

Angular 5 vs. React When to Choose Which? Angular 5 vs. React When to Choose Which? Stephan Rauh Dr. Marius Hofmeister OPITZ CONSULTING Deutschland GmbH OPITZ CONSULTING 2017 OPITZ CONSULTING 2017 Setting the Stage https://upload.wikimedia.org/wikipedia/commons/5/52/summer_solstice_sunrise_over_stonehenge_2005.jpg

More information

Scripting. Web Architecture and Information Management [./] Spring 2009 INFO (CCN 42509) Contents

Scripting. Web Architecture and Information Management [./] Spring 2009 INFO (CCN 42509) Contents Contents Scripting Contents Web Architecture and Information Management [./] Spring 2009 INFO 190-02 (CCN 42509) Erik Wilde, UC Berkeley School of Information [http://creativecommons.org/licenses/by/3.0/]

More information

Finally JavaScript Is Easy, with Oracle JET! Geertjan Wielenga Product Manager Oracle Developer Tools

Finally JavaScript Is Easy, with Oracle JET! Geertjan Wielenga Product Manager Oracle Developer Tools Finally JavaScript Is Easy, with Oracle JET! Geertjan Wielenga Product Manager Oracle Developer Tools Oracle JET Customers Across Oracle Include... Internet of Things Mobile Cloud Service Developer

More information

Chapter 10 Web-based Information Systems

Chapter 10 Web-based Information Systems Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 10 Web-based Information Systems Role of the WWW for IS Initial

More information

Front End Nanodegree Syllabus

Front End Nanodegree Syllabus Front End Nanodegree Syllabus Build Stunning User Experiences Before You Start You've taken the first step toward becoming a web developer by choosing the Front End Nanodegree program. In order to succeed,

More information

Building mobile app using Cordova and AngularJS, common practices. Goran Kopevski

Building mobile app using Cordova and AngularJS, common practices. Goran Kopevski Building mobile app using Cordova and AngularJS, common practices Goran Kopevski Agenda What is cordova? How to choose proper JS framework Building mobile app using Cordova and AngularJS Common fails,

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

The Road to the Native Mobile Web. Kenneth Rohde Christiansen

The Road to the Native Mobile Web. Kenneth Rohde Christiansen The Road to the Native Mobile Web Kenneth Rohde Christiansen Kenneth Rohde Christiansen Web Platform Architect at Intel Europe Blink core owner and former active WebKit reviewer Works on Chromium, Crosswalk

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

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

Credits: Some of the slides are based on material adapted from

Credits: Some of the slides are based on material adapted from 1 The Web, revisited WEB 2.0 marco.ronchetti@unitn.it Credits: Some of the slides are based on material adapted from www.telerik.com/documents/telerik_and_ajax.pdf 2 The old web: 1994 HTML pages (hyperlinks)

More information

CodeValue. C ollege. Prerequisites: Basic knowledge of web development and especially JavaScript.

CodeValue. C ollege. Prerequisites: Basic knowledge of web development and especially JavaScript. Course Syllabuses Introduction to AngularJS Length: 3 days Prerequisites: Basic knowledge of web development and especially JavaScript. Objectives: Students will learn to take advantage of AngularJS and

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

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

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application BACKBONE.JS Sencha Touch CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application A RapidValue Solutions Whitepaper Author: Pooja Prasad, Technical Lead, RapidValue Solutions Contents Executive

More information

AJAX Workshop. Karen A. Coombs University of Houston Libraries Jason A. Clark Montana State University Libraries

AJAX Workshop. Karen A. Coombs University of Houston Libraries Jason A. Clark Montana State University Libraries AJAX Workshop Karen A. Coombs University of Houston Libraries Jason A. Clark Montana State University Libraries Outline 1. What you re in for 2. What s AJAX? 3. Why AJAX? 4. Look at some AJAX examples

More information

Intro Winter Semester 2016/17

Intro Winter Semester 2016/17 Practical Course: Web Development Intro Winter Semester 2016/17 Juliane Franze & Tobias Seitz Ludwig-Maximilians-Universität München Practical Course Web Development WS 16/17-01 - 1 Today s Agenda Introduction

More information

THE PRAGMATIC INTRO TO REACT. Clayton Anderson thebhwgroup.com WEB AND MOBILE APP DEVELOPMENT AUSTIN, TX

THE PRAGMATIC INTRO TO REACT. Clayton Anderson thebhwgroup.com WEB AND MOBILE APP DEVELOPMENT AUSTIN, TX THE PRAGMATIC INTRO TO REACT Clayton Anderson thebhwgroup.com WEB AND MOBILE APP DEVELOPMENT AUSTIN, TX REACT "A JavaScript library for building user interfaces" But first... HOW WE GOT HERE OR: A BRIEF

More information

IGME-330. Rich Media Web Application Development I Week 1

IGME-330. Rich Media Web Application Development I Week 1 IGME-330 Rich Media Web Application Development I Week 1 Developing Rich Media Apps Today s topics Tools we ll use what s the IDE we ll be using? (hint: none) This class is about Rich Media we ll need

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

Visual HTML5. Human Information Interaction for Knowledge Extraction, Interaction, Utilization, Decision making HI-I-KEIUD

Visual HTML5. Human Information Interaction for Knowledge Extraction, Interaction, Utilization, Decision making HI-I-KEIUD Visual HTML5 1 Overview HTML5 Building apps with HTML5 Visual HTML5 Canvas SVG Scalable Vector Graphics WebGL 2D + 3D libraries 2 HTML5 HTML5 to Mobile + Cloud = Java to desktop computing: cross-platform

More information

AJAX Programming Overview. Introduction. Overview

AJAX Programming Overview. Introduction. Overview AJAX Programming Overview Introduction Overview In the world of Web programming, AJAX stands for Asynchronous JavaScript and XML, which is a technique for developing more efficient interactive Web applications.

More information

ECMAScript 2015 and beyond The Future of JavaScript is Now!

ECMAScript 2015 and beyond The Future of JavaScript is Now! ECMAScript 2015 and beyond The Future of JavaScript is Now! Tom Van Cutsem JS.BE Meetup @tvcutsem Talk Outline Part I: 20 years of JavaScript (or, the long road to ECMAScript 6) Part II: a brief tour of

More information

Rich Web Applications in Server-side Java without. Plug-ins or JavaScript

Rich Web Applications in Server-side Java without. Plug-ins or JavaScript Rich Web Applications in Server-side Java without twitter: #vaadin @joonaslehtinen Plug-ins or JavaScript Joonas Lehtinen, PhD Vaadin Ltd - CEO joonas@vaadin.com ? Vaadin is a UI framework for desktop-like

More information

Front End Nanodegree Syllabus

Front End Nanodegree Syllabus Front End Nanodegree Syllabus Build Stunning User Experiences Before You Start You've taken the first step toward becoming a web developer by choosing the Front End Nanodegree program. In order to succeed,

More information

Using JavaScript on Client and Server with Project Phobos

Using JavaScript on Client and Server with Project Phobos Using JavaScript on Client and Server with Project Phobos Roberto Chinnici Senior Staff Engineer Sun Microsystems, Inc. http://phobos.dev.java.net July 27, 2007 JavaScript in the browser 2 JavaScript 1.x

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

React Not Just Hype!

React Not Just Hype! React Not Just Hype! @mjackson Thriller. @ReactJSTraining reactjs-training.com rackt github.com/rackt - 14 members - 5 teams (owners, routing, redux, a11y, docs) - Not exclusive! This is not a core team.

More information

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

Front End. Presentation Layer. UI (User Interface) User <==> Data access layer Angular 2 S1ngS1ng Front End UI (User Interface) User Data access layer Presentation Layer Architecture Conventional VS SPA Angular 1 Framework! Framework! Framework! MVVM (MV*) Modulization Two-way

More information

HTML5 Evolution and Development. Matt Spencer UI & Browser Marketing Manager

HTML5 Evolution and Development. Matt Spencer UI & Browser Marketing Manager HTML5 Evolution and Development Matt Spencer UI & Browser Marketing Manager 1 HTML5 Ratified. finally! After 7 years of development, the HTML5 specification was ratified on 28 th October 14 urce>

More information

Pro JavaScript. Development. Coding, Capabilities, and Tooling. Den Odell. Apress"

Pro JavaScript. Development. Coding, Capabilities, and Tooling. Den Odell. Apress Pro JavaScript Development Coding, Capabilities, and Tooling Den Odell Apress" Contents J About the Author About the Technical Reviewers Acknowledgments Introduction xv xvii xix xxi Chapter 1: Object-Oriented

More information

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

Course 1: Microsoft Professional Orientation: Front-End Web Developer Course 1: Microsoft Professional Orientation: Front-End Web Developer This orientation course is the first course in the Web Front-End Developer, Microsoft Professional Program curriculum. The orientation

More information

ECMAScript 2015 The Future of JavaScript is Now!

ECMAScript 2015 The Future of JavaScript is Now! ECMAScript 2015 The Future of JavaScript is Now! Tom Van Cutsem SPLASH-I 2015 @tvcutsem Talk Outline Part I: JavaScript s origins, and the long road to ECMAScript 6 Part II: a brief tour of ECMAScript

More information

Sample Copy. Not For Distribution.

Sample Copy. Not For Distribution. Angular 2 Interview Questions and Answers With Typescript and Angular 4 i Publishing-in-support-of, EDUCREATION PUBLISHING RZ 94, Sector - 6, Dwarka, New Delhi - 110075 Shubham Vihar, Mangla, Bilaspur,

More information

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

Course 1: Microsoft Professional Orientation: Front-End Web Developer Course 1: Microsoft Professional Orientation: Front-End Web Developer This orientation course is the first course in the Web Front-End Developer, Microsoft Professional Program curriculum. The orientation

More information

JavaScript: Getting Started

JavaScript: Getting Started coreservlets.com custom onsite training JavaScript: Getting Started Slides 2016 Marty Hall, hall@coreservlets.com For additional materials, please see http://www.coreservlets.com/. The JavaScript tutorial

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

Homework 8: Ajax, JSON and Responsive Design Travel and Entertainment Search (Bootstrap/Angular/AJAX/JSON/jQuery /Cloud Exercise)

Homework 8: Ajax, JSON and Responsive Design Travel and Entertainment Search (Bootstrap/Angular/AJAX/JSON/jQuery /Cloud Exercise) Homework 8: Ajax, JSON and Responsive Design Travel and Entertainment Search (Bootstrap/Angular/AJAX/JSON/jQuery /Cloud Exercise) 1. Objectives Get familiar with the AJAX and JSON technologies Use a combination

More information

Lesson 12: JavaScript and AJAX

Lesson 12: JavaScript and AJAX Lesson 12: JavaScript and AJAX Objectives Define fundamental AJAX elements and procedures Diagram common interactions among JavaScript, XML and XHTML Identify key XML structures and restrictions in relation

More information

Enterprise Web Development

Enterprise Web Development Enterprise Web Development Yakov Fain, Victor Rasputnis, Anatole Tartakovsky, and Viktor Gamov Beijing Cambridge Farnham Koln Sebastopol Tokyo O'REILLY Table of Contents Preface Introduction xi xxiii Part

More information

Comet and WebSocket Web Applications How to Scale Server-Side Event-Driven Scenarios

Comet and WebSocket Web Applications How to Scale Server-Side Event-Driven Scenarios Comet and WebSocket Web Applications How to Scale Server-Side Event-Driven Scenarios Simone Bordet sbordet@intalio.com 1 Agenda What are Comet web applications? Impacts of Comet web applications WebSocket

More information