23
Building Windows 8 Apps with HTML & JavaScript Jaime Rodriguez Principal Evangelist @jaimerodriguez http://jaimerodriguez.com

Building Windows 8 Apps with HTML & JavaScript Jaime Rodriguez Principal Evangelist @jaimerodriguez

Embed Size (px)

Citation preview

Page 1: Building Windows 8 Apps with HTML & JavaScript Jaime Rodriguez Principal Evangelist @jaimerodriguez

Building Windows 8 Apps

with HTML & JavaScript

Jaime RodriguezPrincipal Evangelist

@jaimerodriguez http://jaimerodriguez.com

Page 2: Building Windows 8 Apps with HTML & JavaScript Jaime Rodriguez Principal Evangelist @jaimerodriguez

If you know web technologies, you are ready to build amazing apps for the Windows Store

Page 3: Building Windows 8 Apps with HTML & JavaScript Jaime Rodriguez Principal Evangelist @jaimerodriguez

Windows 8

Windows Core OS Services

JavaScript(Chakra)

CC++

C#VB

Windows 8 Store Apps

Communication

& Data

Application Model

Devices & Printing

WinRT APIsGraphics &

Media

XAML HTML / CSS

HTMLJavaScri

ptCSS

CC++

C#VB

Desktop Apps

Win32

.NET / SL

Internet Explore

r

Syst

em

Serv

ices

Vie

wM

od

el

Contr

olle

rC

ore Windows Core OS Services

Communication

& Data

Application Model

Devices & Printing

Graphics & Media

Syst

em

Serv

ices

Core

Page 4: Building Windows 8 Apps with HTML & JavaScript Jaime Rodriguez Principal Evangelist @jaimerodriguez

More web standards

Page 5: Building Windows 8 Apps with HTML & JavaScript Jaime Rodriguez Principal Evangelist @jaimerodriguez

IE9 hardware-accelerated platformCSS 2D Transforms

CSS Backgrounds & Borders

CSS Color

CSS Fonts

CSS Media Queries

CSS Namespaces

CSS OM Views

CSS Selectors

CSS Values and Units

Data URI

DOM Element Traversal

DOM HTML

DOM Level 3 Core

DOM Level 3 Events

DOM Style

DOM Traversal and Range

DOMParser and XMLSerializer

ECMAScript 5

HTML5 Canvas

HTML5 Geolocation

HTML5 Selection

HTML5 semantic elements

HTML5 video and audio

ICC Color Profiles

Selectors API Level 2

SVG, standalone and in HTML

XHTML/XML

Page 6: Building Windows 8 Apps with HTML & JavaScript Jaime Rodriguez Principal Evangelist @jaimerodriguez

IE10 hardware-accelerated platformCSS 2D Transforms

CSS 3D Transforms

CSS Animations

CSS Backgrounds & Borders

CSS Color

CSS Flexbox

CSS Fonts

CSS Grid

CSS Hyphenation

CSS Image Values (Gradients)

CSS Media Queries

CSS multi-column Layout

CSS Namespaces

CSS OM Views

CSS Positioned Floats (Exclusions)

CSS Selectors

CSS Transitions

CSS Values and Units

Data URI

DOM Element Traversal

DOM HTML

DOM Level 3 Core

DOM Level 3 Events

DOM Style

DOM Traversal and Range

DOMParser and XMLSerializer

ECMAScript 5

File Reader API

File Saving

FormData

HTML5 Application Cache

HTML5 async

HTML5 BlobBuilder

HTML5 Canvas

HTML5 Drag and drop

HTML5 Forms and Validation

HTML5 Geolocation

HTML5 History API

HTML5 Parser

HTML5 Sandbox

HTML5 Selection

HTML5 semantic elements

HTML5 track

HTML5 video and audio

JavaScript Typed Array

ICC Color Profiles

IndexedDB

Page Visibility

Pointer (Mouse, Pen, and Touch) Events

RequestAnimationFrame

Navigation Timing

Selectors API Level 2

SVG Filter Effects

SVG, standalone and in HTML

Web Messaging

Web Sockets

Web Workers

XHTML/XML

XMLHttpRequest (Level 2)

XMLHttpRequest CORS

Page 7: Building Windows 8 Apps with HTML & JavaScript Jaime Rodriguez Principal Evangelist @jaimerodriguez

Popular CSS3 features in Windows 8

2D & 3D transforms

Transforms Animations

Transitions

MotionGrid

Flexbox

Layout

Gradients

Filter Effects

Text-shadow

