Learning Web App Development



Similar documents
WEB DEVELOPMENT IMMERSIVE GA.CO/WDI

ICON UK 2015 node.js for Domino developers. Presenter: Matt White Company: LDC Via

JavaScript Patterns. Stoyan Stefanov. O'REILLY' Beijing Cambridge Farnham Koln Sebastopol Tokyo

IBM Digital Experience. Using Modern Web Development Tools and Technology with IBM Digital Experience

Lucy Zhang UI Developer Contact:

Art of Code Front-end Web Development Training Program

JavaScript Programming

Learning Web Design. Third Edition. A Beginner's Guide to (X)HTML, Style Sheets, and Web Graphics. Jennifer Niederst Robbins

NoSQL web apps. w/ MongoDB, Node.js, AngularJS. Dr. Gerd Jungbluth, NoSQL UG Cologne,

DreamFactory & Modus Create Case Study

Mobile Web Design with HTML5, CSS3, JavaScript and JQuery Mobile Training BSP-2256 Length: 5 days Price: $ 2,895.00

Programming in HTML5 with JavaScript and CSS3

Software Development Interactief Centrum voor gerichte Training en Studie Edisonweg 14c, 1821 BN Alkmaar T:

Advanced Web Development SCOPE OF WEB DEVELOPMENT INDUSTRY

Ultimate Skills Checklist for Your First Front-End Developer Job

MODERN WEB APPLICATION DEVELOPMENT WORKFLOW

Example. Represent this as XML

Avaya Inventory Management System

AppDev OnDemand Microsoft Development Learning Library

Rails Cookbook. Rob Orsini. O'REILLY 8 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo

JAVA. EXAMPLES IN A NUTSHELL. O'REILLY 4 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo. Third Edition.

Jenkins: The Definitive Guide

Fast track to HTML & CSS 101 (Web Design)

How To Write A Nosql Database In Spring Data Project

WEB DEVELOPMENT COURSE (PHP/ MYSQL)

Skills for Employment Investment Project (SEIP)

Developing ASP.NET MVC 4 Web Applications MOC 20486

Upgrade to Microsoft Web Applications

Modern Web Development From Angle Brackets to Web Sockets

Responsive Web Design Creative License

4/25/2016 C. M. Boyd, Practical Data Visualization with JavaScript Talk Handout

CS396A UGP Presentation. Dr. Prabhakar T.V

Skills for Employment Investment Project (SEIP)

DIPLOMA IN WEBDEVELOPMENT

IML 400 Creative Coding for the Web

Cloud Powered Mobile Apps with Azure

Web Security Testing Cookbook*

Dreamweaver CS3 THE MISSING MANUAL. David Sawyer McFarland. POGUE PRESS" O'REILLY 8 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo

Beginning Android Web

The Learn-Verified Full Stack Web Development Program

Web Development 1 A4 Project Description Web Architecture

Team Members: Christopher Copper Philip Eittreim Jeremiah Jekich Andrew Reisdorph. Client: Brian Krzys

Web Application diploma using.net Technology

Personal Profile. Experience. Professional Experience

Web Developer Toolkit for IBM Digital Experience

Boston University. Overview and Description: Instructor, Contact , Office Hours and Blackboard Site: Topic Coverage.

Elgg 1.8 Social Networking

Modern Web Development:

General principles and architecture of Adlib and Adlib API. Petra Otten Manager Customer Support

MarkLogic Server. Reference Application Architecture Guide. MarkLogic 8 February, Copyright 2015 MarkLogic Corporation. All rights reserved.

Developing ASP.NET MVC 4 Web Applications

IT3504: Web Development Techniques (Optional)

Interactive Data Visualization for the Web Scott Murray

J j enterpririse. Oracle Application Express 3. Develop Native Oracle database-centric web applications quickly and easily with Oracle APEX

WEB DEVELOPMENT IA & IB (893 & 894)

Using GitHub for Rally Apps (Mac Version)

James Singletary IV :: Front End Web Developer located in Tampa, Florida

Debugging JavaScript and CSS Using Firebug. Harman Goei CSCI 571 1/27/13

Installing and Sending with DocuSign for NetSuite v2.2

Up and Running with LabVIEW Web Services

Getting Started Developing JavaScript Web Apps. this = that. VT Geospatial Forum 2015

WEB AND APPLICATION DEVELOPMENT ENGINEER

