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

Size: px
Start display at page:

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

Transcription

1 Miško Hevery: AngularJS & Testability Part 1: Data-Binding Frameworks (e.g. AngularJS) Misko Hevery introduces building an app with AngularJS. To follow along, use the command git clone at Misko defines AngularJS a new open-source flavor of JavaScript, designed to make coding apps easier. Three families of scripting applications have their strengths and weaknesses Browser as dumb terminal, abstract away from HTML/Javascript, DOM manipulators. The Benefits of AngularJS s Data Binding and Dependency Injection Framework Misko codes Hello World in the three languages, showing how AngularJS s declarative data-binding framework greatly simplifies coding. Angular is about teaching browsers new tricks. AngularJS s data-binding framework s efficiency and advantages when compared to jquery are great. AngularJS combines features from Javascript and jquery, bringing together imperative and declarative frameworks. Building apps is more than just DOM manipulation. The script s use of dependency injection makes testing easier. Misko demonstrates how, also showing the agile functionality of the code. AngularJS has testing tools baked in. Because HTML & JavaScript will remain standard, Misko explains why AngularJS embraces the standard but strives to improve on w3c s limitations. Return to introduction to building an app with AngularJS; the standard framework, with testing included. Be sure to enter checkout step f to avoid Misko s alias. Seed apps are included with the software and include test folders with end-to-end and unit testing. From the Scripts folder, open browser and go to local host AngularJS end-to-end testing is ideal for testing AngularJS applications. Misko explains the advantages of Angular s built-in test runner. How to transform static text to dynamic text. Enter checkout step 2 f. Questions from the floor make sure everyone is following. Misko explains how Angular defines new vocabulary for HTML. Angular also uses jquery to increase levels of abstraction. 1

2 AngularJS doesn t require main methods, so main method testing is not required. Declarative data binding and dependency injection allow Angular to work without main methods. Misko runs a short test to demonstrate. AngularJS specializes in Create/Read/Update/Delete applications, at the cost of greater flexibility. AngularJS trades complexity for abstraction and an easy life for developers! Built-In Testing Examples Using AngularJS To perform a test in AngularJS, first, execute scripts/test-server.sh. Point a browser to localhost9876, then click Capture This Browser. From a new tab, execute scripts/test. sh. Misko demonstrates and takes questions. Real-time searches with data binding; a difficult exercise in jquery becomes simple in AngularJS. Misko searches the list of phones in two lines and shows how AngularJS replaces a huge coding task with one line of code. Misko tests the app with a series of scenarios. By the magic of AngularJS, he makes JS wait. Misko explains one of Angular s best innovations: easy testing. The AngularJS testing tools are ideal for Create/Read/Update/Delete type applications specifically. Misko explains how callbacks are handled within AngularJS, and how mockup back- Rather than use a hard-coded data list, the application pulls data from a server. Misko takes more questions, explaining how AngularJS s specific commands work like conventional Java codes. Dependency injection lets you test your app without the actual need for the server to reply. The declarative assembly instructions allow for more creative results, and the built-in xhr mocks allow testing of every crevice of your application. After a short break, Misko explains how the code calls for dependencies, and how the dependency injection knows what to hand the code. Basically, ask and ye shall receive. The code is coded to know what to do. Incorporated links change the URLs for multi-page applications by rejigging the data already on hand. Misko demonstrates from the source code Misko describes deep linking as the big step that makes Angular more than a toy application. The application mimics server-based applications, but wholly within the browser, using the code ng view and the function PhoneCatCtrl to create a new controller. Likewise, coding is similar to round-trip applications, but entirely within the browser. Applications are able to identify the browser type, and switches appropriately between hash bangs and real URL paths. Misko refers to the documentation app at docs.angular. org/#!/api/angular.service.$xhr. AngularJS coding is searchable as well. 2

