Model-View-Whatever A COMPARISON OF JAVASCRIPT MVC/MVP/MVVM FRAMEWORKS. J. Tower

Size: px
Start display at page:

Download "Model-View-Whatever A COMPARISON OF JAVASCRIPT MVC/MVP/MVVM FRAMEWORKS. J. Tower"

Transcription

1 Model-View-Whatever A COMPARISON OF JAVASCRIPT MVC/MVP/MVVM FRAMEWORKS J. Tower

2 Principal Sponsor Thank our Principal Sponsor by tweeting and

3 Gold Sponsors Silver Sponsors

4 August 8 th 10 th 2016 Kalahari Resort, Wisconsin Dells

5 About Me Jonathan J. Tower Principal Consultant, JTower.com jtower.com/blog jtowermi

6 Overview MVW Framework Introductions AngularJS Backbone KnockoutJS Ember.js React.js Framework Deathmatch Other Notable Mentions

7 Why Just These Five? Sooo Many Frameworks 18 listed on Wikipedia 68 listed on TodoMVC.com 4 Most Popular Angular Ember Knockout Backbone Most Important New Framework React

8 Let s Get Started, But First

9 If You Give $100, So Will I! charity:water is a non-profit organization that provides clean and safe drinking water to people in developing nations. The organization was founded in 2006 and has helped fund 13,641 projects in 22 countries, benefiting over 4.6 million people. - Wikipedia 97.1/100 - CharityNavigator.org

10 MV Whatever?

11 What is MVW? Igor Minar, co-lead for AngularJS team at Google: MVC vs MVVM vs MVP. What a controversial topic that many developers can spend hours and hours debating and arguing about Having said, I'd rather see developers build kick-a** apps that are well-designed and follow separation of concerns, than see them waste time arguing about MV* nonsense. And for this reason, I hereby declare AngularJS to be MVW framework - Model-View-Whatever. Where Whatever stands for "whatever works for you". Source:

12 MVW vs MV* Sometimes used interchangeably Backbone.js MV* used to describe no controller Logic is in the view (which basically *IS* a controller) var AppView = Backbone.View.extend({ el: $('#container'), template: _.template("<h3>hello <%= who %></h3>"), initialize: function(){ this.render(); }, render: function(){ this.$el.html(this.template({who: 'world!'})); } }); var appview = new AppView();

13 Framework Introductions Five Frameworks

14 1. Backbone.js Backbone.js gives structure to web applications

15 Backbone.js Flexible Minimalist Allows separation of concerns (i.e., MVC) Supports: RESTful sync, models, views (with controllers), event-driven communication, templating, routing, binding Unopinionated Large community, history of success

16 Backbone.js Pros: Simplicity only 4 core components (Collection, Model, View, Router). Huge community (ecosystem) and lots of solutions on StackOverflow. Get customized application architecture. Well supported Lightweight Cons: Need to write lots of boilerplate code Missing official AMD support in projects Inconsistant documentation/examples (different periods of backbone s lifespan) Backbone.sync has baked in assumptions No view bindings by default (although you can fix this, rerendering the whole view when a single property changes is wasteful) MV* (No Controllers) Dependency on Underscore

17 Backbone.js DEMO <div id="container">loading...</div> var AppView = Backbone.View.extend({ el: $('#container'), template: _.template("<h3>hello <%= who %></h3>"), initialize: function(){ this.render(); }, render: function(){ this.$el.html(this.template({who: 'world!'})); } }); var appview = new AppView();

18 2. KnockoutJS Simplify dynamic JavaScript Uis with the MVVM Pattern

19 Use KnockoutJS Build complex, dynamic UIs Clean underlying data model Declarative bindings. Two-way bindings Use it with other framework

20 KnockoutJS Pros: Better API for so called collection views Custom events on observables Data binding No dependencies Cons: Lack of guidance or best practice for application structure. Leads to large, unmaintainable code

