tools to make cross-platform web apps (mlearncon2012)

Post on 28-Jan-2015

138 Views

Category:

Technology

6 Downloads

Preview:

Click to see full reader

DESCRIPTION

Dozens of tools can be used to create cross-platform Web applications. These tools should help to reduce development costs and time and decrease code redundancy. However, which tools make cross-platform, cross-browser applications, and how do they work? Participants in this session will examine various tools, libraries, and frameworks commonly used to create cross-platform applications including Plain HTML, HTML5, jQuery Mobile, Appcelerator, and PhoneGap. You'll get high-level overviews about potential ways to deploy your applications effectively using Amazon Web Services, Heroku with CakePHP, or Ruby on Rails. Other useful tools that you'll see outlined include videos and jPlayer for completely cross-platform video/audio playback. You'll learn about jQuery templates/mustache-js for templating in js, when to use JSON vs XML vs YML, and when to use or not use RSS. You will get a good sense of which tools are available and when it is best to use them. In this session, you will learn: How to select the right tool to create your next Web application How and when to use Web applications as opposed to standard app development How to use multiple tools at one time When Flash is actually useful Technology discussed in this session: HTML4, HTML5, CSS3, jQuery Mobile, Appcelerator, PhoneGap, Amazon Web Services, Heroku, CakePHP, Ruby on Rails, VideoJS, jPlayer, jQuery Templates, Mustachejs, jsFiddle, and potentially more. Audience: Intermediate designers, developers, and project managers who are familiar with HTML/CSS and who have experience with app development.

TRANSCRIPT

mLearnCon: Concurrent Session 103http://slidesha.re/M0vEGm

Parris Khachi: @parrissays

Khoa Lam: @dangkhoa

Tools to Make Cross-platform Web Applications

What’s your beef?

What we’ll cover

What you should already know:

• HTML/CSS• Some knowledge of “Server Side”

applications

Design/Content

• Typography• Responsive Design• Media• Animation Cross Platform• HTML5/Fallbacks• Tools/Frameworks

Development

• Platforms/Libraries• Cloud• Mobile Deployment• Testing• Live Demo

Typography (CSS3)

@font-face

http://www.fontsquirrel.com/

http://typekit.com/

Design/Content

Typography (cont)

http://fittextjs.com/http://letteringjs.com/

Design/Content

The web is not the constitution (media queries)

http://responsive.ishttp://mediaqueri.es/

Design/Content

What about my media? HTML5 audio/video and fallbacks

jPlayer Video/Audio:http://jplayer.org/

VideoJS:http://videojs.com/

Design/Content

What about my media? Multi-res images and fallbacks

Content:- Save your images larger- Some CSS:

img, embed, object, video{ max-width: 100%;}

about img { width: 30%;}

Won’t work in IE6, but there are work-arounds out there!

Image Transparency/Max-width Fixes:http://msdn.microsoft.com/en-us/library/ms532969(v=vs.85).aspx

Handy Media Queries for Backgrounds:.your-image { background:url(picture.png); width: 20px; height: 20px;}

@mediaonly screen and (-webkit-min-device-pixel-ratio: 1.5),only screen and (min-device-pixel-ration: 1.5) { .your-image { background-image: url(picture@2x.png); -webkit-background-size: 20px 20px; background-size: 20px 20px; }}

File-size Considerations:Picture Fill: http://scottjehl.com/picturefill/<picture alt=“blah”> <source src=“something.jpg” /> <source src=“something-big.jpg” media=“(min-width:800px)” /> <noscript><img src=“something.jpg” alt=“blah” /></noscript></picture>

Design/Content

Chill, it’s just a different way to write HTML4

Design/Content

Well how about my animations?

jQuery Basedhttp://visitmix.com/work/glimmer/

CSS3 Based:http://www.sencha.com/products/animator

Design/Content

But it doesn’t work everywhere?

HTML 5 Shiv:https://github.com/aFarkas/html5shiv/

http://code.google.com/p/html5shiv

CSS3 Fallbacks to jQuery:http://addyosmani.com/blog/css3transitions-jquery/

Design/Content

That sounds like too much work

http://twitter.github.com/bootstrap/ http://jquerymobile.com/

Design/Content

That sounds like too much work (cont)

http://www.sencha.com/products/touch/

http://www.sencha.com/products/architect/

Design/Content

That sounds like too much work (cont)

http://www.codiqa.com/

Design/Content

Oh, dashcode would work too!

It should just come with the iOS SDK

Design/Content

Ahh, I’m a developer,how do I manage this insanity?

Models/Libraries

Views

Middleware

MVC

Design Your Eco-system

With More Insanity!!!

Development

Ahh, I’m a developer, how do I manage this insanity?

Models/Libraries

Views

Middleware

MVC

Design Your Eco-system

With More Insanity!!! Framework Models Middleware Views

x x x

x x

x

x

Sass x

Haml x

x

x

x x

Development

Deployment

How does it get to the end user and not just stay on my machine?

Interacts with…

Which are built on…

Development

How about actual applications?

Wait you actually want to do MORE work?Let’s at least leverage what we already have…

Development

ONE Possible Setup

Framework Models Middleware Views

x x x

x x

x

x

Sass x

Haml x

x

x

x x

Development

ONE Possible Setup (cont)

Development

1. Install nodejs and heroku 2. Open command prompt

npm install –g expresss express your-project cd your-project npm install backbone git init git add . git commit –m “init” heroku create - - stack cedar git push heroku master

3. Find Heroku URL from your account4. Read and do Hello World Phone Gap app, and use that URL instead of the

default file:/// url they specified5. Your first mobile app using nodejs and express on heroku with phonegap is done

Answer: Let’s write a test for it…

How do we REALLY know it works everywhere?

+

Development

So what now? Oh, Only Everything…

Follow us on twitter:@parrissays@dangkhoa

Download presentation:http://slidesha.re/M0vEGm

top related