GraphicsMulti-column, hyphenation

Pagination

Position float

Content flow

Windows hardware acceleration makes these beautiful and fast

Page 8: Building Windows 8 Apps with HTML & JavaScript Jaime Rodriguez Principal Evangelist @jaimerodriguez

CSS3 demos

demo

Page 9: Building Windows 8 Apps with HTML & JavaScript Jaime Rodriguez Principal Evangelist @jaimerodriguez

Popular HTML5 features in Windows 8Web Sockets

Web Workers

IndexedDB

Ecmascript 5

File API & Blobs

Geolocation

Audio tag

Video tag

Touch-first

Pointer events

Zoom regions

Snap Points

Forms

Validation

Input types

Spell checking

Page 10: Building Windows 8 Apps with HTML & JavaScript Jaime Rodriguez Principal Evangelist @jaimerodriguez

HTML5 demos

demo

Page 11: Building Windows 8 Apps with HTML & JavaScript Jaime Rodriguez Principal Evangelist @jaimerodriguez

From IE10 web app to Windows app Minor API differences

http://msdn.microsoft.com/en-us/library/windows/apps/hh700404.aspx

Different host No plug-ins in Windows apps Trust level differences (local and web context)

http://msdn.microsoft.com/en-us/library/windows/apps/hh465373.aspx

UX [recommended]

Windows 8 features [recommended]

Page 12: Building Windows 8 Apps with HTML & JavaScript Jaime Rodriguez Principal Evangelist @jaimerodriguez

Context in HTML/JS Windows appsFeature Local context Web context

Windows Run-time Yes No

Windows Library for Javascript

Yes No

External script references

No Yes

Cross-domain XHR requests

Yes No

Automatic filtering for script injection on DOM

Yes No

There are ways to communicate across contexts, ways to give websites access to some web standards features and ways to skip automatic filtering within a function.

Page 13: Building Windows 8 Apps with HTML & JavaScript Jaime Rodriguez Principal Evangelist @jaimerodriguez

Tools

Page 14: Building Windows 8 Apps with HTML & JavaScript Jaime Rodriguez Principal Evangelist @jaimerodriguez

Visual Studio 2012 RC & Blend for Visual Studio 2012 RC

demo

Page 15: Building Windows 8 Apps with HTML & JavaScript Jaime Rodriguez Principal Evangelist @jaimerodriguez

WinJS

Page 16: Building Windows 8 Apps with HTML & JavaScript Jaime Rodriguez Principal Evangelist @jaimerodriguez

Windows Library for JavaScript (WinJS)library for building apps using JavaScript

Web technologies you’re already familiar with

Utilities and patterns for responsive, reliable apps

Use interactive design tools

Build your apps fast and with high quality

Matches the Windows 8 design style

Controls for common user experiences

Designed for touch as well as traditional input

Scales across form factors

Make your apps look and feel great

Page 17: Building Windows 8 Apps with HTML & JavaScript Jaime Rodriguez Principal Evangelist @jaimerodriguez

WinJSHelpers for Namespaces, Constructor Definition

Promises

App Model

Navigation

Page & User controls

Data binding

Controls

Animations

Templates

Utilities

Default CSS Styles

Page 18: Building Windows 8 Apps with HTML & JavaScript Jaime Rodriguez Principal Evangelist @jaimerodriguez

RTS

demo

Page 19: Building Windows 8 Apps with HTML & JavaScript Jaime Rodriguez Principal Evangelist @jaimerodriguez

WinJS controls SettingsFlyout

Flyout

Appbar

Semantic Zoom

Flipview

SemanticZoomListview

Menu

Rating

Slide does not include all WinJS controls (Tooltip, ViewBox, ToggleSwitch, HTMLControl, etc.)

DatePicker

Page 20: Building Windows 8 Apps with HTML & JavaScript Jaime Rodriguez Principal Evangelist @jaimerodriguez

Prefer your own library? Go ahead! Adhere to the Windows UI and personality

Understand our web context & sandboxing model

Mix & match works fine

Page 21: Building Windows 8 Apps with HTML & JavaScript Jaime Rodriguez Principal Evangelist @jaimerodriguez

You can build amazing sites and apps with the Windows 8 web platform

Page 22: Building Windows 8 Apps with HTML & JavaScript Jaime Rodriguez Principal Evangelist @jaimerodriguez

Thanks!

http://jaimerodriguez.com @jaimerodriguez

Page 23: Building Windows 8 Apps with HTML & JavaScript Jaime Rodriguez Principal Evangelist @jaimerodriguez