3 Greater depth in the app-browsing experience leads to a very responsive interactive experience. Misko demonstrates with phone/phoneid and built-in xhr mocks. Misko says you re in a comfortable world of round-trip apps with URLs and controllers while at the same time you re building an xhr app that is very user-responsive. Misko demonstrates filters under phone-detail.html. Also see the page on $filter.number from the reference site. Filters allow you to ascribe special characters to true/false properties, format numbers, let dates be displayed in different ways in different places, etc., and take smaller issues out of the controller s hands. Image selection can be done with a single command: ng:click=setimage{img}. Involved code in plain JS is reduced to a simple high-level command in AngularJS. This can also be tested with the thumbnail image click test script. Answering a question from the floor, Misko explains why page changes in the browserbased applications AngularJS can create are much faster than even the fastest server-side application. AngularJS can be sprinkled onto regular web pages; use as much or as little as you like. It plays happily with other web technologies. Validation of fields can be performed within applications. Misko demonstrates from docs.angular.org/guide/dev_guide.forms. Using the tag span class= error ng: show, you can set specific fields necessary for validation. Server validation is still required in some instances as browsers can t be trusted. Misko explains the handy tag Phone_.query. Simple calls to the server can be made, with the tacit understanding that it will be handled in time. AngularJS is available in two branches, a mostly-stable Branch 9 used in this demonstration and a more experimental Branch 10. A first release version, AngularJS 1.0, is due for release soon (as of January 2012). Answering another question, Misko explains the curry function. Injectors call functions and supply necessary functions. It can also provide some other items it has been instructed about specifically. Misko demos one way AngularJS teaches the browser new tricks. Small amounts of code, in this example the tag my:time, will allow you to create new commands that can be called elsewhere in the app. AngularJS is at its core an html compiler. Misko also talks about Sencha Touch ( sencha.com ). 3

