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

Size: px
Start display at page:

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

Transcription

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

2 Events" What: occurrences that affect the user interface" User interacts with a page element" Previously-set timer expires" Data received from server in response to AJAX call (later)" Events are usually (not always) associated with a DOM element" Bind a handler (function) for a particular event type on one or more elements" 2"

3 Manipulating the DOM using events: overview" 1. Identify element(s) you will want to do stuff to, make sure they re conveniently selectable using $() 2. Similarly, identify element(s) on which interactions will trigger stuff to happen 2.5. Create failing test for handler using TDD 3. Write handler function(s) that cause the desired stuff to happen" 4. In a setup function, bind the handlers (third way to call $() )" 3"

4 Handlers on Buttons & Links" A good summary of recognized handlers: What about links & buttons that are clickable without JavaScript?" handler runs first" if handler returns false, no other action taken" otherwise, other actions follow handler" example use: client-side form validation"

5 Summary: jquery & DOM" Select elements with $() (or wrap to give them secret jquery powers)" Inspect them " text() or html() is(:checked), is(:selected), etc." attr('src') Add/remove CSS classes, hide/show" Create setup function that binds handler(s) on element(s)" common ones: onclick, onsubmit, onchange" Pass func to $() (alias for document.ready())"

6 <form onsubmit='checkinputs()'> <input type="text"/> <input type="submit"/> </form> If this form is loaded in a non-js-aware browser: " Browser will complain about malformed HTML when page is loaded (server should respect browser version and not send JavaScript) Browser will complain, but only when form s Submit button clicked The form will be submitted, but without inputs being checked Nothing will happen when submit button is clicked (form won t be submitted) 6"

7 AJAX: Asynchronous JavaScript and XML (ESaaS 6.6)! 2013 Armando Fox & David Patterson, all rights reserved

8 AJAX == Asynchronous Javascript And Xml" JSAPI call XmlHttpRequest (a/k/a xhr) contacts server asynchronously (in background) and without redrawing page " Normal HTTP request, w/special header: X-Requested-With: XmlHttpRequest! Controller action receives request via route" What should it render in response?" render :layout => false render :partial => 'movies/show'" render :json (calls to_json)" render :xml (calls to_xml)" render :text " render :nothing => true "

9 The basic AJAX cycle, as seen from browser JSAPI" r = new XmlHttpRequest; r.open(method,url,async); method GET,POST,HEAD,PUT,DELETE..." async: true means script should not block (important!)" r.send("request content"); r.abort(); Callbacks during XHR processing" r.onreadystatechange=function(xmlhttprequest r) {... } function inspects r.readystate uninitialized,open, sent,receiving,loaded" r.status contains HTTP status of response" r.responsetext contains response content string"

10 The jquery way" $.ajax({type: 'GET', url: URL, timeout: milliseconds, success: function, error: function! // many other options possible });

