it's ok, you can create kick ass web

Post on 15-May-2015

4.029 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Are you tired of getting verbally beat up about developing web and HTML5 apps? It's OK you can fight back. Despite what you read in the media HTML5 web applications can be extremely powerful and engaging. The key to building the next generation web apps is shedding classic development techniques and architectures in favor of new HTML5 based features. Advances with AJAX, CSS and a wealth of new APIs available to web developers mean the web sites of old need to be replaced with modern web apps. In this talk I will review how developers can easily change their applications to be more functional in a mobile, touch first world and provide an engaging user experience. We will examine various HTML5 APIs to see how they provide key advantages to the modern web developer. I will also demonstrate how various techniques can vastly improve app performance, such as localStorage and Single Page Web Apps. Finally I will examine several common mistakes made by developers in the world of touch, mobile first and how they can easily be overcome. Leveraging these techniques should put you on an even playing field or ahead of the native app competition.

TRANSCRIPT

It's OK, You Can Create Kick-Ass Web AppsCHRIS LOVE

@CHRISLOVE

PROFESSIONALASPNET.COM

Slide Deck & Source Code

Slide Deck – http://slideshare.com/docluv

Source Code – http://GitHub.com/docluv

What’s Wrong With The Web?

Clinging to Yesterday’s Architecture

Not Embracing Customer Trends

Not Embracing Customer Trends

Not Developing Mobile/Touch First

“designing for mobile first not only prepares you for the explosive growth and new opportunities on the mobile internet, it forces you to focus and enables you to innovate in ways you previously couldn’t.”

Luke Wroblewski

Not Developing Mobile/Touch First

Legacy UI will not work anymore. Users now expect to touch their data, not click an application. Applications should encourage direct, personal interaction with data to end users in a more intimate way than previously imagined. The abstraction needed in the past that was the personal computer can now be considered almost transparent and no longer an awkward barrier between a consumer and their information.

Not Developing Mobile/Touch First

http://bit.ly/aD1dr3

Also Consider the CloudApplication Clients are Almost Always ConnectedThe Cloud Enables Optimized Data InteractionEnterprise Can Virtualize Authentication

Not Architecting For Use Context

http://bit.ly/aD1dr3

Not Leveraging Modern Web Technologies

“Facebook uses an XML-based abstract component framework to encapsulate the details of presentation layer rendering. They shared an example of a button, which they suggested would be written as this in their markup”

http://bit.ly/UGREM7

“Our biggest shock: much of the application was still raw HTML pages.”

http://bit.ly/XaKht5

The World Is An API – Use JSON Build Data APIs Retrieve JSON – its more efficient Leverage Client-Side Templates to Build Markup as needed Leverage Client-Side Storage

HTML5

Forms Geolocation WebStorage Offline

HTML5 Form Improvements Input Types◦Number, Phone, Email,

◦Date, Color, … Validation Required

AutoFocus PlaceHolder AutoCorrect More

Geo-Location Retrieve User’s Location getCurrentPosition watchPosition clearWatch PositionOptions

◦ enableHighAccuracy◦ Timeout◦ maximumAge

Web Storage Allows You to Keep Data Locally in a Hash Table◦ localStorage◦ sessionStorage

Approximately 5MB Replace Cookies Great For Caching

Web Storage - IndexDB A Client-Side Document Database Similar to MongoDB, RavenDB, CouchDB, etc. Typically 50 MB Client-Side Storage Good for Offline Applications

CSS3 Shapes Transforms Transitions Animations Gradients

JavaScript Engines Vastly Improved

New APIs◦ File Access◦ Page Visibility◦ Web Sockets◦ Full Screen◦ Web Workers◦ Many Others

AJAX/JavaScript Single Page Application

◦Brings HTML5, CSS3 & AJAX Together◦Provides Rich User Experience◦Improves Performance◦Relies on Application API (REST, Web API)

Single Page Apps

Home

Categories Post

Events ContactBio

Single Page Apps

HomeCategory

Offline Allows The App To Run When Disconnected

◦ Application Manifest◦ Provides Event Model

Do Not Confuse With Browser Cache Only Updates Files When Manifest Changes

Offline

Checking

Download

Checking

Progress

Bio

Cached

No Update Download

Progress

Cached

First Time No Manifest Update Manifest Updated

OfflineCACHE MANIFEST# version 0.0.0.1# urls go Here

Js/myapp.js

NETWORK:http:example.com/api

FALLBACK:http:example.com/img /img/offline.png

top related