Beginning ASP.NET 4.5

Building a Continuous Integration Pipeline with Docker

A Model of the Operation of The Model-View- Controller Pattern in a Rails-Based Web Server

Table of Contents. Adding Build Targets to the SDK 8 The Android Developer Tools (ADT) Plug-in for Eclipse 9

Framework as a master tool in modern web development

Beginning Web Development with Node.js

NoSQL replacement for SQLite (for Beatstream) Antti-Jussi Kovalainen Seminar OHJ-1860: NoSQL databases

An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0

Web Development I & II*

GUI and Web Programming

Learning ios Programming

This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications.

Learning HTML5 Game Programming

10CS73:Web Programming

Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led

Web Designing with UI Designing

IT3503 Web Development Techniques (Optional)

WINDOWS SERVER HACKS. HLuHB Darmstadt. O'REILLY 5 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo

Dreamweaver CS5. Module 1: Website Development

Sisense. Product Highlights.

Enable Your Automated Web App Testing by WebDriver. Yugang Fan Intel

Offerte del 13 giugno 2014

Preface. Motivation for this Book

^/ CS> KRIS. JAMSA, PhD, MBA. y» A- JONES & BARTLETT LEARNING

Google Web Toolkit. Introduction to GWT Development. Ilkka Rinne & Sampo Savolainen / Spatineo Oy

Professional IT and Outsourcing Training in Bangladesh. Course Name: Professional Web Design and Mobile Responsive Design

Visualizing an OrientDB Graph Database with KeyLines

FormAPI, AJAX and Node.js

Practical Android Projects Lucas Jordan Pieter Greyling

CLASSROOM WEB DESIGNING COURSE

Cross-Platform Tools

Programming 3D Applications with HTML5 and WebGL

Eclipse Web Tools Platform. Naci Dai (Eteration), WTP JST Lead

Facebook Twitter YouTube Google Plus Website . o Zooming and Panning. Panel. 3D commands. o Working with Canvas

StriderCD Book. Release 1.4. Niall O Higgins

Developing Microsoft SharePoint Server 2013 Core Solutions

Transcription:

Learning Web App Development Semmy Purewal Beijing Cambridge Farnham Kbln Sebastopol Tokyo O'REILLY

Table of Contents Preface xi 1. The Workflow 1 Text Editors 1 Installing Sublime Text 2 Sublime Text Basics 4 Version Control 6 Installing Git 7 Unix Command-Line Basics 8 Git Basics 12 Browsers 20 Installing Chrome 20 Summary 21 More Practice and Further Reading 21 Memorization 21 Sublime Text 22 Emacs and Vim 22 Unix Command Line 23 More About Git 23 GitHub 23 2. The Structure 25 Hello, HTML! 25 Tags Versus Content 26 <p> Is for Paragraph 27 Comments 28 Headings and Anchors and Lists, Oh My! 29 Generalizations 32 The Document Object Model and Trees 33

Using HTML Validation to Identify Problems 35 Amazeriffic 38 Identifying Structure 39 Visualizing Structure with a Tree 41 Implementing the Structure with Our Workflow 42 Structuring the Main Content 46 Structuring the Footer 48 Summary 49 More Practice and Further Reading 49 Memorization 50 Tree Diagrams 50 Build the FAQ Page for Amazeriffic 51 More About HTML 51 3. The Style 53 Hello, CSS! 53 Rulesets 56 Comments 57 Padding, Border, and Margin 57 Selectors 60 Classes 61 Pseudoclasses 62 More Complex Cascading Selectors 63 Rules 64 Inheritance 65 Layouts with Floats 66 The clear Property 71 Working with Fonts 72 Resetting Browser Inconsistencies 76 Using CSS Lint to Identify Potential Problems 78 Interacting and Troubleshooting with the Chrome Developer Tools 80 Styling Amazeriffic 82 The Grid 86 Creating the Columns 90 Adding and Manipulating Fonts 92 A Few More Modifications 92 Summary 92 More Practice and Further Reading 93 Memorization 93 CSS Selectors Practice 93 Style the FAQ Page for Amazeriffic 94 Cascading Rules 95 vi Table of Contents