11 Rails Cookery: AJAX with Rails+jQuery" javascript_include_tag 'application'" your code in app/assets/javascripts/*.js! Define handler function that..." optionally inspects element state, attributes, " calls $.ajax() " Define controller action & route to receive request, and determine what will be returned" Define callback function to receive server reply" Unpack JSON objects & modify DOM?" Replace existing HTML element (e.g. <div>) in place?" Add/change/remove CSS classes/properties?"

12 A simple example" Server side:" class MoviesController < ApplicationController def = Movie.find(params[:id]) render :partial=>'movie', :object=>@movie if request.xhr? # else render default (show.html.haml) end end Client side:" 12"

13 Which is FALSE concerning AJAX/ XHR vs. non-ajax interactions? AJAX requests can be handled with their own separate controller actions In general, the server must rely on explicit hint (like headers) to detect XHR The response to an AJAX request can be any content type (not just HMTL) If the server fails to respond to an XHR request, the browser's UI will freeze 13"

14 Intro to Jasmine: TDD for JavaScript and AJAX (ESaaS 6.7)! 2013 Armando Fox & David Patterson, all rights reserved

15 Jasmine: Testing JavaScript" Idea: run your tests in browser" Install jasmine gem & jasmine-jquery add-on" rails generate jasmine:install Jasmine server (rake jasmine) on localhost:8888 serves Jasmine test page " Reload page == rerun tests!" How to construct tests?! How do tests see the page on which they would normally operate?! 15"

16 Jasmine is Like RSpec" Sets of related examples" describe "things" do it "..." do...end end describe("things", function() { it("...", function() {... } ); }); Setup/teardown" before(:each) do...end beforeeach(function() {...})" 16"

17 Expectations" expect {...}.to == "foo" expect(expr).toequal("foo").tobetruthy(),.tobefalsy().tobehidden().tohaveclass().tocontaintext() 17"

18 Expectations: Jasmine-jQuery" tobeselected(), tobechecked() tobedisabled(), tobevisible(), tobehidden() tohaveclass("foo"), tohaveid("foo") tohaveattr("href", " Putting it together example:" describe('clicking Hide button', function() { it('hides Movie div', function() { $('a#hide').trigger('click'); expect($('div#movie')).tobehidden(); }); }); 18"

19 Which are always true of Jasmine s it() method: (a) it can take a named function as its 2 nd arg (b) it can take an anonymous function as its 2 nd arg (c) it executes asynchronously (a) & (b) (a) & (c) (b) & (c) (a), (b) & (c) 19"

20 More Jasmine: Spies & Fixtures (ESaaS 6.7)! 2013 Armando Fox & David Patterson, all rights reserved

21 Stubs (Spies)" Strategy: create spy method that replaces real method that is a property of an object" spyon(moviepopup,'new').andreturn(value).andcallthrough().andcallfake(func) Why no quotes around MoviePopup?" Examine calls on spy:" expect(moviepopup.new.mostrecentcall.args). tocontain("gravity") expect($.ajax.mostrecentcall.args[0]['url']). toequal("/movies/1") 21"

22 HTML Fixtures" Goal: provide enough HTML for JS code to do its thing in a familiar environment" <table id="movies"> <tbody> <tr class="adult"> <td>casablanca</td> <td>pg</td> <td><a href="/movies/1">more about Casablanca</a></td> </tr> </tbody> </table> loadfixtures('movie_row.html') loads this into div#jasmine-fixtures (automatically cleaned out)" Fallacies & Pitfalls for 6.7 shows how to autogenerate these fixtures from real views" 22"

23 Stubbing Redux" 23"

24 Putting it all together example" Example" Jasmine tests" (why no call to MoviePopup.setup?)" 24"

25 In the example, why did we use andcallfake() to pass ajaxargs in stubbing the AJAX call, rather than just andreturn(ajaxargs)?" We could have done it either way; just a matter of choice $.ajax doesn't actually return the server reply content, so andreturn won't work ajaxargs is in the wrong scope, so its value is not "visible" to andreturn We needed to be able to spy on (monitor) the AJAX call 25"

26 Single-page Apps and JSON APIs (ESaaS 6.8)! 2013 Armando Fox & David Patterson, all rights reserved

27 Single-Page Apps" Load page once; no further page reloads, since everything else done via AJAX" Uses same MVC flows we already know!" but rendered content from server is handed to your JS code, not to browser" So, what should controller method render?" Certainly not a full HTML page" HTML snippet? incorporate into page" Raw text? hard to send structured data" XML or JSON!" 27"

28 A simple example" Server side:" class MoviesController < ApplicationController def = Movie.find(params[:id]) render :json if request.xhr? # else render default (show.html.haml) end end Client side:" 28"

29 Which, if any, of the following statements are TRUE regarding JSON objects in Rails apps?! A JSON object s properties must exactly match the corresponding ActiveRecord model In an association such as Movie has-many Reviews, the owned objects must be returned in 1 or more separate JSON object JSON objects can only be consumed by a JavaScript-capable client None of the above are true 29"

30 And In Conclusion: JavaScript Wrapup (ESaaS )! 2012 Armando Fox & David Patterson Licensed under Creative Commons Attribution-NonCommercial- ShareAlike 3.0 Unported License

31 Emerging JS use cases" Server-side frameworks: Node.js" JS library for creating server-side apps" Uses event-driven programming in JS" Potentially much more memory-efficient per user compared to traditional server-side frameworks" Client-side frameworks: Backbone.js" Express views & models entirely in JS" Server just returns JSON" Client-side frameworks: Yahoo Mojito" CoffeeScript"

32 JavaScript & Performance" The browser is increasingly the client-side OS that matters" CSS has made layout increasingly sophisticated" JavaScript + AJAX has made UI increasingly rich & desktop-like" What s the cost of all this?"

33 Where does the time go?" CSS selectors + JavaScript interpreter = 41% of total client rendering time" Esp. selectors that require walking DOM tree, eg div > li Browsers compete on speed of JavaScript interpreter => selector/ parser performance increasingly important" Work at UC Berkeley (Prof. Ras Bodík s group):" Parallelizing parsing & CSS selectors" Increasing use of GPU for rendering" parser" HTML parser" 21%" DOM CSS rules selector engine" selector engine" 29%" layout engine" 9%" rendering" rendering" 23%" JavaScript 12%" interpreter interpreter" Courtesy Leo Meyerovich, UC Berkeley

34 Pitfall: Adding JavaScript will make my app more responsive " Risk: too-wide API to server, with needlessly expensive database calls" Risk: at mercy of JS interpreter on a wide variety of devices" Risk: testing/debugging is more complicated, since must handle client-side errors"

35 Some of the AJAX interactions in Ben Bitdiddle s AJAX-intensive SaaS app feel sluggish. The likeliest cause is:! Slow JavaScript interpreter (for example, users with very old browsers/computers) Slow database queries associated with AJAX actions Network delays due to sending too much data to browser in AJAX responses Can t tell without further information 35"

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

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

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

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

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

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

Using Development Tools to Examine Webpages

Using Development Tools to Examine Webpages Chapter 9 Using Development Tools to Examine Webpages Skills you will learn: For this tutorial, we will use the developer tools in Firefox. However, these are quite similar to the developer tools found

More information

Jquery Manually Set Checkbox Checked Or Not

Jquery Manually Set Checkbox Checked Or Not Jquery Manually Set Checkbox Checked Or Not Working Second Time jquery code to set checkbox element to checked not working. Apr 09 I forced a loop to show checked state after the second menu item in the

More information

TIME SCHEDULE MODULE TOPICS PERIODS. HTML Document Object Model (DOM) and javascript Object Notation (JSON)

TIME SCHEDULE MODULE TOPICS PERIODS. HTML Document Object Model (DOM) and javascript Object Notation (JSON) COURSE TITLE : ADVANCED WEB DESIGN COURSE CODE : 5262 COURSE CATEGORY : A PERIODS/WEEK : 4 PERIODS/SEMESTER : 52 CREDITS : 4 TIME SCHEDULE MODULE TOPICS PERIODS 1 HTML Document Object Model (DOM) and javascript

More information

Ajax Ajax Ajax = Asynchronous JavaScript and XML Using a set of methods built in to JavaScript to transfer data between the browser and a server in the background Reduces the amount of data that must be

More information

This course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery.

This course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery. HTML5/CSS3/JavaScript Programming Course Summary Description This class is designed for students that have experience with basic HTML concepts that wish to learn about HTML Version 5, Cascading Style Sheets

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

Module 5 JavaScript, AJAX, and jquery. Module 5. Module 5 Contains 2 components

Module 5 JavaScript, AJAX, and jquery. Module 5. Module 5 Contains 2 components Module 5 JavaScript, AJAX, and jquery Module 5 Contains 2 components Both the Individual and Group portion are due on Monday October 30 th Start early on this module One of the most time consuming modules

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

Copyright Descriptor Systems, Course materials may not be reproduced in whole or in part without prior written consent of Joel Barnum

Copyright Descriptor Systems, Course materials may not be reproduced in whole or in part without prior written consent of Joel Barnum Ajax The notion of asynchronous request processing using the XMLHttpRequest object has been around for several years, but the term "AJAX" was coined by Jesse James Garrett of Adaptive Path. You can read

More information

CSC Javascript

CSC Javascript CSC 4800 Javascript See book! Javascript Syntax How to embed javascript between from an external file In an event handler URL - bookmarklet

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

Course Details. Skills Gained. Who Can Benefit. Prerequisites. View Online URL:

Course Details. Skills Gained. Who Can Benefit. Prerequisites. View Online URL: Specialized - Mastering jquery Code: Lengt h: URL: TT4665 4 days View Online Mastering jquery provides an introduction to and experience working with the JavaScript programming language in the environment

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

,

, Weekdays:- 1½ hrs / 3 days Fastrack:- 1½hrs / Day [Class Room and Online] ISO 9001:2015 CERTIFIED ADMEC Multimedia Institute www.admecindia.co.in 9911782350, 9811818122 Welcome to one of the highly professional

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

RailsConf Europe 2008 Juggernaut Realtime Rails. Alex MacCaw and Stuart Eccles

RailsConf Europe 2008 Juggernaut Realtime Rails. Alex MacCaw and Stuart Eccles RailsConf Europe 2008 Juggernaut Realtime Rails Alex MacCaw and Stuart Eccles RailsConf Europe 2008 Juggernaut Realtime Rails Alex MacCaw and Stuart Eccles http://www.madebymany.co.uk/ server push HTTP

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

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

Session 18. jquery - Ajax. Reference. Tutorials. jquery Methods. Session 18 jquery and Ajax 10/31/ Robert Kelly,

Session 18. jquery - Ajax. Reference. Tutorials. jquery Methods. Session 18 jquery and Ajax 10/31/ Robert Kelly, Session 18 jquery - Ajax 1 Tutorials Reference http://learn.jquery.com/ajax/ http://www.w3schools.com/jquery/jquery_ajax_intro.asp jquery Methods http://www.w3schools.com/jquery/jquery_ref_ajax.asp 2 10/31/2018

More information

Welcome to CS50 section! This is Week 10 :(

Welcome to CS50 section! This is Week 10 :( Welcome to CS50 section! This is Week 10 :( This is our last section! Final project dates Official proposals: due this Friday at noon Status report: due Monday, Nov 28 at noon Hackathon: Thursday, Dec

More information

Manual Html A Href Onclick Submit Form

Manual Html A Href Onclick Submit Form Manual Html A Href Onclick Submit Form JS HTML DOM. DOM Intro DOM Methods HTML form validation can be done by a JavaScript. If a form field _input type="submit" value="submit" /form_. As shown in a previous

More information

CS169.1x Lecture 6: Basic Rails" Fall 2012"

CS169.1x Lecture 6: Basic Rails Fall 2012 CS169.1x Lecture 6: Basic Rails" Fall 2012" 1" The Database is Golden Contains valuable customer data don t want to test your app on that! Rails solution: development, production and test environments

More information

UX400. OpenUI5 Development Foundations COURSE OUTLINE. Course Version: 02 Course Duration: 5 Day(s)

UX400. OpenUI5 Development Foundations COURSE OUTLINE. Course Version: 02 Course Duration: 5 Day(s) UX400 OpenUI5 Development Foundations. COURSE OUTLINE Course Version: 02 Course Duration: 5 Day(s) SAP Copyrights and Trademarks 2017 SAP SE or an SAP affiliate company. All rights reserved. No part of

More information

JavaScript Specialist v2.0 Exam 1D0-735

JavaScript Specialist v2.0 Exam 1D0-735 JavaScript Specialist v2.0 Exam 1D0-735 Domain 1: Essential JavaScript Principles and Practices 1.1: Identify characteristics of JavaScript and common programming practices. 1.1.1: List key JavaScript

More information

REST AND AJAX. Introduction. Module 13

REST AND AJAX. Introduction. Module 13 Module 13 REST AND AJAX Introduction > Until now we have been building quite a classic web application: we send a request to the server, the server processes the request, and we render the result and show

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

Module 5 JavaScript, AJAX, and jquery. Module 5. Module 5 Contains an Individual and Group component

Module 5 JavaScript, AJAX, and jquery. Module 5. Module 5 Contains an Individual and Group component Module 5 JavaScript, AJAX, and jquery Module 5 Contains an Individual and Group component Both are due on Wednesday October 24 th Start early on this module One of the most time consuming modules in the

More information

AJAX Programming Chris Seddon

AJAX Programming Chris Seddon AJAX Programming Chris Seddon seddon-software@keme.co.uk 2000-12 CRS Enterprises Ltd 1 2000-12 CRS Enterprises Ltd 2 What is Ajax? "Asynchronous JavaScript and XML" Originally described in 2005 by Jesse

More information

October 08: Introduction to Web Security

October 08: Introduction to Web Security October 08: Introduction to Web Security Scribe: Rohan Padhye October 8, 2015 Web security is an important topic because web applications are particularly hard to secure, and are one of the most vulnerable/buggy

More information

Programming for Digital Media. Lecture 7 JavaScript By: A. Mousavi and P. Broomhead SERG, School of Engineering Design, Brunel University, UK

Programming for Digital Media. Lecture 7 JavaScript By: A. Mousavi and P. Broomhead SERG, School of Engineering Design, Brunel University, UK Programming for Digital Media Lecture 7 JavaScript By: A. Mousavi and P. Broomhead SERG, School of Engineering Design, Brunel University, UK 1 Topics Ajax (Asynchronous JavaScript and XML) What it is and

More information

Performance Case Study

Performance Case Study Performance Case Study @Fabian_Frank Yahoo! Search, Engineer Youthmedia.eu, Volunteer A Dynamic Website self-contained App self-contained App self-contained App node v0.4.x multi-core

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

iframe programming with jquery jquery Summit 2011

iframe programming with jquery jquery Summit 2011 iframe programming with jquery jquery Summit 2011 who invited this guy? name s ben strange last name work at disqus co-author, Third-party JavaScript disqus? dis cuss dĭ-skŭs' third-party commenting platform

More information

jquery and AJAX

jquery and AJAX jquery and AJAX http://www.flickr.com/photos/pmarkham/3165964414/ Dynamic HTML (DHTML) Manipulating the web page's structure is essential for creating a highly responsive UI Two main approaches Manipulate

More information

! The final is at 10:30 am, Sat 6/4, in this room. ! Open book, open notes. ! No electronic devices. ! No food. ! Assignment 7 due 10pm tomorrow

! The final is at 10:30 am, Sat 6/4, in this room. ! Open book, open notes. ! No electronic devices. ! No food. ! Assignment 7 due 10pm tomorrow Announcements ECS 89 6/1! The final is at 10:30 am, Sat 6/4, in this room! Open book, open notes! No electronic devices! No food! Assignment 7 due 10pm tomorrow! No late Assignment 7 s! Fill out course

More information

jquery Tutorial for Beginners: Nothing But the Goods

jquery Tutorial for Beginners: Nothing But the Goods jquery Tutorial for Beginners: Nothing But the Goods Not too long ago I wrote an article for Six Revisions called Getting Started with jquery that covered some important things (concept-wise) that beginning

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

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

Fast Mobile UIs. You re an Edge Case. Thursday, 8 March, 12

Fast Mobile UIs. You re an Edge Case. Thursday, 8 March, 12 Fast Mobile UIs You re an Edge Case 1 Who am I, right? Horia Dragomir UI Developer @ wooga HTML5 Social Games 2 Mobile UI!= Desktop UI 3 Mobile UI is Harder Awesome standard support No IE6 Super hardware

More information

When learning coding, be brave

When learning coding, be brave Who am I? Web Technology Overview with a focus on JavaScript-based technologies Lawrence Yao l.yao@unsw.edu.au Lawrence Yao UNSW casual staff Developer Analyst at YTML Consulting Email me if you need technical

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

Ajax Ajax Ajax = Asynchronous JavaScript and XML Using a set of methods built in to JavaScript to transfer data between the browser and a server in the background Reduces the amount of data that must be

More information

Working with Javascript Building Responsive Library apps

Working with Javascript Building Responsive Library apps Working with Javascript Building Responsive Library apps Computers in Libraries April 15, 2010 Arlington, VA Jason Clark Head of Digital Access & Web Services Montana State University Libraries Overview

More information

COURSE OUTLINE MOC 20480: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3

COURSE OUTLINE MOC 20480: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3 COURSE OUTLINE MOC 20480: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3 MODULE 1: OVERVIEW OF HTML AND CSS This module provides an overview of HTML and CSS, and describes how to use Visual Studio 2012

More information

The course also includes an overview of some of the most popular frameworks that you will most likely encounter in your real work environments.

The course also includes an overview of some of the most popular frameworks that you will most likely encounter in your real work environments. Web Development WEB101: Web Development Fundamentals using HTML, CSS and JavaScript $2,495.00 5 Days Replay Class Recordings included with this course Upcoming Dates Course Description This 5-day instructor-led

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

ENRICHING PRIMO RECORDS WITH INFORMATION FROM WORDPRESS. Karsten Kryger Hansen Aalborg University Library

ENRICHING PRIMO RECORDS WITH INFORMATION FROM WORDPRESS. Karsten Kryger Hansen Aalborg University Library ENRICHING PRIMO RECORDS WITH INFORMATION FROM WORDPRESS Karsten Kryger Hansen Aalborg University Library AGENDA Who am I History and use case Information distribution Detour: HTML, JavaScript etc. in Primo

More information

JavaScript Programming

JavaScript Programming JavaScript Programming Course ISI-1337B - 5 Days - Instructor-led, Hands on Introduction Today, JavaScript is used in almost 90% of all websites, including the most heavilytrafficked sites like Google,

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

Manual Html A Href Onclick Submit Button

Manual Html A Href Onclick Submit Button Manual Html A Href Onclick Submit Button When you submit the form via clicking the radio button, it inserts properly into Doing a manual refresh (F5 or refresh button) will then display the new updated

More information

JavaScript Performance QCon San Francisco, Nov 8, 2012

JavaScript Performance QCon San Francisco, Nov 8, 2012 JavaScript Performance Pa1erns @stoyanstefanov QCon San Francisco, Nov 8, 2012 JavaScript Performance Pa1erns Importance of Performance h1p://bookofspeed.com Importance of JavaScript Performance h1p://h1parchive.org

More information

Web Application Security

Web Application Security Web Application Security Rajendra Kachhwaha rajendra1983@gmail.com September 23, 2015 Lecture 13: 1/ 18 Outline Introduction to AJAX: 1 What is AJAX 2 Why & When use AJAX 3 What is an AJAX Web Application

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

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

2/6/2012. Rich Internet Applications. What is Ajax? Defining AJAX. Asynchronous JavaScript and XML Term coined in 2005 by Jesse James Garrett

2/6/2012. Rich Internet Applications. What is Ajax? Defining AJAX. Asynchronous JavaScript and XML Term coined in 2005 by Jesse James Garrett What is Ajax? Asynchronous JavaScript and XML Term coined in 2005 by Jesse James Garrett http://www.adaptivepath.com/ideas/essays/archives /000385.php Ajax isn t really new, and isn t a single technology

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

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

University of Washington, CSE 190 M Homework Assignment 8: Baby Names

University of Washington, CSE 190 M Homework Assignment 8: Baby Names University of Washington, CSE 190 M Homework Assignment 8: Baby Names This assignment is about using Ajax to fetch data from files and web services in text, HTML, XML, and JSON formats. You must match

More information

Web 2.0 and AJAX Security. OWASP Montgomery. August 21 st, 2007

Web 2.0 and AJAX Security. OWASP Montgomery. August 21 st, 2007 Web 2.0 and AJAX Security OWASP Montgomery August 21 st, 2007 Overview Introduction Definition of Web 2.0 Basics of AJAX Attack Vectors for AJAX Applications AJAX and Application Security Conclusions 1

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

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

At the Forge Beginning Ajax Reuven M. Lerner Abstract How to put the A (asynchronous) in Ajax. Many programmers, myself included, have long seen JavaScript as a way to change the appearance of a page of

More information

AJAX ASYNCHRONOUS JAVASCRIPT AND XML. Laura Farinetti - DAUIN

AJAX ASYNCHRONOUS JAVASCRIPT AND XML. Laura Farinetti - DAUIN AJAX ASYNCHRONOUS JAVASCRIPT AND XML Laura Farinetti - DAUIN Rich-client asynchronous transactions In 2005, Jesse James Garrett wrote an online article titled Ajax: A New Approach to Web Applications (www.adaptivepath.com/ideas/essays/archives/000

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

Delivery Options: Attend face-to-face in the classroom or via remote-live attendance.

Delivery Options: Attend face-to-face in the classroom or via remote-live attendance. XML Programming Duration: 5 Days US Price: $2795 UK Price: 1,995 *Prices are subject to VAT CA Price: CDN$3,275 *Prices are subject to GST/HST Delivery Options: Attend face-to-face in the classroom or

More information

Controller/server communication

Controller/server communication Controller/server communication Mendel Rosenblum Controller's role in Model, View, Controller Controller's job to fetch model for the view May have other server communication needs as well (e.g. authentication

More information

Intro To Javascript. Intro to Web Development

Intro To Javascript. Intro to Web Development Intro To Javascript Intro to Web Development Preamble I don't like JavaScript But with JS your feelings don't matter. Browsers don't work well with any other language so you have to write code that either:

More information

this is a cat CS50 Quiz 1 Review

this is a cat CS50 Quiz 1 Review CS50 Quiz 1 Review this is a cat CS50 Quiz 1 Review JavaScript CS50 Quiz 1 Review first, recall from zamyla Remember, PHP is run server-side. The HTML output of this PHP code is sent to the user. Server

More information

A Guide to Liv-ex Software Development Kit (SDK)

A Guide to Liv-ex Software Development Kit (SDK) A Guide to Liv-ex Software Development Kit (SDK) Document revision: 1.0 Date of Issue: 9 May 2018 Date of revision: Contents 1. Overview... 3 2. What you can do with the Liv-ex SDK... 3 3. The Liv-ex SDK

More information

Brief Intro to Firebug Sukwon Oh CSC309, Summer 2015

Brief Intro to Firebug Sukwon Oh CSC309, Summer 2015 Brief Intro to Firebug Sukwon Oh soh@cs.toronto.edu CSC309, Summer 2015 Firebug at a glance One of the most popular web debugging tool with a colleccon of powerful tools to edit, debug and monitor HTML,

More information

webkitpony Documentation

webkitpony Documentation webkitpony Documentation Release 0.1 Toni Michel May 24, 2014 Contents 1 Motivation 3 2 Goal 5 3 Understanding webkitpony 7 3.1 Understanding webkitpony........................................ 7 3.2 The

More information

Web Architecture AN OVERVIEW

Web Architecture AN OVERVIEW Web Architecture AN OVERVIEW General web architecture Historically, the client is a web browser But it can be also A mobile application A desktop application Other server applications Internet Server(s)

More information

Etanova Enterprise Solutions

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

More information

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

Wakanda Architecture. Wakanda is made up of three main components: Wakanda Server Wakanda Studio Wakanda Client Framework

Wakanda Architecture. Wakanda is made up of three main components: Wakanda Server Wakanda Studio Wakanda Client Framework Wakanda Architecture Wakanda is made up of three main components: Wakanda Server Wakanda Studio Wakanda Client Framework Note: For a more general overview of Wakanda, please see What is Wakanda?) Wakanda

More information

Networking & The Web. HCID 520 User Interface Software & Technology

Networking & The Web. HCID 520 User Interface Software & Technology Networking & The Web HCID 520 User Interface Software & Technology Uniform Resource Locator (URL) http://info.cern.ch:80/ 1991 HTTP v0.9 Uniform Resource Locator (URL) http://info.cern.ch:80/ Scheme/Protocol

More information

Building Effective ASP.NET MVC 5.x Web Applications using Visual Studio 2013

Building Effective ASP.NET MVC 5.x Web Applications using Visual Studio 2013 coursemonster.com/au Building Effective ASP.NET MVC 5.x Web Applications using Visual Studio 2013 Overview The course takes existing.net developers and provides them with the necessary skills to develop

More information

Table of Contents

Table of Contents Table of Contents You are here What?! A book on forms? How does React handle forms? Why not start with a form library? Forms 101 Making the simplest form How are edits handled? Validations Providing feedback

More information

Key features. Nothing to do with java It is the Client-side scripting language Designed to add interactivity to HTML pages

Key features. Nothing to do with java It is the Client-side scripting language Designed to add interactivity to HTML pages Javascript Key features Nothing to do with java It is the Client-side scripting language Designed to add interactivity to HTML pages (DHTML): Event-driven programming model AJAX Great example: Google Maps

More information

Rails: MVC in action

Rails: MVC in action Ruby on Rails Basic Facts 1. Rails is a web application framework built upon, and written in, the Ruby programming language. 2. Open source 3. Easy to learn; difficult to master. 4. Fun (and a time-saver)!

More information

MEAN Stack. 1. Introduction. 2. Foundation a. The Node.js framework b. Installing Node.js c. Using Node.js to execute scripts

MEAN Stack. 1. Introduction. 2. Foundation a. The Node.js framework b. Installing Node.js c. Using Node.js to execute scripts MEAN Stack 1. Introduction 2. Foundation a. The Node.js framework b. Installing Node.js c. Using Node.js to execute scripts 3. Node Projects a. The Node Package Manager b. Creating a project c. The package.json

More information

Master Project Software Engineering: Team-based Development WS 2010/11

Master Project Software Engineering: Team-based Development WS 2010/11 Master Project Software Engineering: Team-based Development WS 2010/11 Implementation, September 27 th, 2011 Glib Kupetov Glib.Kupetov@iese.fraunhofer.de Tel.: +49 (631) 6800 2128 Sebastian Weber Sebastian.Weber@iese.fraunhofer.de

More information

Delivery Options: Attend face-to-face in the classroom or remote-live attendance.

Delivery Options: Attend face-to-face in the classroom or remote-live attendance. XML Programming Duration: 5 Days Price: $2795 *California residents and government employees call for pricing. Discounts: We offer multiple discount options. Click here for more info. Delivery Options:

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

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

COURSE 20480B: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3

COURSE 20480B: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3 ABOUT THIS COURSE This course provides an introduction to HTML5, CSS3, and JavaScript. This course helps students gain basic HTML5/CSS3/JavaScript programming skills. This course is an entry point into

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

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

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

Programming in HTML5 with JavaScript and CSS3

Programming in HTML5 with JavaScript and CSS3 Programming in HTML5 with JavaScript and CSS3 20480B; 5 days, Instructor-led Course Description This course provides an introduction to HTML5, CSS3, and JavaScript. This course helps students gain basic

More information

Static Webpage Development

Static Webpage Development Dear Student, Based upon your enquiry we are pleased to send you the course curriculum for PHP Given below is the brief description for the course you are looking for: - Static Webpage Development Introduction

More information

Installation Guide. Sitecore Federated Experience Manager. Installation & Configuration Guide

Installation Guide. Sitecore Federated Experience Manager. Installation & Configuration Guide Sitecore Federated Experience Manager Installation Guide Rev: 23 August 2014 Sitecore Federated Experience Manager Installation Guide Installation & Configuration Guide Table of Contents Chapter 1 Overview...

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

Networking & The Web. HCID 520 User Interface Software & Technology

Networking & The Web. HCID 520 User Interface Software & Technology Networking & The HCID 520 User Interface Software & Technology Uniform Resource Locator (URL) http://info.cern.ch:80/ 1991 HTTP v0.9 Uniform Resource Locator (URL) http://info.cern.ch:80/ Scheme/Protocol

More information