21 KnockoutJS DEMO <p>name: <input data-bind="value: name" /></p> <h2>hello, <span data-bind="text: name"> </span>!</h2> var ViewModel = function(name) { this.name = ko.observable(name); }; ko.applybindings(new ViewModel("J. Tower"));

22 3. Ember.js A framework for creating ambitious web applications

23 Ember.js Desktop-level application development for the web. Extremely opinionated Modular Less need to wire everything together manually Supports: persistence, computed properties and have auto-updating templates. State management (not just manual routing) It should also come with extensive docs and of course, templating.

24 Ember.js Pros: Live templates Observable Nice separation of concerns Avoid a lot of boilerplate Convention over configuration Cons: Learning curve Documentation Magic in the framework Error messages Requires JQuery Tight integration with Handlebars

25 Ember.js <script type="text/x-handlebars" data-template-name="index"> <h4>hello, {{name}}</h4> <p>name: {{input value=name}}</p> </script> var App = Ember.Application.create(); App.ApplicationRoute = Ember.Route.extend({ //routes here }); App.IndexRoute = Ember.Route.extend({ model: function() { return Em.Object.create({name: 'World'}); } });

26 4. AngularJS Superheroic JavaScript MVW Framework

27 AngularJS Declarative Uses the View to derive behavior Custom HTML tags and components Easily testable Routing Separation of concerns

28 AngularJS Pros: 2-way data binding Good performance Small download Simple, intuitive Excellent documentation Nested scopes Minimizes boilerplate code Code reuse through components Extends HTML syntax Easily testable (thanks to dependency injection) Non-trivial apps Cons: No built-in UI transitions for UI state changes Angular 2.0 not backwards compatible Medium learning curve (steeper than Backbone, less than Ember) Hard to debug Limited built-in router

29 AngularJS DEMO function HelloController($scope) { $scope.yourname = "default name"; } <body ng-app="app" ng-controller="hellocontroller"> Name: <input type="text" ng-model="yourname" /> <h1 ng-show="yourname">hello {{ yourname }}</h1> </body>

30 5. React.js A JavaScript library for building user interfaces

31 React.js Pros: Testable Easy component resuse Use alone or with other framework(s) Two-way binding (sort of) Ease of debugging Works easily with CommonJS and AMD Cons: Learning curve Integrating ReactJS into a MVC framework Verbose Not a full framework

32 React.js DEMO var HelloMessage = React.createClass({ render: function() { return <div>hello, {this.props.name}</div>; } }); React.renderComponent( <HelloMessage name="jtower" />, document.getelementbyid('mydiv') );

33 React.js DEMO var products = [ { name: 'Beans', price: 1.99 }, { name: 'Fruit', price: 3.45 }, { name: 'Candy', price: 3.00 } ]; React.render(<ProductList products={products} />, document.body);

34 Deathmatch

35 Features Framework Data-binding View Templates Data Service Routing Angular Two-way Declarative DOMbased Manual or RESTful Built-in (optional) Backbone None String-based Model sync Built-in (optional) Ember Two-way String-based Built-in or manual Built-in (mandatory) Knockout Two-way Declarative DOMbased Manual None React One-way JSX Manual None

36 Features Synopsis WINNERS*: Angular Knockout React *It depends on your needs. Ember is similar to Angular with some disadvantages. Backbone is similar to Knockout and React, but with disadvantages compared to these.

37 Community Metric AngularJS React.js Backbone.js Ember.js KnockoutJS Stars on Github 40.2k 30k 18.8k 14.1k 7k StackOverflow Questions 113k 31k 26k 22k 17k YouTube Results 204k 55k 45k 30k 16k GitHub Contributors Google Trends 87% 2% <1% <1% 10% Top 10k sites 5.5% 0.5% 7.1% 0.1% 2.2%

38 Community Synopsis Angular The current reigning champion React The recent up-and-comer Backbone An aging champ Ember the previously hot old news Knockout The soooo-yesterday WINNER: Angular* *But React and Backbone win in some categories

39 Download Size Ember Angular React Knockout Backbone Size (KB) Compressed (KB)

40 Download Size Synopsis Ember and Angular HEAVY downloads, especially Ember! React Medium-sized Knockout and Backbone Small WINNER: Backbone* *With Knockout close behind

41 Performance Source:

42 Performance: Take Two

43 Performance Synopsis Ember and React are slow Wait, React? Yes. Backbone is decent Knockout is fastest Angular is potentially good or bad WINNER: Knockout

44 Conclusions I was promised help deciding which framework to use

45 Apples-to-Apples AngularJS EmberJS Backbone with Marionette KnockoutJS with DurandalJS, and SammyJS React with RequireJS or Angular or???

46 JS MVC Framework Radar Source

47 Other Notable Mentions Kendo UI CanJS ExtJS Spine Batman Meteor

48 So, What Should I Use?* Lightweight: Knockout View-focused and lightweight: React Many situations: Angular *Too many caveats to even list

49 Decide For Yourself ToDo MVC

50 Recap MVW Framework Introductions AngularJS Backbone KnockoutJS Ember.js React.js Framework Deathmatch Other Notable Mentions

51 If You Give $100, So Will I! charity:water is a non-profit organization that provides clean and safe drinking water to people in developing nations. The organization was founded in 2006 and has helped fund 13,641 projects in 22 countries, benefiting over 4.6 million people. - Wikipedia 97.1/100 - CharityNavigator.org

52 Thank You! Questions? Jonathan J. Tower Principal Consultant, JTower.com jtower.com/blog jtowermi

Design and Implementation of Single Page Application Based on AngularJS

Design and Implementation of Single Page Application Based on AngularJS Design and Implementation of Single Page Application Based on AngularJS 1 Prof. B.A.Khivsara, 2 Mr.Umesh Khivsara 1 Assistant Prof., 2 Website Developer 1 Department of Computer Engineering, 2 UKValley

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

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

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

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

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

Client Side MVC with Backbone & Rails. Tom

Client Side MVC with Backbone & Rails. Tom Client Side MVC with Backbone & Rails Tom Zeng @tomzeng tom@intridea.com Client Side MV* with Backbone & Rails Benefits of Client Side MVC Backbone.js Introduction Client Side MV* Alternatives Backbone

More information

Creating Effective Websites using AngularJS

Creating Effective Websites using AngularJS Creating Effective Websites using AngularJS Brandon Mota Abstract Websites provide an effective form of displaying information. However, the site itself has to be designed in such a way to accurately and

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

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

Single Page Applications using AngularJS

Single Page Applications using AngularJS Single Page Applications using AngularJS About Your Instructor Session Objectives History of AngularJS Introduction & Features of AngularJS Why AngularJS Single Page Application and its challenges Data

More information

Frontend Frameworks. SWE 432, Fall 2016 Design and Implementation of Software for the Web

Frontend Frameworks. SWE 432, Fall 2016 Design and Implementation of Software for the Web Frontend Frameworks SWE 432, Fall 2016 Design and Implementation of Software for the Web Today How do we build a single page app without dying? MVC/MVVM (AngularJS) For further reading: Book: Learning

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

Anatomy of a SPA: Client-side MVC

Anatomy of a SPA: Client-side MVC 11/12/11 10:35 AM Anatomy of a SPA: Client-side MVC SPA: Single Page Application MVC: Model-View-Controller file:///users/baguirre/downloads/rubyconf-slides/index.html#1 11/12/11 10:36 AM My name is Alvaro

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

AngularJS. Beginner's guide - part 1

AngularJS. Beginner's guide - part 1 AngularJS Beginner's guide - part 1 AngularJS: 2 AngularJS: Superheroic JavaScript MVW Framework 3 AngularJS: Superheroic JavaScript MVW Framework 4 AngularJS: Superheroic JavaScript MVW Framework Javascript

More information

The UIComponent Ally or Enemy?

The UIComponent Ally or Enemy? The UIComponent Ally or Enemy? Joaquín Ruiz @jokiruizlite - Disclaimer This presentation contains my own views and thoughts of Magento 2 UI Components. Index Index 1. Introduction and the controversy 2.

More information

Getting Started with

Getting Started with Getting Started with Meganadha Reddy K. Technical Trainer NetCom Learning www.netcomlearning.com Agenda How websites work Introduction to JavaScript JavaScript Frameworks Getting Started : Angular JS Q&A

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

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

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

We will show you how we bypassed every XSS mitigation we tested. Mitigation bypass-ability via script gadget chains in 16 popular libraries

We will show you how we bypassed every XSS mitigation we tested. Mitigation bypass-ability via script gadget chains in 16 popular libraries We will show you how we bypassed every XSS mitigation we tested. Mitigation bypass-ability via script gadget chains in 16 popular libraries PoCs included Content Security Policy WAFs whitelists nonces

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

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

3/5/2012. Rich Internet Applications. Presentation layer. Presentation layer

3/5/2012. Rich Internet Applications. Presentation layer. Presentation layer 7. Single-page application architecture Presentation layer In a traditional web application, presentation layer is within web tier, renders output to client tier (browser) 7. Single-page application architecture

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

Ember.js front-end framework SEO challenges and frameworks comparison. Sunil Shrestha

Ember.js front-end framework SEO challenges and frameworks comparison. Sunil Shrestha Ember.js front-end framework SEO challenges and frameworks comparison Sunil Shrestha Bachelor s Thesis Degree Program in BITe October 2015 Abstract Author Sunil Shrestha Title of report Ember.js front-end

More information

This tutorial covers most of the topics required for a basic understanding of KnockoutJS and explains its various functionalities.

This tutorial covers most of the topics required for a basic understanding of KnockoutJS and explains its various functionalities. About the Tutorial KnockoutJS is basically a library written in JavaScript, based on MVVM pattern that helps developers in building rich and responsive websites. KnockoutJS library provides an easy and

More information

a Very Short Introduction to AngularJS

a Very Short Introduction to AngularJS a Very Short Introduction to AngularJS Lecture 11 CGS 3066 Fall 2016 November 8, 2016 Frameworks Advanced JavaScript programming (especially the complex handling of browser differences), can often be very

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

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

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

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

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

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

AngularJS Introduction

AngularJS Introduction AngularJS Introduction Mendel Rosenblum AngularJS JavaScript framework for writing web applications Handles: DOM manipulation, input validation, server communication, URL management, etc. Considered opinionated

More information

Single-Page JavaScript Apps

Single-Page JavaScript Apps Single-Page JavaScript Apps with RequireJS and Backbone.js Mihai Bîrsan Who is this guy? Mihai Bîrsan Sr. Web Development Engineer Email Tools Team Amazon Development Center Romania We ve recently rebuilt

More information

Angular and the Trending Frameworks of Mobile and Web-based Platform Technologies: A Comparative Analysis

Angular and the Trending Frameworks of Mobile and Web-based Platform Technologies: A Comparative Analysis Angular and the Trending Frameworks of Mobile and Web-based Platform Technologies: A Comparative Analysis Mohamed Sultan Opencast Software Email: mohamed.sultan1581@gmail.com Abstract Recently, numerous

More information

(p t y) lt d. 1995/04149/07. Course List 2018

(p t y) lt d. 1995/04149/07. Course List 2018 JAVA Java Programming Java is one of the most popular programming languages in the world, and is used by thousands of companies. This course will teach you the fundamentals of the Java language, so that

More information

Enabling realtime collaborative dataintensive

Enabling realtime collaborative dataintensive Fakultät für Informatik Technische Universität München Enabling realtime collaborative dataintensive web applications A case study using serverside JavaScript Betreuer: Sascha Roth Kooperationspartner:

More information

Code-Reuse Attacks for the Web: Breaking XSS mitigations via Script Gadgets

Code-Reuse Attacks for the Web: Breaking XSS mitigations via Script Gadgets Code-Reuse Attacks for the Web: Breaking XSS mitigations via Script Gadgets Sebastian Lekies (@slekies) Krzysztof Kotowicz (@kkotowicz) Eduardo Vela Nava (@sirdarckcat) Agenda 1. 2. 3. 4. 5. 6. Introduction

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

Nagaraju Bende

Nagaraju Bende AngularJS Nagaraju Bende Blog Twitter @nbende FaceBook nbende http://angularjs.org Agenda Introduction to AngularJS Pre-Requisites Why AngularJS Only Getting Started MV* pattern of AngularJS Directives,

More information

The DOM and jquery functions and selectors. Lesson 3

The DOM and jquery functions and selectors. Lesson 3 The DOM and jquery functions and selectors Lesson 3 Plan for this lesson Introduction to the DOM Code along More about manipulating the DOM JavaScript Frameworks Angular Backbone.js jquery Node.js jquery

More information

Vue.js Framework. Internet Engineering. Spring Pooya Parsa Professor: Bahador Bakhshi CE & IT Department, Amirkabir University of Technology

Vue.js Framework. Internet Engineering. Spring Pooya Parsa Professor: Bahador Bakhshi CE & IT Department, Amirkabir University of Technology Vue.js Framework Internet Engineering Spring 2018 Pooya Parsa Professor: Bahador Bakhshi CE & IT Department, Amirkabir University of Technology Outline Introduction to Vue.js The Vue instance Declarative

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

Introduction to AngularJS

Introduction to AngularJS CHAPTER 1 Introduction to AngularJS Google s AngularJS is an all-inclusive JavaScript model-view-controller (MVC) framework that makes it very easy to quickly build applications that run well on any desktop

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

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

FlexJS. OmPrakash Apache Flex PMC Member Advisory Software Engineer, IBM

FlexJS. OmPrakash Apache Flex PMC Member Advisory Software Engineer, IBM FlexJS OmPrakash Muppirala @bigosmallm bigosmallm@apache.org Apache Flex PMC Member Advisory Software Engineer, IBM Who am I? Advisory Software Engineer at IBM Apache Flex Committer and PMC Member UI Architect

More information

Connecting Angular and CFML

Connecting Angular and CFML Connecting Angular and CFML Trip Ward About Me Senior Technical Specialist at ICF Owner & Chief Consultant at Trir Software Software Architecture and Development ColdFusion(1998), Java, jquery, HTML5,

More information

Client-side Kung-Fu. with Backbone.js. Gur

Client-side Kung-Fu. with Backbone.js. Gur Client-side Kung-Fu with Backbone.js Gur Dotan @gurdotan http://github.com/gurdotan Credits igloolab.com @iloveigloo michele.berto.li @MicheleBertoli Agenda Preface Why Backbone.js Backbone.js Architecture

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

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

Understanding Angular Directives By Jeffry Houser

Understanding Angular Directives By Jeffry Houser Understanding Angular Directives By Jeffry Houser A DotComIt Whitepaper Copyright 2016 by DotComIt, LLC Contents A Simple Directive... 4 Our Directive... 4 Create the App Infrastructure... 4 Creating a

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

What is AngularJS. à Javascript Framework à MVC à for Rich Web Application Development à by Google

What is AngularJS. à Javascript Framework à MVC à for Rich Web Application Development à by Google AngularJS What is AngularJS à Javascript Framework à MVC à for Rich Web Application Development à by Google Why AngularJS Other frameworks deal with HTML s shortcomings by either abstracting away HTML,

More information

Introduction to. Angular. Prof. Dr.-Ing. Thomas Wiedemann.

Introduction to. Angular. Prof. Dr.-Ing. Thomas Wiedemann. EwA - Web based systems Introduction to Angular Prof. Dr.-Ing. Thomas Wiedemann email: wiedem@informatik.htw-dresden.de HOCHSCHULE FÜR TECHNIK UND WIRTSCHAFT DRESDEN (FH) Fachbereich Informatik/Mathematik

More information

Your customer engagement transformation starts here

Your customer engagement transformation starts here Your customer engagement transformation starts here Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. Using JavaScript frameworks

More information

Part 1: Data-Binding Frameworks (e.g. AngularJS)

Part 1: Data-Binding Frameworks (e.g. AngularJS) Miško Hevery: AngularJS & Testability Part 1: Data-Binding Frameworks (e.g. AngularJS) 0.00.24 0.03.00 0.03.00 0.05.30 0.05.30 0.07.30 Misko Hevery introduces building an app with AngularJS. To follow

More information

Mobile Development with Visual Studio 2015

Mobile Development with Visual Studio 2015 Mobile Development with Visual Studio 2015 Bill Ayers MCM/MCSM Charter SharePoint MCT, MCTS, MCITP, MCSD, MCAD, MCSA, MCDBA, Professional Scrum Master (PSM I), etc. Flow Simulation Ltd. www.spdoctor.net

More information

Q2D8T#YH# BYUQTUQ+ *")#+,-./,01#2../,345,67#869,3#47:#+5;<35<;=!"""""""""""# $& B675;6//=;#CD/645E!

Q2D8T#YH# BYUQTUQ+ *)#+,-./,01#2../,345,67#869,3#47:#+5;<35<;=!# $& B675;6//=;#CD/645E! A Publication of Q2D8T#YH# BYUQTUQ+!"#$%&'()*+&,(%!"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""# $% -"#.%&,/01&&2'%3#4#523(6*&,(% """"""""""""""""""""""""""""""""""""# $& *")#+,-./,01#2../,345,67#869,3#47:#+5;

More information

THE HITCHHIKERS GUIDE TO. Harper Maddox CTO, EdgeTheory 30 September 2014

THE HITCHHIKERS GUIDE TO. Harper Maddox CTO, EdgeTheory 30 September 2014 THE HITCHHIKERS GUIDE TO! Harper Maddox CTO, EdgeTheory 30 September 2014 DON T PANIC ENJOYMENT OF ANGULAR Services, Modules promises, directives Angular RULEZ I m doing it wrong @#$% Taken from Alicia

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

Building an OpenLayers 3 map viewer with React

Building an OpenLayers 3 map viewer with React FOSS4G 2015 Building an OpenLayers 3 map viewer with React @PirminKalberer Sourcepole AG, Switzerland www.sourcepole.com About Sourcepole > QGIS > > > > Core dev. & Project Steering Commitee QGIS Server,

More information

Financial. AngularJS. AngularJS. Download Full Version :

Financial. AngularJS. AngularJS. Download Full Version : Financial AngularJS AngularJS Download Full Version : https://killexams.com/pass4sure/exam-detail/angularjs Section 1: Sec One (1 to 50) Details:This section provides a huge collection of Angularjs Interview

More information

PWA s are the future!

PWA s are the future! PWA s are the future! Prediction Possible Fact In the future, more people will visit our sites on mobile devices than desktops Existing Projects: M1: in transition to M2 M2: live M2: being signed Magento

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

Financial. AngularJS. AngularJS.

Financial. AngularJS. AngularJS. Financial http://killexams.com/exam-detail/ Section 1: Sec One (1 to 50) Details:This section provides a huge collection of Angularjs Interview Questions with their answers hidden in a box to challenge

More information

JavaScript Frameworks

JavaScript Frameworks JavaScript Frameworks A Comparison Of Titans Philip Esmailzade philipesmailzade@gmail.com Faculty of Computing Blekinge Institute of Technology SE-371 79 Karlskrona Sweden ABSTRACT There are several JavaScript

More information

Web Application Development

Web Application Development Web Application Development Produced by David Drohan (ddrohan@wit.ie) Department of Computing & Mathematics Waterford Institute of Technology http://www.wit.ie INTRODUCTION & TERMINOLOGY PART 1 Objec8ves

More information

Building Single Page Applications - Synerzip Free Webinar (Feb 2014) Page 1 of 13

Building Single Page Applications - Synerzip Free Webinar (Feb 2014) Page 1 of 13 Hemant Elhence: The topic today is building single page applications; know the ecosystem. Single page applications is a very popular way now to build highly immersive web applications which provide a desktop

More information

MOBILIZE YOUR ENTERPRISE WITH TELERIK SOLUTIONS

MOBILIZE YOUR ENTERPRISE WITH TELERIK SOLUTIONS MOBILIZE YOUR ENTERPRISE WITH TELERIK SOLUTIONS Work doesn t just happen in the office. Technology is changing the way organizations operate. Today s business environment requires your employees to take

More information

AngularJS AN INTRODUCTION. Introduction to the AngularJS framework

AngularJS AN INTRODUCTION. Introduction to the AngularJS framework AngularJS AN INTRODUCTION Introduction to the AngularJS framework AngularJS Javascript framework for writing frontend web apps DOM manipulation, input validation, server communication, URL management,

More information

> Introduction to Office Extensibility. > Microsoft Graph and Excel Integration. > Office Add-ins and Excel Extensibility

> Introduction to Office Extensibility. > Microsoft Graph and Excel Integration. > Office Add-ins and Excel Extensibility > Introduction to Office Extensibility > Microsoft Graph and Excel Integration > Office Add-ins and Excel Extensibility > Learn and engage: Resources Developer opportunity USERS DATA INTELLIGENCE 90% of

More information

JavaScript Web Applications: JQuery Developers' Guide To Moving State To The Client By Alex MacCaw READ ONLINE

JavaScript Web Applications: JQuery Developers' Guide To Moving State To The Client By Alex MacCaw READ ONLINE JavaScript Web Applications: JQuery Developers' Guide To Moving State To The Client By Alex MacCaw READ ONLINE If you are looking for a book by Alex MacCaw JavaScript Web Applications: jquery Developers'

More information

Learning Node.js For Mobile Application Development By Stefan Buttigieg;Christopher Svanefalk

Learning Node.js For Mobile Application Development By Stefan Buttigieg;Christopher Svanefalk Learning Node.js For Mobile Application Development By Stefan Buttigieg;Christopher Svanefalk If searching for a book by Stefan Buttigieg;Christopher Svanefalk Learning Node.js for Mobile Application Development

More information

Data-Centric Single Page Apps with Angular, Web API, and Breeze

Data-Centric Single Page Apps with Angular, Web API, and Breeze Data-Centric Single Page Apps with Angular, Web API, and Breeze Brian Noyes CTO and Co-founder, Solliance (www.solliance.net) brian.noyes@solliance.net, @briannoyes About Brian Noyes www.solliance.net

More information

Building User Interfaces Using Virtual DOM. A comparison against dirty checking and KVO

Building User Interfaces Using Virtual DOM. A comparison against dirty checking and KVO Building User Interfaces Using Virtual DOM A comparison against dirty checking and KVO Marianne Grov Master s Thesis Spring 2015 Building User Interfaces Using Virtual DOM Marianne Grov 20th May 2015

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

To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservices on CloudFoundry. Tony Erwin,

To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservices on CloudFoundry. Tony Erwin, To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservices on CloudFoundry Tony Erwin, aerwin@us.ibm.com Agenda Origins of the Bluemix UI Demons of the Monolith Slaying Demons with

More information

Table of Contents. Introduction 1. 1 Jumping Into JavaScript 5. for Loops 17

Table of Contents. Introduction 1. 1 Jumping Into JavaScript 5. for Loops 17 Table of Contents Introduction 1 Who Should Read This Book 1 Why You Should Read This Book 1 What You Will Learn from This Book 2 What Is AngularJS? 2 How Is This Book Organized? 3 Getting the Code Examples

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

Backbone.js in a Php Environment

Backbone.js in a Php Environment Backbone.js in a Php Environment March 2, 2013 Ken Harris Sr. Developer, Telkonet.com Milwaukee, WI Trends in Web Apps Fatter Clients Desktop style apps Lots of Javascript Lots of CSS Requires structure

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

One Framework. Angular

One Framework. Angular One Framework. Angular Web 2.0 Marc Dangschat Introduction AngularJS (1) released in 2009 Angular (2) released October Short: ng Framework TypeScript, JavaScript, Dart MIT license

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

Questions and Answers from Lukas Ruebbelke s AngularJS In-Depth Course

Questions and Answers from Lukas Ruebbelke s AngularJS In-Depth Course Questions and Answers from Lukas Ruebbelke s AngularJS In-Depth Course What is the best way to load large amounts of data with infinite scrolling? Would you recommend nginfinitescroll or is there another

More information

<angular/> JavaScript Done Right

<angular/> JavaScript Done Right JavaScript Done Right Elliott Sprehn (Google, Inc.) esprehn@gmail.com http://www.elliottsprehn.com/blog/ http://www.elliottsprehn.com/cfbugs/ http://www.angularjs.org/ 1 ColdFusion rocks Easily

More information

SPA Design And Architecture: Understanding Single Page Web Applications By Emmit Scott READ ONLINE

SPA Design And Architecture: Understanding Single Page Web Applications By Emmit Scott READ ONLINE SPA Design And Architecture: Understanding Single Page Web Applications By Emmit Scott READ ONLINE If looking for a ebook by Emmit Scott SPA Design and Architecture: Understanding Single Page Web Applications

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

Using AngularJS In APEX. Dan McGhan Senior Technical Consultant

Using AngularJS In APEX. Dan McGhan Senior Technical Consultant Using AngularJS In APEX Dan McGhan Senior Technical Consultant 1 My background Dan McGhan Senior consultant with Enkitec Joined in March 2013 dmcghan@enkitec.com Co-Author, Expert APEX A.K.A that guy that

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

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

Java EE 6: Develop Web Applications with JSF

Java EE 6: Develop Web Applications with JSF Oracle University Contact Us: +966 1 1 2739 894 Java EE 6: Develop Web Applications with JSF Duration: 4 Days What you will learn JavaServer Faces technology, the server-side component framework designed

More information

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

Practical Course: Web Development Angular JS Part I Winter Semester 2016/17. Juliane Franze Practical Course: Web Development Angular JS Part I Winter Semester 2016/17 Juliane Franze Ludwig-Maximilians-Universität München Practical Course Web Development WS 16/17-01 - 1 Today s Agenda What is

More information

,

, [Class Room Online Training] Weekdays:- 2hrs / 3 days Fastrack:- 1½ hrs per day Weekends:- 2½ hrs (Sat & Sun) An ISO 9001:2015 Institute ADMEC Multimedia Institute www.admecindia.co.in 9911-782-350, 9811-818-122

More information

3 Days Training Program

3 Days Training Program 3 Days Training Program What is AngularJS? A JavaScript framework for creating dynamic web applications Open Source GitHub: https://github.com/angular/angular.js MIT License Uses jquery jquery 1.7.1 or

More information

Building Backbone Plugins

Building Backbone Plugins Building Backbone Plugins Eliminate The Boilerplate In Backbone.js Apps Derick Bailey and Jerome Gravel-Niquet 2013-2014 Muted Solutions, LLC. All Rights Reserved. Backbone.js and the Backbone.js logo

More information

Full Stack Web Developer

Full Stack Web Developer Full Stack Web Developer S.NO Technologies 1 HTML5 &CSS3 2 JavaScript, Object Oriented JavaScript& jquery 3 PHP&MYSQL Objective: Understand the importance of the web as a medium of communication. Understand

More information