html5 for mobile development

57
Mobile Development Wednesday, September 25, 13

Upload: carlos-justiniano

Post on 06-May-2015

1.164 views

Category:

Technology


1 download

DESCRIPTION

A look at HTML/JavaScript leading up to mobile development

TRANSCRIPT

Page 1: HTML5 for mobile development

Mobile Development

Wednesday, September 25, 13

Page 2: HTML5 for mobile development

Brief introduction to HTML5

Wednesday, September 25, 13

Page 3: HTML5 for mobile development

So what is HTML5?It’s what comes after HTML4 right?

Actually it’s a 600 page specification describing refinements and new additions to HTML

Designed to address the needs of modern web applications

Wednesday, September 25, 13

Page 4: HTML5 for mobile development

What’s cool about it?Do cool shit in the browser without plugins

Create richer web experiences

Create web content which can be parsed by machines. Welcome to the semantic web!

Add data attributes to HTML elements

Drag and drop (See: http://html5demos.com/dnd-upload)

Wednesday, September 25, 13

Page 5: HTML5 for mobile development

What’s cool about it?Geolocation - use GPS information to power location aware applications

Canvas - graphics and animation

WebSockets - low level network programming

LocalStorage - Key / Value store for local data

Wednesday, September 25, 13

Page 6: HTML5 for mobile development

What’s cool about it?WebSQL - store data in a local SQL database

WebGL - OpenGL 3D graphics for the web!

WebWorkers - Parallel programming in the browser

SVG - Scalable Vector Graphics

Wednesday, September 25, 13

Page 7: HTML5 for mobile development

The three amigos:HTML, JavaScript, CSS

Wednesday, September 25, 13

Page 8: HTML5 for mobile development

HTML5 features we'll encounter in this

presentationData attributes

Canvas

LocalStorage

Geolocation

Wednesday, September 25, 13

Page 9: HTML5 for mobile development

What’s it good for?

Building modern web applications: Facebook, Google Plus, YouTube, Cloud9 IDE (which we’ll look at shortly)

Building mobile-friendly apps

Building games

Wednesday, September 25, 13

Page 10: HTML5 for mobile development

Featured HTML5 Games

Cut the rope: http://www.cuttherope.net

Cube Slam: https://www.cubeslam.com

HexGL: http://hexgl.bkcore.com

BananaBread: http://goo.gl/L7Vzv

Wednesday, September 25, 13

Page 11: HTML5 for mobile development

HTML5 Games recap

HTML5 and related tech empowers compelling game experiences

HTML5 games on mobile will become increasingly more common as HTML5 support evolves in leading mobile web browsers.

Wednesday, September 25, 13

Page 12: HTML5 for mobile development

Coding with HTML5

Wednesday, September 25, 13

Page 13: HTML5 for mobile development

Low cost of entry

Low cost to get started. Text editor and browser might be all you need

Cooler ways exists to build and share small HTML5 code snippets.

Wednesday, September 25, 13

Page 14: HTML5 for mobile development

HTML5 doc structure

Wednesday, September 25, 13

Page 15: HTML5 for mobile development

Wednesday, September 25, 13

Page 16: HTML5 for mobile development

Hello Web World

Wednesday, September 25, 13

Page 17: HTML5 for mobile development

Introducing jsfiddle.net

Wednesday, September 25, 13

Page 18: HTML5 for mobile development

jsfiddle.net: Hello World

Hello world: http://jsfiddle.net/cjus/2SKTv/Wednesday, September 25, 13

Page 19: HTML5 for mobile development

jsfiddle.net: jQ Plugin

Segmentify plugin: http://jsfiddle.net/cjus/pNrgZ/

Wednesday, September 25, 13

Page 20: HTML5 for mobile development

Introducing Cloud9 IDE

Wednesday, September 25, 13

Page 21: HTML5 for mobile development

Introducing Cloud9 IDE

Wednesday, September 25, 13

Page 22: HTML5 for mobile development

Introducing Cloud9 IDE

Wednesday, September 25, 13

Page 23: HTML5 for mobile development

Great IDEs

Wednesday, September 25, 13

Page 24: HTML5 for mobile development

WebStorm IDE

Wednesday, September 25, 13

Page 25: HTML5 for mobile development

IDE takeawaysLots of ways to develop web applications: Locally and in the cloud

The tool you use should depend on your needs.

Industrial strength IDEs are readily availble

Wednesday, September 25, 13

Page 26: HTML5 for mobile development

Deeper dive: building HTML5

Wednesday, September 25, 13

Page 27: HTML5 for mobile development

Code walk-through:html5-Canvas

https://c9.io/cjus/html5-canvas-1Wednesday, September 25, 13

Page 28: HTML5 for mobile development

Code walk-through:html5-animation

https://c9.io/cjus/html5-canvas-2Wednesday, September 25, 13

Page 29: HTML5 for mobile development

Code walk-through:html5-animation

https://c9.io/dougdodd/platypusgameWednesday, September 25, 13

Page 30: HTML5 for mobile development

Code walk-through:html5-geolocation

https://c9.io/cjus/html5-geolocationWednesday, September 25, 13

Page 31: HTML5 for mobile development

Building Mobile Apps

Wednesday, September 25, 13

Page 32: HTML5 for mobile development

The role of JavaScriptMany HTML5 features require code to bring them to life

The HTML5 canvas demo we saw earlier is one such example

However, programming those interactions doesn’t have to be in JavaScript directly

Wednesday, September 25, 13

Page 33: HTML5 for mobile development

Using other languages

Today, transcoders exists to allow programmers to code in other languages

Here are just a few: Google Dart, CoffeeScript, Python, and custom transcoders...

JavaScript is has been called the new assembly language

Wednesday, September 25, 13

Page 34: HTML5 for mobile development

Mozilla

Built using a tool that compiles C++ and OpenGL into JavaScript and WebGL.

Created in part to prove that games of this nature can run in JavaScript and WebGL.

Wednesday, September 25, 13

Page 35: HTML5 for mobile development

jQuery

Programming the DOM sucks

jQuery makes it easier to code against the DOM

Wednesday, September 25, 13

Page 36: HTML5 for mobile development

A jQuery Example

http://jsfiddle.net/cjus/Zn9aJ/

Wednesday, September 25, 13

Page 37: HTML5 for mobile development

jQuery and friends

Over the years jQuery became immensely popular spawning other frameworks:

jQueryUI

jQueryMobile

Wednesday, September 25, 13

Page 38: HTML5 for mobile development

jQueryMobile (JQM)

User Interface Framework for popular mobile devices

Built on jQuery and jQueryUI foundation

Wednesday, September 25, 13

Page 39: HTML5 for mobile development

How it works

Wednesday, September 25, 13

Page 40: HTML5 for mobile development

Hands on JQM Tutorial

https://c9.io/cjus/jquerymobilepresentationWednesday, September 25, 13

Page 41: HTML5 for mobile development

Code walk-through:JQM Business Card App

https://c9.io/cjus/jquerymobile-business-cardWednesday, September 25, 13

Page 42: HTML5 for mobile development

Creating app mockups using JQM

jQueryMobile can be used to create application mockups without writing a single line of code!

Wednesday, September 25, 13

Page 43: HTML5 for mobile development

codiqa: UI mobile builder

https://codiqa.com

Wednesday, September 25, 13

Page 44: HTML5 for mobile development

Introducing PhoneGap

Wednesday, September 25, 13

Page 45: HTML5 for mobile development

Wednesday, September 25, 13

Page 46: HTML5 for mobile development

Wednesday, September 25, 13

Page 47: HTML5 for mobile development

Phoast

Phoast is my personal project which combines my interest in web development with my interest in Photography

I’m using the Phoast backend with a new mobile application I’ve created PhoastXplora

Wednesday, September 25, 13

Page 48: HTML5 for mobile development

PhoastXplorer FrontEndHTML5 Mobile app written using jQueryMobile

Communicates with Phoast backend using RESTful APIs

Packaged as a PhoneGap app for deployment to mobile devices

Wednesday, September 25, 13

Page 49: HTML5 for mobile development

PhoastXplora

Wednesday, September 25, 13

Page 50: HTML5 for mobile development

Phoast Backend

An API server written in JavaScript and running on NodeJS

Server backend uses MongoDB and Redis

Communicates with Google, Weather.com, Yahoo API servers.

Wednesday, September 25, 13

Page 51: HTML5 for mobile development

Code walk-though:PhoastXplora

Wednesday, September 25, 13

Page 52: HTML5 for mobile development

Quick recapIn this presentation we’ve looked at HTML5 and related features.

We’ve built simple mobile applications using HTML5 and jQuery and jQueryMobile

We’ve used PhoneGap to build and deploy an HTML5 based mobile app to physical hardware.

Wednesday, September 25, 13

Page 53: HTML5 for mobile development

What’s next?

Wednesday, September 25, 13

Page 54: HTML5 for mobile development

Next steps:Learn more at key sites

HTML5Rocks: http://www.html5rocks.com

jQueryMobile site: http://www.jquerymobile.com TIP: visit it on your mobile device!

PhoneGap site: http://www.phonegap.com

Wednesday, September 25, 13

Page 55: HTML5 for mobile development

Next steps:Read one of many great

books

Wednesday, September 25, 13

Page 56: HTML5 for mobile development

Next steps:Watch Lynda.com vids

jQuery Mobile Web Applications (3hrs 13mins)

jQuery Mobile Essential Training (3hrs 11mins)

Up and Running with PhoneGap (1hrs 57mins)

HTML5 for Flash Developers (3hrs 16mins)

and many more HTML5 videos!

Wednesday, September 25, 13

Page 57: HTML5 for mobile development

Reflecting on HTML5

HTML5 is approachable tech

Easy to explore

Useful for mobile dev

Here to stay

Cause for reflection

Wednesday, September 25, 13