Single-Page JavaScript Apps

Size: px
Start display at page:

Download "Single-Page JavaScript Apps"

Transcription

1 Single-Page JavaScript Apps with RequireJS and Backbone.js Mihai Bîrsan

2 Who is this guy? Mihai Bîrsan Sr. Web Development Engineer Tools Team Amazon Development Center Romania We ve recently rebuilt our project s UI using Backbone.js and Require.js (among others)

3 Single-Page Applications explained Example application MVC and Backbone.js AMD and Require.js

4 What are Single-Page Applications? Recent new way to develop web applications

5 What are classic web applications? Request Page response Page-by-page The web was invented as a collection of static documents

6 What are Single-Page Applications? JavaScript client application Pulls data with AJAX Has an internal state that s not necessarily represented on the server

7 Examples in the wild Classic web applications Forums Every web application before AJAX Single Page Applications Gmail Amazon Search Page

8

9 How do we develop TodoMVC Think about the architecture of the app Separate concerns data: the actual to-do items presentation: displaying data behavior: creating and filtering data

10 How do we develop TodoMVC data Model View Controller presentation behavior

11 MVC and Single Page Applications Built around user input Events No single point of control No Controller

12 How do we develop TodoMVC data Model View Events presentation behavior

13 Scaffolding: Basic structure index.html obviously, the container styles/*.css the presentation javascripts/*.js the behavior javascripts/main.js app entry point

14 Backbone.js Library Overview Models & Collections Views Events Router

15 Backbone Model A special type of object Keeps track of changed attributes Fires events when its internal state changes

16 Todo Model var TodoModel = Backbone.Model.extend({ // Default attributes for the todo // and ensure that each todo created // has `title` and `completed` keys. defaults: { title: '', completed: false }, }); // Toggle the `completed` state of this todo item. toggle: function () { this.save({ completed:!this.get('completed') }); }

17 Model usage example var todo = new TodoModel({ text: "Do the dishes." }); // Later: Update the text todo.set("text", "Do the dishes NOW!"); todo.save(); // Even later: Mark the task as complete todo.toggle();

18 Todos Collection var TodosCollection = Backbone.Collection.extend({ // Reference to this collection's model. model: Todo, // Filter down the list: all finished todo items. completed: function () { return this.filter(function (todo) { return todo.get('completed'); }); }, }); // Filter down the list: all incomplete todo items. remaining: function () { return this.without.apply(this, this.completed()); }

19 Collection usage example var todos = new TodosCollection([ { text: "Get milk" }, { text: "Make cake" }, { text: "Eat the cake" } ]); // Mark the first item as completed todos.at(0).toggle(); // Check number of incomplete items console.log(todos.remaining().length);

20 Displaying information Application View displays the whole collection uses Todo views to display each model Todo View displays a single Todo model

21 Todo View var TodoView = Backbone.View.extend({ tagname: 'li', // This is a function that generates HTML template: _.template(todostemplate), render: function () { this.$el.html(this.template(this.model.tojson())); this.$el.toggleclass( 'completed', this.model.get('completed') ); }, this.togglevisible(); this.$input = this.$('.edit'); return this;

22 Tying it up with events View events trigger changes in the model click the check mark toggle the completeness edit the input update the text

23 Todo View s own events var TodoView = Backbone.View.extend({ events: { 'click.toggle': 'togglecompleted', 'dblclick label': 'edit', 'click.destroy': 'clear', 'keypress.edit': 'updateonenter', 'blur.edit': 'close' }, some lines hidden // Toggle the `"completed"` state of the model. togglecompleted: function () { this.model.toggle(); },

24 Tying it up with events Model events trigger updates in the view when any code makes a Todo invisible the view hides it when any attribute of the model changes the view re-renders

25 Todo View s model events var TodoView = Backbone.View.extend({ initialize: function () { this.listento(this.model, 'change', this.render); this.listento(this.model, 'destroy', this.remove); this.listento( }, ); this.model, some lines hidden // the object to listen to 'visible', // the event name this.togglevisible // the function to call }; togglevisible: function () { this.$el.toggleclass('hidden', this.ishidden()); }, some lines hidden

26 More interesting code app.js the main application view router.js Backbone Router to respond to URL changes and update it templates/*.html partial HTML documents, transformed with _.template()

27 Interconnected modules App View Todo View Todos Collection Todo Model

28 Interconnected modules, actually App View jquery Backbone Underscore Utilities template todos.html Todo View template stats.html Todo Model Todos Collection

29 Require.js Library Overview Define dependencies Asynchronously load dependencies

30 Dependencies in app.js define([ 'jquery', 'underscore', 'backbone', 'collections/todos', 'views/todos', 'text!templates/stats.html', 'common' ], function ($, _, Backbone, Todos, TodoView, statstmpl, Common) { some lines missing

31 Prettier define call, IMHO define(function (require) { var $ = require('jquery'), _ = require('underscore'), Backbone = require('backbone'), Todos = require('collections/todos'), TodoView = require('views/todos'), statstmpl = require('text!templates/stats.html'), Common = require('common'); some lines missing

32 How definition works Each file contains one module Modules are defined by calling define The callback passed to define returns the actual module object

33 The definition of Todo Model define([ 'underscore', 'backbone' ], function (_, Backbone) { 'use strict'; var TodoModel = Backbone.Model.extend({ }); some lines hidden }); return TodoModel;

34 How dependencies are loaded The string passed to define or require is the path of the JavaScript file If require has already loaded the file the associated module is returned Else the module is being loaded The callback is called once all modules have been loaded

35 The require function In the simplified version of define call, it is magically transformed require("...") is never called! Will always return immediately the module, if already loaded null, if not loaded; also starts loading Can be passed a callback

36 The require function // In an arbitrary script (not in define) var _ = require('underscore'); // _ is null, because require hasn't loaded Underscore yet // Much later, after Underscore has been loaded var _ = require('underscore'); // _ is the expected Underscore object // Altogether, if necessary require(['underscore'], function (_) { // Underscore is loaded when this function is called });

37 What about saving the data? localstorage is used for this example after the break we talk about a back-end solution for storing data, working out of the box with Backbone

38 When not to use this Not all problems have to be solved with the MVW pattern Choose the pattern that best suits the situation One-off scripts and hacks don t need this

39 Hack it today! fork it on

40 Thank you! Questions?

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

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

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

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

5/29/2014 BACKBONE.JS. By Phil Huhn Northern Software Group. Agenda. Model Collection View Router. Categories App.

5/29/2014 BACKBONE.JS. By Phil Huhn Northern Software Group. Agenda. Model Collection View Router. Categories App. BACKBONE.JS By Phil Huhn 2013-09-15 2013 Northern Software Group Agenda Model Collection View Router Categories App NSG (c) 2014 1 Javascript MV* Libraries MVC/MVVM Libraries/Frameworks AngularJS Backbone.js

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

moxie-js-client documentation

moxie-js-client documentation moxie-js-client documentation Release 1.0 Mobile Oxford team, IT Services, University of Oxford December 16, 2016 Contents 1 Developer 1 1.1 Overview................................................. 1

More information

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

Model-View-Whatever A COMPARISON OF JAVASCRIPT MVC/MVP/MVVM FRAMEWORKS. J. Tower Model-View-Whatever A COMPARISON OF JAVASCRIPT MVC/MVP/MVVM FRAMEWORKS J. Tower Principal Sponsor http://www.skylinetechnologies.com Thank our Principal Sponsor by tweeting and following @SkylineTweets

More information

Backbone.js Cookbook. Vadim Mirgorod. Chapter No. 5 "Events and Bindings"

Backbone.js Cookbook. Vadim Mirgorod. Chapter No. 5 Events and Bindings Backbone.js Cookbook Vadim Mirgorod Chapter No. 5 "Events and Bindings" In this package, you will find: A Biography of the author of the book A preview chapter from the book, Chapter NO.5 "Events and Bindings"

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

NetAdvantage for jquery SR Release Notes

NetAdvantage for jquery SR Release Notes NetAdvantage for jquery 2012.1 SR Release Notes Create the best Web experiences in browsers and devices with our user interface controls designed expressly for jquery, ASP.NET MVC, HTML 5 and CSS 3. You

More information

Brunch Documentation. Release Brunch team

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

More information

Using AJAX to Easily Integrate Rich Media Elements

Using AJAX to Easily Integrate Rich Media Elements 505 Using AJAX to Easily Integrate Rich Media Elements James Monroe Course Developer, WWW.eLearningGuild.com The Problem: How to string together several rich media elements (images, Flash movies, video,

More information

AJAX: Asynchronous Event Handling Sunnie Chung

AJAX: Asynchronous Event Handling Sunnie Chung AJAX: Asynchronous Event Handling Sunnie Chung http://adaptivepath.org/ideas/ajax-new-approach-web-applications/ http://stackoverflow.com/questions/598436/does-an-asynchronous-call-always-create-call-a-new-thread

More information

JavaScript. jquery and other frameworks. Jacobo Aragunde Pérez. blogs.igalia.com/jaragunde

JavaScript. jquery and other frameworks. Jacobo Aragunde Pérez. blogs.igalia.com/jaragunde JavaScript static void _f_do_barnacle_install_properties(gobjectclass *gobject_class) { GParamSpec *pspec; /* Party code attribute */ pspec = g_param_spec_uint64 (F_DO_BARNACLE_CODE, jquery and other frameworks

More information

WELCOME TO JQUERY PROGRAMMING LANGUAGE ONLINE TUTORIAL

WELCOME TO JQUERY PROGRAMMING LANGUAGE ONLINE TUTORIAL WELCOME TO JQUERY PROGRAMMING LANGUAGE ONLINE TUTORIAL 1 The above website template represents the HTML/CSS previous studio project we have been working on. Today s lesson will focus on JQUERY programming

More information

Building a FEB Application That Keeps a Record History

Building a FEB Application That Keeps a Record History Building a FEB Application That Keeps a Record History Table of Contents Description...1 Application Functional Walk Through...1 How the Application Works...6 Create/Update a Record...6 Show Active Records

More information

Human-Computer Interaction Design

Human-Computer Interaction Design Human-Computer Interaction Design COGS120/CSE170 - Intro. HCI Instructor: Philip Guo Lab 6 - Connecting frontend and backend without page reloads (2016-11-03) by Michael Bernstein, Scott Klemmer, and Philip

More information

This tutorial covers most of the topics required for a basic understanding of BackboneJS and to get a feel of how it works.

This tutorial covers most of the topics required for a basic understanding of BackboneJS and to get a feel of how it works. i About the Tutorial BackboneJS is a light weight JavaScript library that allows to develop and structure client side applications that run in a web browser. It offers MVC framework which abstracts data

More information

Moodle JavaScript. Using AMD with RequireJS. Daniel Thee Roperto.

Moodle JavaScript. Using AMD with RequireJS. Daniel Thee Roperto. Moodle JavaScript Using AMD with RequireJS Daniel Thee Roperto daniel.roperto@catalyst-au.net Why JavaScript? HTML CSS information presentation JavaScript JSON behaviour more information Moodle JavaScript

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

Mobile Web Applications. Gary Dubuque IT Research Architect Department of Revenue

Mobile Web Applications. Gary Dubuque IT Research Architect Department of Revenue Mobile Web Applications Gary Dubuque IT Research Architect Department of Revenue Summary Times are approximate 10:15am 10:25am 10:35am 10:45am Evolution of Web Applications How they got replaced by native

More information

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

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

More information

Django with Python Course Catalog

Django with Python Course Catalog Django with Python Course Catalog Enhance Your Contribution to the Business, Earn Industry-recognized Accreditations, and Develop Skills that Help You Advance in Your Career March 2018 www.iotintercon.com

More information

Mix It Up: Visual Studio 2010 and ASP.NET 4.0. Singapore 25 March 2009

Mix It Up: Visual Studio 2010 and ASP.NET 4.0. Singapore 25 March 2009 Mix It Up: Visual Studio 2010 and ASP.NET 4.0 Singapore 25 March 2009 Mar Mix-It-Up: Visual Studio 2010 and ASP.NET 4.0 Mix 01: Future of Web Development with Visual Studio 2010 and ASP.NET 4.0 by Maung

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

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

20486-Developing ASP.NET MVC 4 Web Applications

20486-Developing ASP.NET MVC 4 Web Applications Course Outline 20486-Developing ASP.NET MVC 4 Web Applications Duration: 5 days (30 hours) Target Audience: This course is intended for professional web developers who use Microsoft Visual Studio in an

More information

welcome to BOILERCAMP HOW TO WEB DEV

welcome to BOILERCAMP HOW TO WEB DEV welcome to BOILERCAMP HOW TO WEB DEV Introduction / Project Overview The Plan Personal Website/Blog Schedule Introduction / Project Overview HTML / CSS Client-side JavaScript Lunch Node.js / Express.js

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

JavaServer Faces Technology, AJAX, and Portlets: It s Easy if You Know How!

JavaServer Faces Technology, AJAX, and Portlets: It s Easy if You Know How! TS-6824 JavaServer Faces Technology, AJAX, and Portlets: It s Easy if You Know How! Brendan Murray Software Architect IBM http://www.ibm.com 2007 JavaOne SM Conference Session TS-6824 Goal Why am I here?

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

Unifer Documentation. Release V1.0. Matthew S

Unifer Documentation. Release V1.0. Matthew S Unifer Documentation Release V1.0 Matthew S July 28, 2014 Contents 1 Unifer Tutorial - Notes Web App 3 1.1 Setting up................................................. 3 1.2 Getting the Template...........................................

More information

CS50 Quiz Review. November 13, 2017

CS50 Quiz Review. November 13, 2017 CS50 Quiz Review November 13, 2017 Info http://docs.cs50.net/2017/fall/quiz/about.html 48-hour window in which to take the quiz. You should require much less than that; expect an appropriately-scaled down

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

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

Jquery.ajax Call Returns Status Code Of 200 But Fires Jquery Error

Jquery.ajax Call Returns Status Code Of 200 But Fires Jquery Error Jquery.ajax Call Returns Status Code Of 200 But Fires Jquery Error The request returns http 200 OK, but the xhr status is 0, error. jquery Ajax Request to get JSON data fires error event to make an ajax

More information

Course 20486B: Developing ASP.NET MVC 4 Web Applications

Course 20486B: Developing ASP.NET MVC 4 Web Applications Course 20486B: Developing ASP.NET MVC 4 Web Applications Overview In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5 tools and technologies. The focus

More information

Developing ASP.NET MVC 4 Web Applications

Developing ASP.NET MVC 4 Web Applications Developing ASP.NET MVC 4 Web Applications Duration: 5 Days Course Code: 20486B About this course In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5

More information

Courslets, a golf improvement web service. Peter Battaglia

Courslets, a golf improvement web service. Peter Battaglia Courslets, a golf improvement web service Peter Battaglia Discussion Project Overview Design and Technologies Utilized Rails and REST URLs, URLs, URLs Rails and Web Services What s s exposed as a service?

More information

Marketo Forms Integration Guide

Marketo Forms Integration Guide The SendSafely Secure Upload Widget can be easily integrated into any Marketo Form. Once integrated, users can secure attach files to any Marketo form. If you are not familiar with how SendSafely works,

More information

Application Development

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

More information

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

ASP.NET MVC Training

ASP.NET MVC Training TRELLISSOFT ASP.NET MVC Training About This Course: Audience(s): Developers Technology: Visual Studio Duration: 6 days (48 Hours) Language(s): English Overview In this course, students will learn to develop

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

Adapt Learning: Adapt Framework Concept and Vision

Adapt Learning: Adapt Framework Concept and Vision Adapt Learning: Adapt Framework Concept and Vision Document control Abstract: Author: Describes the concept of the Adapt Framework Sven Laux, Daryl Hedley, Paul Welch Version: 1.0 Date: 27 / 11 / 2013

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

Hi I m Jamund and I love ES6 and I m giving this talk.

Hi I m Jamund and I love ES6 and I m giving this talk. ES6 for Everyone Hi I m Jamund and I love ES6 and I m giving this talk. Why are you here?» Node.js People?» UI Engineers?» Designers?» Web Devs?» Non-technical folks? A LITTLE HISTORY OF JavaScript JavaScript

More information

COURSE 20486B: DEVELOPING ASP.NET MVC 4 WEB APPLICATIONS

COURSE 20486B: DEVELOPING ASP.NET MVC 4 WEB APPLICATIONS ABOUT THIS COURSE In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5 tools and technologies. The focus will be on coding activities that enhance the

More information

20486: Developing ASP.NET MVC 4 Web Applications (5 Days)

20486: Developing ASP.NET MVC 4 Web Applications (5 Days) www.peaklearningllc.com 20486: Developing ASP.NET MVC 4 Web Applications (5 Days) About this Course In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework

More information

Beyond'jQuery. It all started so quietly... JavaScript is a first class citizen. What does that mean? Nathaniel T.

Beyond'jQuery. It all started so quietly... JavaScript is a first class citizen. What does that mean? Nathaniel T. Beyond'jQuery It all started so quietly... Nathaniel T. Schutta @ntschutta One line at a time. No avoiding it now... JavaScript is a first class citizen. What does that mean? How do we create modern web

More information

Part of this connection identifies how the response can / should be provided to the client code via the use of a callback routine.

Part of this connection identifies how the response can / should be provided to the client code via the use of a callback routine. What is AJAX? In one sense, AJAX is simply an acronym for Asynchronous JavaScript And XML In another, it is a protocol for sending requests from a client (web page) to a server, and how the information

More information

Ignite UI Release Notes

Ignite UI Release Notes Ignite UI 2013.1 Release Notes Create the best Web experiences in browsers and devices with our user interface controls designed expressly for jquery, ASP.NET MVC, HTML 5 and CSS 3. You ll be building

More information

Contents. Demos folder: Demos\14-Ajax. 1. Overview of Ajax. 2. Using Ajax directly. 3. jquery and Ajax. 4. Consuming RESTful services

Contents. Demos folder: Demos\14-Ajax. 1. Overview of Ajax. 2. Using Ajax directly. 3. jquery and Ajax. 4. Consuming RESTful services Ajax Contents 1. Overview of Ajax 2. Using Ajax directly 3. jquery and Ajax 4. Consuming RESTful services Demos folder: Demos\14-Ajax 2 1. Overview of Ajax What is Ajax? Traditional Web applications Ajax

More information

20486: Developing ASP.NET MVC 4 Web Applications

20486: Developing ASP.NET MVC 4 Web Applications 20486: Developing ASP.NET MVC 4 Web Applications Length: 5 days Audience: Developers Level: 300 OVERVIEW In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework

More information

Getting started with jquery MIS Konstantin Bauman. Department of MIS Fox School of Business Temple University

Getting started with jquery MIS Konstantin Bauman. Department of MIS Fox School of Business Temple University Getting started with jquery MIS 2402 Konstantin Bauman Department of MIS Fox School of Business Temple University Exam 2 Date: 11/06/18 four weeks from now! JavaScript, jquery 1 hour 20 minutes Use class

More information

PHP / MYSQL DURATION: 2 MONTHS

PHP / MYSQL DURATION: 2 MONTHS PHP / MYSQL HTML Introduction of Web Technology History of HTML HTML Editors HTML Doctypes HTML Heads and Basics HTML Comments HTML Formatting HTML Fonts, styles HTML links and images HTML Blocks and Layout

More information

Developing ASP.NET MVC 4 Web Applications

Developing ASP.NET MVC 4 Web Applications Developing ASP.NET MVC 4 Web Applications Course 20486B; 5 days, Instructor-led Course Description In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5

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

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

Building Backbone Plugins

Building Backbone Plugins Building Backbone Plugins Eliminate The Boilerplate In Backbone.js Apps Derick Bailey and Jerome Gravel-Niquet This book is for sale at http://leanpub.com/building-backbone-plugins This version was published

More information

Model-View-Controller

Model-View-Controller Model-View-Controller CSE 331 Section 8 11/15/2012 Slides by Kellen Donohue with material from Krysta Yousoufian, Jackson Roberts, Hal Perkins Agenda hw4, hw6 being graded hw7 due tonight Midterms from

More information

React. SWE 432, Fall Web Application Development

React. SWE 432, Fall Web Application Development React SWE 432, Fall 2018 Web Application Development Review: What is state? All internal component data that, when changed, should trigger UI update Stored as single JSON object this.state What isn t state?

More information

Databases/JQuery AUGUST 1, 2018

Databases/JQuery AUGUST 1, 2018 Databases/JQuery AUGUST 1, 2018 Databases What is a Database? A table Durable place for storing things Place to easily lookup and update information Databases: The M in MVC What is a Database? Your Model

More information

dox42 Azure Active Directory Integration

dox42 Azure Active Directory Integration dox4 Azure Active Directory Integration Fabian Huber Documentation Summary In this document an instruction will be provided how to configure Azure Active Directory (ADD) with dox4, the Server Web and how

More information

Widget ID Each user type widget should have a unique identifier within a single controller (ID). Any string can be as ID.

Widget ID Each user type widget should have a unique identifier within a single controller (ID). Any string can be as ID. Widget ID Each user type widget should have a unique identifier within a single controller (ID). Any string can be as ID. Widget ID is used when installing the widget, appears in its program code and cannot

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

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

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

UI Course HTML: (Html, CSS, JavaScript, JQuery, Bootstrap, AngularJS) Introduction. The World Wide Web (WWW) and history of HTML UI Course (Html, CSS, JavaScript, JQuery, Bootstrap, AngularJS) HTML: Introduction The World Wide Web (WWW) and history of HTML Hypertext and Hypertext Markup Language Why HTML Prerequisites Objective

More information

Course Outline. Developing Web Applications with ASP.Net MVC 5. Course Description: Pre-requisites: Course Content:

Course Outline. Developing Web Applications with ASP.Net MVC 5. Course Description: Pre-requisites: Course Content: Developing Web Applications with ASP.Net MVC 5 Course Description: The Model View Controller Framework in ASP.NET provides a new way to develop Web applications for the Microsoft.NET platform. Differing

More information

AJAX. Lab. de Bases de Dados e Aplicações Web MIEIC, FEUP 2010/11. Sérgio Nunes

AJAX. Lab. de Bases de Dados e Aplicações Web MIEIC, FEUP 2010/11. Sérgio Nunes AJAX Lab. de Bases de Dados e Aplicações Web MIEIC, FEUP 2010/11 Sérgio Nunes Server calls from web pages using JavaScript call HTTP data Motivation The traditional request-response cycle in web applications

More information

AJAX: Introduction CISC 282 November 27, 2018

AJAX: Introduction CISC 282 November 27, 2018 AJAX: Introduction CISC 282 November 27, 2018 Synchronous Communication User and server take turns waiting User requests pages while browsing Waits for server to respond Waits for the page to load in the

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

Backend Development. SWE 432, Fall Web Application Development

Backend Development. SWE 432, Fall Web Application Development Backend Development SWE 432, Fall 2018 Web Application Development Review: Async Programming Example 1 second each Go get a candy bar Go get a candy bar Go get a candy bar Go get a candy bar Go get a candy

More information

All samples, demos, slides & recording will be available later today for download at blogs.infragistics.com

All samples, demos, slides & recording will be available later today for download at blogs.infragistics.com All samples, demos, slides & recording will be available later today for download at blogs.infragistics.com I will tweet when they are posted, follow @jasonberes to be the first to get them. Presenting

More information

classjs Documentation

classjs Documentation classjs Documentation Release 1.0 Angelo Dini March 21, 2015 Contents 1 Requirements 3 2 Plugins 5 2.1 Cl.Accordion............................................... 5 2.2 Cl.Autocomplete.............................................

More information

Developing ASP.NET MVC 4 Web Applications

Developing ASP.NET MVC 4 Web Applications Developing ASP.NET MVC 4 Web Applications Código del curso: 20486 Duración: 5 días Acerca de este curso In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework

More information

Client Side JavaScript and AJAX

Client Side JavaScript and AJAX Client Side JavaScript and AJAX Client side javascript is JavaScript that runs in the browsers of people using your site. So far all the JavaScript code we've written runs on our node.js server. This is

More information

Evaluation Guide for ASP.NET Web CMS and Experience Platforms

Evaluation Guide for ASP.NET Web CMS and Experience Platforms Evaluation Guide for ASP.NET Web CMS and Experience Platforms CONTENTS Introduction....................... 1 4 Key Differences...2 Architecture:...2 Development Model...3 Content:...4 Database:...4 Bonus:

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

PHP & My SQL Duration-4-6 Months

PHP & My SQL Duration-4-6 Months PHP & My SQL Duration-4-6 Months Overview of the PHP & My SQL Introduction of different Web Technology Working with the web Client / Server Programs Server Communication Sessions Cookies Typed Languages

More information

Building a Complex Application: Customer Tracker. Table of Contents. Description. Design Features Demonstrated in this Application

Building a Complex Application: Customer Tracker. Table of Contents. Description. Design Features Demonstrated in this Application Building a Complex Application: Customer Tracker Built using FEB 8.6 Table of Contents Description...1 Design Features Demonstrated in this Application...1 Application Functionality...1 Basic Structure...1

More information

Unit testing in CakePHP. Making bullet resistant code.

Unit testing in CakePHP. Making bullet resistant code. Unit testing in CakePHP Making bullet resistant code. Goals for next hour If you are not familiar with Unit Testing, introduce you to the concepts and practices of Unit testing. If you are familiar with

More information

CS193X: Web Programming Fundamentals

CS193X: Web Programming Fundamentals CS193X: Web Programming Fundamentals Spring 2017 Victoria Kirst (vrk@stanford.edu) CS193X schedule Today - Middleware and Routes - Single-page web app - More MongoDB examples - Authentication - Victoria

More information

729G26 Interaction Programming. Lecture 4

729G26 Interaction Programming. Lecture 4 729G26 Interaction Programming Lecture 4 Lecture overview jquery - write less, do more Capturing events using jquery Manipulating the DOM, attributes and content with jquery Animation with jquery Describing

More information

Events & Callbacks (ESaaS 6.5)! 2013 Armando Fox & David Patterson, all rights reserved

Events & Callbacks (ESaaS 6.5)! 2013 Armando Fox & David Patterson, all rights reserved Events & Callbacks (ESaaS 6.5)! 2013 Armando Fox & David Patterson, all rights reserved Events" What: occurrences that affect the user interface" User interacts with a page element" Previously-set timer

More information

Developing ASP.Net MVC 4 Web Application

Developing ASP.Net MVC 4 Web Application Developing ASP.Net MVC 4 Web Application About this Course In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5 tools and technologies. The focus will

More information

Introduction. Part I: jquery API 1. Chapter 1: Introduction to jquery 3

Introduction. Part I: jquery API 1. Chapter 1: Introduction to jquery 3 Introduction xix Part I: jquery API 1 Chapter 1: Introduction to jquery 3 What Does jquery Do for Me? 4 Who Develops jquery? 5 Obtaining jquery 5 Installing jquery 5 Programming Conventions 8 XHTML and

More information

The course is supplemented by numerous hands-on labs that help attendees reinforce their theoretical knowledge of the learned material.

The course is supplemented by numerous hands-on labs that help attendees reinforce their theoretical knowledge of the learned material. Lincoln Land Community College Capital City Training Center 130 West Mason Springfield, IL 62702 217-782-7436 www.llcc.edu/cctc WA2442 Introduction to JavaScript Objectives This intensive training course

More information

Session 11. Ajax. Reading & Reference

Session 11. Ajax. Reading & Reference Session 11 Ajax Reference XMLHttpRequest object Reading & Reference en.wikipedia.org/wiki/xmlhttprequest Specification developer.mozilla.org/en-us/docs/web/api/xmlhttprequest JavaScript (6th Edition) by

More information

Assignment: Seminole Movie Connection

Assignment: Seminole Movie Connection Assignment: Seminole Movie Connection Assignment Objectives: Building an application using an Application Programming Interface (API) Parse JSON data from an HTTP response message Use Ajax methods and

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

CGS 3066: Spring 2015 JavaScript Reference

CGS 3066: Spring 2015 JavaScript Reference CGS 3066: Spring 2015 JavaScript Reference Can also be used as a study guide. Only covers topics discussed in class. 1 Introduction JavaScript is a scripting language produced by Netscape for use within

More information

JOE WIPING OUT CSRF

JOE WIPING OUT CSRF JOE ROZNER @JROZNER WIPING OUT CSRF IT S 2017 WHAT IS CSRF? 4 WHEN AN ATTACKER FORCES A VICTIM TO EXECUTE UNWANTED OR UNINTENTIONAL HTTP REQUESTS WHERE DOES CSRF COME FROM? LET S TALK HTTP SAFE VS. UNSAFE

More information

Dynamic Web Programming BUILDING WEB APPLICATIONS USING ASP.NET, AJAX AND JAVASCRIPT

Dynamic Web Programming BUILDING WEB APPLICATIONS USING ASP.NET, AJAX AND JAVASCRIPT Dynamic Web Programming BUILDING WEB APPLICATIONS USING ASP.NET, AJAX AND JAVASCRIPT AGENDA 3. Advanced C# Programming 3.1 Events in ASP.NET 3.2 Programming C# Methods 4. ASP.NET Web Forms 4.1 Page Processing

More information

User Interaction: jquery

User Interaction: jquery User Interaction: jquery Assoc. Professor Donald J. Patterson INF 133 Fall 2012 1 jquery A JavaScript Library Cross-browser Free (beer & speech) It supports manipulating HTML elements (DOM) animations

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

CSCE 120: Learning To Code

CSCE 120: Learning To Code CSCE 120: Learning To Code Module 11.0: Consuming Data I Introduction to Ajax This module is designed to familiarize you with web services and web APIs and how to connect to such services and consume and

More information

JOE WIPING OUT CSRF

JOE WIPING OUT CSRF JOE ROZNER @JROZNER WIPING OUT CSRF IT S 2017 WHAT IS CSRF? 4 WHEN AN ATTACKER FORCES A VICTIM TO EXECUTE UNWANTED OR UNINTENTIONAL HTTP REQUESTS WHERE DOES CSRF COME FROM? 6 SAFE VS. UNSAFE Safe GET HEAD

More information

Titanium.UI.View Class API

Titanium.UI.View Class API Titanium Mobile: API Reference Titanium.UI.View Class API October 6, 2010 Copyright 2010 Appcelerator, Inc. All rights reserved. Appcelerator, Inc. 444 Castro Street, Suite 818, Mountain View, California

More information