Responsiveness and Responsive Libraries 95 4. The Interactivity 97 Hello, JavaScript! 97 Our First Interactive App 99 The Structure 100 The Style 102 The Interactivity 102 jquery Generalizations 111 Setting Up a Project 111 Comments 112 Selectors 112 DOM Manipulation 112 Events and Asynchronicity 117 JavaScript Generalizations 120 Interacting with JavaScript in the Chrome JavaScript Console 120 Variables and Types 122 Functions 122 Selection 124 Iteration 125 Arrays 127 Using JSLint to Identify Potential Problems 128 Adding Interactivity to Amazeriffic 131 Getting Started 133 The Structure and Style 133 The Interactivity 134 Summary 140 More Practice and Further Reading 141 Memorization 141 jquery Plug-ins 141 jquery Selectors 142 FizzBuzz 143 Array Practice 143 Project Euler 146 Other JavaScript References 146 5. The Bridge 149 Hello, JavaScript Objects! 149 Representing Playing Cards 150 Generalizations 152 Communication Between Computers 154 JSON 154 Table of Contents vii

AJAX 155 Accessing an External JSON File 155 Overcoming Browser Security Restrictions 156 The get JSON Function 157 A JSON Array 158 So What? 159 Getting Images from Flickr 160 Adding a Tags Feature to Amazeriffic 163 The map Function 165 Adding a Tags Tab 166 Building the UI 167 Creating an Intermediate Tags Data Structure 169 Tags as Part of Our Input 173 Summary 175 More Practice and Further Reading 176 Flickr Slideshow 176 Object Practice 177 Other APIs 180 6. The Server 181 Setting Up Your Environment 181 Installing VirtualBox and Vagrant 182 Building Your Virtual Machine 183 Connecting to Your Virtual Machine with SSH 184 Hello, Node.js! 186 Mental Models 187 Clients and Servers 187 Hosts and Guests 188 Practicalities 189 Hello, HTTP! 189 Modules and Express 191 Installing Express with NPM 192 Our First Express Server 192 Sending Your Client App 193 Generalizations 195 Counting Tweets 195 Getting Your Twitter Credentials 195 Connecting to the Twitter API 197 What s Happening Here? 198 Storing Counts 198 Modularizing Our Tweet Counter 201 Importing Our Module Into Express 201 viii Table of Contents

Setting Up a Client 202 Creating a Server for Amazeriffic 204 Setting Up Our Directories 204 Initializing a Git Repository 204 Building the Server 204 Running the Server 205 Posting Information to the Server 205 Summary 208 More Practice and Further Reading 209 Installing Node.js Locally 209 JSHint and CSS Lint via NPM 209 Generalizing Our Tweet Counter Code 210 Poker API 212 7. The Data Store 215 NoSQL Versus SQL 215 Redis 216 Interacting with the Redis Command-Line Client 216 Installing the Redis Module via a package.json File 217 Interacting with Redis in Our Code 219 Initializing the Counts from the Redis Store 220 Using mget to Get Multiple Values 222 MongoDB 222 Interacting with the MongoDB Command-Line Client 223 Modeling Data with Mongoose 226 Storing Amazeriffic ToDos 229 Summary 230 More Practice and Further Reading 231 Poker API 231 Other Database References 231 8. The Platform 233 Cloud Foundry 233 Creating an Account 234 Getting Your App Ready for Deployment 234 Deploying Our App 235 Getting Information About Your Apps 237 Updating Your App 239 Deleting Apps from Cloud Foundry 240 Dependencies and package.json 240 Binding Redis to Your App 241 Binding MongoDB to Your App 245 Table of Contents ix

Summary 246 More Practice and Further Reading 246 Poker API 246 Other Platforms 247 9. The Application 249 Refactoring Our Client 249 Generalizing Meaningful Concepts 250 AJAXifying Our Tabs 253 Ridding Ourselves of Hacks 254 Handling AJAX Errors 256 Refactoring Our Server 257 Code Organization 257 HTTP Verbs, CRUD, and REST 259 Setting Up Routes by ID 260 Using jquery for put and delete Requests 261 HTTP Response Codes 262 Model-View-Controller 263 Adding Users to Amazeriffic 264 Building the User Model 264 Building the User Controller 265 Setting Up Routes 266 Improving Our ToDo Controller Actions 268 Summary 270 More Practice and Further Reading 271 Removing ToDos 271 Adding a User Admin Page 272 Views Using EJS and Jade 273 Build Another App 273 Ruby on Rails 273 Index 275 x I Table of Contents