4 Part 2: Q&A on AngularJS How do you sprinkle AngularJS onto a server-side application? The example shows how to call for help text within a static HTML page using the command ng:autobind. The AngularJS sprinkling can load an existing round-trip app or static page with extra content that can be called by a user without further demands on the server. Controller documentation also shows how to sprinkle AngularJS. AngularJS widgets are no longer in the expected release version. Nevertheless, Misko discusses their operation in detail using an example from the reference site. Widgets have been replaced by Directives in AngularJS 1.0, making it far simpler to perform the same functions. To use your pre-existing jquery modules in the AngularJS pages without interference, you can point the AngularJS towards a function that tells it to leave the system alone if another app might cause a conflict. Misko uses the my:time example. How is this better/different from Onclick? AngularJS statements do not operate at a window level. Misko explains how AngularJS has its own lexicon parser that takes it beyond mere html. From GitHub, Misko looks at an independently developed jquery Angular mobile adapter, showing some of the possibilities of AngularJS s open source nature. AngularJS wasn t developed to handle very large databases. Misko says that Angular takes 80% of your coding out of your hands, all the way up to the DOM, and allows you to do it declaratively, leaving you with the remaining 20%, which is still heavy lifting that will have to be done conventionally. Misko gives his opinion of Backbone ( although he admits he hasn t used it. It is a smaller, less-ambitious project. Misko likens Backbone to a hammer and AngularJS to a complete tool kit. Misko explains how AngularJS is being used internally at Google. Some third-party applications have been built in AngularJS but few in the public domain. Go to github.com/ angular/angularjs/wiki/ and search for projects using AngularJS. Misko reiterates that Angular is best for crud applications. Misko is one of only three people working on AngularJS, all by coincidence from Slovakia. They released a new development stage about once a month. How do you get from a conventional HTML + JS web site, and move to something with automated testing? Misko explains that starting with a small project will allow the programmer to gain enough experience to successfully structure the replacement for the original app, in a fully testable environment. But it isn t easy. Misko discusses the challenges of testing the DOM. 4

5 Misko recommends three books about test-driven development: Working Effectively with Legacy Code by Michael Feathers, Growing Object Oriented Software Guided by Tests by Steve Freeman and Nat Pryce, and Test-Driven JavaScript Development by Christian Johansen. Part Two ends. Part 3: The Psychology of AngularJS Testing The three things you need to know about testing. 1. Read the code, 2. Mind your dependencies, 3. Sharpen your environmental Ax. It s easier to do it properly than do it wrongly. It s quicker and easier to write test code than not. While the test code is almost as long as the working code, it s much simpler and quicker to write. Testing needs to be built in from the ground up. When the application is complete, you can t go back and retro-fit the testing. People don t write testing because they don t know how... but this is a secret. Don t be afraid. If you want to test your software, test it at the point of writing. Once it is written, it s too late. How would you make code that is deliberately hard to test? The difficulty is structural. The more layered the dependency, the harder it is to test. With more control over variables, testing is straight forward. Bigger projects are no harder than small projects - there is just more work. Find the stuff you actually need and then work with them. The more nested the dependencies, the harder things will become for you. The magic is in writing testable code, rather than writing code tests. It s not about writing code that pretends to be a user. If you can replace all the other components with dummies, eventually you can break the code down into its simplest parts. Unit tests are easier than end-to-end testing. Only once the components are working properly, can you begin to look at end-to-end testing. How do you test a class? You test it by replacing the class s sub-dependencies with friendly dummy modules. Then everything that goes wrong is in the class under test. The real subdependencies can be plugged back in later. Keep business-logic separate from object graph construction and lookup. Mixing these two types of coding makes testing hard. It s easier to replace real modules with friendly modules. Examples of testing. Testing after the fact means you assume the code works, then try it out. The problem is largely insoluble. Can you write the test before the code? If you write the test first, it will probably be able to survive changes to the code. If you know what the tests are actually trying to achieve - the 5

6 stories of the tests - you ll be able to write code that can be tested by it While simple objects can be trusted to be benign, more involved objects need careful handling. The new operator is best avoided. The graph shows the lines of production code vs the lines of test code. Ideally these should be developed evenly and at the same time. 6

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

Grading Rubric Homework 1

Grading Rubric Homework 1 Grading Rubric Homework 1 Used Git, has many commits, over time, wrote appropriate commit comments, set up Git correctly with git config Cloning repository results in a working site, no broken links, no

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

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

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

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

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

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

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

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

Frontend guide. Everything you need to know about HTML, CSS, JavaScript and DOM. Dejan V Čančarević

Frontend guide. Everything you need to know about HTML, CSS, JavaScript and DOM. Dejan V Čančarević Frontend guide Everything you need to know about HTML, CSS, JavaScript and DOM Dejan V Čančarević Today frontend is treated as a separate part of Web development and therefore frontend developer jobs are

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

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

With great power comes great responsibility

With great power comes great responsibility Developer Guide / dev_guide / unit-testing JavaScript is a dynamically typed language which comes with great power of expression, but it also come with almost no-help from the compiler. For this reason

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

Quick.JS Documentation

Quick.JS Documentation Quick.JS Documentation Release v0.6.1-beta Michael Krause Jul 22, 2017 Contents 1 Installing and Setting Up 1 1.1 Installation................................................ 1 1.2 Setup...................................................

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

GIT VERSION CONTROL TUTORIAL. William Wu 2014 October 7

GIT VERSION CONTROL TUTORIAL. William Wu 2014 October 7 GIT VERSION CONTROL TUTORIAL William Wu w@qed.ai 2014 October 7 ABOUT ME Scientific Computing Specialist background: math, cs, ee interests: machine learning, DSP, imaging, data viz, cloud work: various

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

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

15-498: Distributed Systems Project #1: Design and Implementation of a RMI Facility for Java

15-498: Distributed Systems Project #1: Design and Implementation of a RMI Facility for Java 15-498: Distributed Systems Project #1: Design and Implementation of a RMI Facility for Java Dates of Interest Assigned: During class, Friday, January 26, 2007 Due: 11:59PM, Friday, February 13, 2007 Credits

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

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

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

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

What Are CSS and DHTML?

What Are CSS and DHTML? 6/14/01 10:31 AM Page 1 1 What Are CSS and DHTML? c h a p t e r ch01.qxd IN THIS CHAPTER What Is CSS? What Is DHTML? DHTML vs. Flash Browser Hell What You Need to Know Already Welcome to the world of CSS

More information

When you don t want to lose your site s existing look and feel, you re

When you don t want to lose your site s existing look and feel, you re Bonus Chapter 2 Hosting Your Site In This Chapter Hosting at home (page) Giving your site a test Using tags on a page When you don t want to lose your site s existing look and feel, you re short on time,

More information

Completely

Completely Completely Test-Driven ian.truslove@nsidc.org @iantruslove UCAR Software Engineering Assembly, Feb 21, 2012 What s In It For Me? So, that TDD sounds great and all, but what about ? See some techniques

More information

Full Stack Web Developer

Full Stack Web Developer Full Stack Web Developer Course Contents: Introduction to Web Development HTML5 and CSS3 Introduction to HTML5 Why HTML5 Benefits Of HTML5 over HTML HTML 5 for Making Dynamic Page HTML5 for making Graphics

More information

Impressory Documentation

Impressory Documentation Impressory Documentation Release 0.2-SNAPSHOT William Billingsley January 10, 2014 Contents 1 Contents: 3 1.1 Courses.................................................. 3 1.2 Enrolling students............................................

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

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

Menu Driven Configuration A CFEngine Special Topics Handbook

Menu Driven Configuration A CFEngine Special Topics Handbook Menu Driven Configuration A CFEngine Special Topics Handbook CFEngine AS Efficient organizations strive for simplicity and clockwork repetitive procedures to extend and streamline their operations, but

More information

AngularJS Intro Homework

AngularJS Intro Homework AngularJS Intro Homework Contents 1. Overview... 2 2. Database Requirements... 2 3. Navigation Requirements... 3 4. Styling Requirements... 4 5. Project Organization Specs (for the Routing Part of this

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

DESIGNING RESPONSIVE DASHBOARDS. Best Practices for Building Responsive Analytic Applications

DESIGNING RESPONSIVE DASHBOARDS. Best Practices for Building Responsive Analytic Applications DESIGNING RESPONSIVE DASHBOARDS Best Practices for Building Responsive Analytic Applications CONTENTS Responsive Design and Embedded Analytics...1 6 Principles and Best Practices... 2 Tools of the Trade...

More information

Html5 Css3 Javascript Interview Questions And Answers Pdf >>>CLICK HERE<<<

Html5 Css3 Javascript Interview Questions And Answers Pdf >>>CLICK HERE<<< Html5 Css3 Javascript Interview Questions And Answers Pdf HTML5, CSS3, Javascript and Jquery development. There can be a lot more HTML interview questions and answers. free html interview questions and

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

Extension Web Publishing 3 Lecture # 1. Chapter 6 Site Types and Architectures

Extension Web Publishing 3 Lecture # 1. Chapter 6 Site Types and Architectures Chapter 6 Site Types and Architectures Site Types Definition: A public Web site, an Internet Web site, an external Web site or simply a Web site is one that is not explicitly restricted to a particular

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

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

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

CaptainCasa Enterprise Client. CaptainCasa Enterprise Client. CaptainCasa & Java Server Faces

CaptainCasa Enterprise Client. CaptainCasa Enterprise Client. CaptainCasa & Java Server Faces CaptainCasa & Java Server Faces 1 Table of Contents Overview...3 Why some own XML definition and not HTML?...3 A Browser for Enterprise Applications...4...Java Server Faces joins the Scenario!...4 Java

More information

High Quality Inbound Links For Your Website Success

High Quality Inbound Links For Your Website Success Axandra How To Get ö Benefit from tested linking strategies and get more targeted visitors. High Quality Inbound Links For Your Website Success How to: ü Ü Build high quality inbound links from related

More information

What is version control? (discuss) Who has used version control? Favorite VCS? Uses of version control (read)

What is version control? (discuss) Who has used version control? Favorite VCS? Uses of version control (read) 1 For the remainder of the class today, I want to introduce you to a topic we will spend one or two more classes discussing and that is source code control or version control. What is version control?

More information

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

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

More information

Front-End Web Developer Nanodegree Syllabus

Front-End Web Developer Nanodegree Syllabus Front-End Web Developer 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 Web Developer Nanodegree

More information

Read & Download (PDF Kindle) PHP Ajax Cookbook

Read & Download (PDF Kindle) PHP Ajax Cookbook Read & Download (PDF Kindle) PHP Ajax Cookbook This book contains a collection of recipes with step-by-step directions to build SEO-friendly websites using standard Ajax tools. Each recipe contains behind-the-scene

More information

Database Architectures

Database Architectures Database Architectures CPS352: Database Systems Simon Miner Gordon College Last Revised: 4/15/15 Agenda Check-in Parallelism and Distributed Databases Technology Research Project Introduction to NoSQL

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

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

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

Django Dynamic Fields Documentation

Django Dynamic Fields Documentation Django Dynamic Fields Documentation Release 0.1.0 James Pic Mar 24, 2017 Contents 1 Toc 1 1.1 Design documentation for django-dynamic-field............................ 1 2 Readme 3 3 Example 5 4 Dual-license

More information

Version Control. Second level Third level Fourth level Fifth level. - Software Development Project. January 11, 2017

Version Control. Second level Third level Fourth level Fifth level. - Software Development Project. January 11, 2017 Version Control Click to edit Master EECS text 2311 styles - Software Development Project Second level Third level Fourth level Fifth level January 11, 2017 1 Scenario 1 You finished the assignment at

More information

Security and Privacy. SWE 432, Fall 2016 Design and Implementation of Software for the Web

Security and Privacy. SWE 432, Fall 2016 Design and Implementation of Software for the Web Security and Privacy SWE 432, Fall 2016 Design and Implementation of Software for the Web Today Security What is it? Most important types of attacks Privacy For further reading: https://www.owasp.org/index.php/

More information

We re working full time this summer alongside 3 UCOSP (project course) students (2 from Waterloo: Mark Rada & Su Zhang, 1 from UofT: Angelo Maralit)

We re working full time this summer alongside 3 UCOSP (project course) students (2 from Waterloo: Mark Rada & Su Zhang, 1 from UofT: Angelo Maralit) We re working full time this summer alongside 3 UCOSP (project course) students (2 from Waterloo: Mark Rada & Su Zhang, 1 from UofT: Angelo Maralit) Our supervisors: Karen: heads project, which has been

More information

Persistence & State. SWE 432, Fall 2016 Design and Implementation of Software for the Web

Persistence & State. SWE 432, Fall 2016 Design and Implementation of Software for the Web Persistence & State SWE 432, Fall 2016 Design and Implementation of Software for the Web Today What s state for our web apps? How do we store it, where do we store it, and why there? For further reading:

More information

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

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

More information

Intro to Github. Jessica Young

Intro to Github. Jessica Young Intro to Github Jessica Young jyoung22@nd.edu GitHub Basics 1. Installing GitHub and Git 2. Connecting Git and GitHub 3. Why use Git? Installing GitHub If you haven t already, create an account on GitHub

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

How to approach the web platforms. Peter-Paul Koch Nordic Competence Conference, 12 September 2015

How to approach the web platforms. Peter-Paul Koch   Nordic Competence Conference, 12 September 2015 How to approach the web platforms Peter-Paul Koch http://quirksmode.org http://twitter.com/ppk Nordic Competence Conference, 12 September 2015 1The problem Web platforms I feel back-end developers underestimate

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

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

Git. all meaningful operations can be expressed in terms of the rebase command. -Linus Torvalds, 2015

Git. all meaningful operations can be expressed in terms of the rebase command. -Linus Torvalds, 2015 Git all meaningful operations can be expressed in terms of the rebase command -Linus Torvalds, 2015 a talk by alum Ross Schlaikjer for the GNU/Linux Users Group Sound familiar? add commit diff init clone

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

Using Picasa Web Albums North Canton City Schools - Eric Curts

Using Picasa Web Albums North Canton City Schools - Eric Curts Using Picasa Web Albums North Canton City Schools - Eric Curts Table of Contents: What is Picasa Web Albums? How to upload an image to Picasa web Albums How to manage an image you have added How to edit

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

django-baton Documentation

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

More information

Introduction to Git and GitHub for Writers Workbook February 23, 2019 Peter Gruenbaum

Introduction to Git and GitHub for Writers Workbook February 23, 2019 Peter Gruenbaum Introduction to Git and GitHub for Writers Workbook February 23, 2019 Peter Gruenbaum Table of Contents Preparation... 3 Exercise 1: Create a repository. Use the command line.... 4 Create a repository...

More information

Software Development I

Software Development I 6.148 Software Development I Two things How to write code for web apps. How to collaborate and keep track of your work. A text editor A text editor A text editor Anything that you re used to using Even

More information

CSC 443: Web Programming

CSC 443: Web Programming 1 CSC 443: Web Programming Haidar Harmanani Department of Computer Science and Mathematics Lebanese American University Byblos, 1401 2010 Lebanon Today 2 Course information Course Objectives A Tiny assignment

More information

Lab 1 - Introduction to Angular

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

More information

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

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

Web API Lab folder 07_webApi : webapi.jsp your testapijs.html testapijq.html that works functionally the same as the page testapidomjs.

Web API Lab folder 07_webApi : webapi.jsp your testapijs.html testapijq.html that works functionally the same as the page testapidomjs. Web API Lab In this lab, you will produce three deliverables in folder 07_webApi : 1. A server side Web API (named webapi.jsp) that accepts an input parameter, queries your database, and then returns a

More information

TDDC88 Lab 4 Software Configuration Management

TDDC88 Lab 4 Software Configuration Management TDDC88 Lab 4 Software Configuration Management Introduction "Version control is to programmers what the safety net is to a trapeze artist. Knowing the net is there to catch them if they fall, aerialists

More information

Serverless Single Page Web Apps, Part Four. CSCI 5828: Foundations of Software Engineering Lecture 24 11/10/2016

Serverless Single Page Web Apps, Part Four. CSCI 5828: Foundations of Software Engineering Lecture 24 11/10/2016 Serverless Single Page Web Apps, Part Four CSCI 5828: Foundations of Software Engineering Lecture 24 11/10/2016 1 Goals Cover Chapter 4 of Serverless Single Page Web Apps by Ben Rady Present the issues

More information

Beginning HTML. The Nuts and Bolts of building Web pages.

Beginning HTML. The Nuts and Bolts of building Web pages. Beginning HTML The Nuts and Bolts of building Web pages. Overview Today we will cover: 1. what is HTML and what is it not? Building a simple webpage Getting that online. What is HTML? The language of the

More information

ANGULAR 10. Christian Ulbrich (Zalari)

ANGULAR 10. Christian Ulbrich (Zalari) ANGULAR 10 Christian Ulbrich (Zalari) The king is dead, long live the king! Christian Ulbrich (Zalari) SHAMELESS SELF-PLUG Zalari UG we do Consulting, Developing, Architecturing AngularJS is our bread

More information

Interface. 2. Interface Adobe InDesign CS2 H O T

Interface. 2. Interface Adobe InDesign CS2 H O T 2. Interface Adobe InDesign CS2 H O T 2 Interface The Welcome Screen Interface Overview The Toolbox Toolbox Fly-Out Menus InDesign Palettes Collapsing and Grouping Palettes Moving and Resizing Docked or

More information

Exploring the Nuxeo REST API

Exploring the Nuxeo REST API Exploring the Nuxeo REST API Enabling Rapid Content Application Craftsmanship Copyright 2018 Nuxeo. All rights reserved. Copyright 2017 Nuxeo. All rights reserved. Chapter 1 The Nuxeo REST API What do

More information

Introduction to Web Development

Introduction to Web Development Introduction to Web Development Lecture 1 CGS 3066 Fall 2016 September 8, 2016 Why learn Web Development? Why learn Web Development? Reach Today, we have around 12.5 billion web enabled devices. Visual

More information

Javascript Coding Interview Questions And Answers In C++ Pdfs >>>CLICK HERE<<<

Javascript Coding Interview Questions And Answers In C++ Pdfs >>>CLICK HERE<<< Javascript Coding Interview Questions And Answers In C++ Pdfs Design patterns are independent of any programming language and the Programming in C++ Programming interview questions and answers in C++ Data

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

In this Class Mark shows you how to put applications into packages and how to run them through the command line.

In this Class Mark shows you how to put applications into packages and how to run them through the command line. Overview Unless you ve been sleeping for the last couple of years, you know that Mobile is H-O-T! And the most popular mobile platform in the world? That s Android. Do you have a great idea for an App

More information

Brief overview of the topic and myself the 7 VCS used so far (different one each time), still many unused Acts as a time-machine, and almost as

Brief overview of the topic and myself the 7 VCS used so far (different one each time), still many unused Acts as a time-machine, and almost as Brief overview of the topic and myself the 7 VCS used so far (different one each time), still many unused Acts as a time-machine, and almost as contentious as the text editor This talk tries to address

More information

OSC. Notes on OSC. Figure 1 Some examples of OSC devices.

OSC. Notes on OSC. Figure 1 Some examples of OSC devices. OSC Overview Open Sound Control is a protocol for sending control messages across networks. It was developed by Adrian Freed and Matt Wright (working with David Wessel) at CNMAT in Berkeley in 1996 as

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

Web Host. Choosing a. for Your WordPress Site. What is web hosting, and why do you need it?

Web Host. Choosing a. for Your WordPress Site. What is web hosting, and why do you need it? You ve registered a domain name, and you know you want to use WordPress to create your online presence. The next question is, where are you going to build your website? This report will help you choose

More information

Ajax On Rails: Build Dynamic Web Applications With Ruby By Scott Raymond READ ONLINE

Ajax On Rails: Build Dynamic Web Applications With Ruby By Scott Raymond READ ONLINE Ajax On Rails: Build Dynamic Web Applications With Ruby By Scott Raymond READ ONLINE Let's take a look at how we can accomplish this with AJAX in Rails. Overall, I was quite surprised at how easy it is

More information

What is the Best Way for Children to Learn Computer Programming?

What is the Best Way for Children to Learn Computer Programming? What is the Best Way for Children to Learn Computer Programming? Dr Alex Davidovic One of the defining characteristics of today s society is that the computers and mobile devices are the integral and natural

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

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

For Volunteers An Elvanto Guide

For Volunteers An Elvanto Guide For Volunteers An Elvanto Guide www.elvanto.com Volunteers are what keep churches running! This guide is for volunteers who use Elvanto. If you re in charge of volunteers, why not check out our Volunteer

More information

Creating Word Outlines from Compendium on a Mac

Creating Word Outlines from Compendium on a Mac Creating Word Outlines from Compendium on a Mac Using the Compendium Outline Template and Macro for Microsoft Word for Mac: Background and Tutorial Jeff Conklin & KC Burgess Yakemovic, CogNexus Institute

More information

Part 1: jquery & History of DOM Scripting

Part 1: jquery & History of DOM Scripting Karl Swedberg: Intro to JavaScript & jquery 0:00:00 0:05:00 0:05:01 0:10:15 0:10:16 0:12:36 0:12:37 0:13:32 0:13:32 0:14:16 0:14:17 0:15:42 0:15:43 0:16:59 0:17:00 0:17:58 Part 1: jquery & History of DOM

More information

CS Final Exam Review Suggestions - Spring 2018

CS Final Exam Review Suggestions - Spring 2018 CS 328 - Final Exam Review Suggestions p. 1 CS 328 - Final Exam Review Suggestions - Spring 2018 last modified: 2018-05-03 Based on suggestions from Prof. Deb Pires from UCLA: Because of the research-supported

More information

Agile Web Development with Rails 5.1

Agile Web Development with Rails 5.1 Extracted from: Agile Web Development with Rails 5.1 This PDF file contains pages extracted from Agile Web Development with Rails 5.1, published by the Pragmatic Bookshelf. For more information or to purchase

More information

Review of Mobile Web Application Frameworks

Review of Mobile Web Application Frameworks Review of Mobile Web Application Frameworks Article Number: 909 Rating: Unrated Last Updated: Mon, May 9, 2011 at 10:57 AM If you are serious about getting your website or web application mobile-friendly,

More information

Test-driven development

Test-driven development Test-driven development And how we do it at WIX Mantas Indrašius Software Engineer WIX.COM Agenda Tests overview Test-driven development (TDD) The Bowling Game demo Kickstarting a project using TDD How

More information