Develop for WP7 IRL

Post on 06-May-2015

338 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

A presentation delivered at DevSum11 in Stockholm 2011-05-18. Topic is around developing Windows Phone 7 applications and what I've learned in the process of building and publishing both XNA and Silverlight applications.

Transcript

Dev WP7 – IRL

Johan Lindfors

agenda

• inspiration

• planering

• design

• utveckling

• publicering

phoneBeat

file | new start inspiration Customer Design Experience Plaform

www.windowsphoneapplist.com

Design Inspiration Utveckling

Design Inspiration Utveckling

file | new start inspiration planering Design Experience Plaform

cocktail flow

facebook

usa today

runkeeper

harbor master

file | new Start inspiration planering design Experience Plaform

“Marketing by not asking any questions

first!“

– Percy Nilegård

ho

hen

hy

here

hat

planera & fokusera

• gör en sak riktigt, riktigt bra

• inga kruseduller

• förhindra misstag

• ”don’t make me think”

Who – personer som tränar

What – registrera träningstillfällen

When – efter att de tränat klart

Where – på gymmet

Why – för att dela med sig och tävla

file | new Start Philosophy planering design utveckling Plaform

metro

• design för utvecklare

• struktur, enkelhet, innehåll

• text

• rörelse

pivot eller panorama?

www.jeff.wilcox.name/2011/03/metro-design-guide-v1/

file | new Start Philosophy Customer design utveckling publicering

mvvm

• prism

• caliburn micro

• mvvmlight

• ultralight.mvvm

demo

nätverk

• asynkrona anrop

• webclient eller httpWebRequest

• async ctp

demo

lagra data

• isolatedstorage

• serialisering

• xml/json/binärt

• inställningar

demo

lokalisering

• cultureinfo

• resurser

• kod

• xaml

demo

prestanda

• uppfattad vs verklig

• använd rörelse

• trådhantering

• analysera och optimera

• testa på en riktig enhet

file | new Start Philosophy Customer Design utveckling publicering

marketplace

• testa, testa, testa

• lokal struktur

• uppdateringar

• auto-publicering

tripeaks solitaire

• fabrication games

• äkta 3D

• all kod i objective-c

-(BOOL) animate { if([self animation] == nil) { [self draw]; return NO; } else { BOOL animationDone = [[self animation] animate]; [self draw]; if (animationDone) { x += [[self animation] currentX]; y += [[self animation] currentY]; z += [[self animation] currentZ]; rotation += [[self animation] currentRotation]; [animations removeObjectAtIndex:0]; } return animationDone; } }

public bool Animate() { if (this.Animation == null) { this.Draw(); return false; } else { bool animationDone = this.Animation.Animate(); this.Draw(); if (animationDone) { x += this.Animation.CurrentX; y += this.Animation.CurrentY; z += this.Animation.CurrentZ; rotation += this.Animation.CurrentRotation; animations.RemoveAt(0); } return animationDone; } }

public bool Animate(GraphicsDevice graphics, BasicEffect effect) { if (this.Animation == null) { this.Draw(graphics, effect); return false; } else { bool animationDone = this.Animation.Animate(); this.Draw(graphics, effect); if (animationDone) { x += this.Animation.CurrentX; y += this.Animation.CurrentY; z += this.Animation.CurrentZ; rotation += this.Animation.CurrentRotation; animations.RemoveAt(0); } return animationDone; } }

johan.lindfors@infozone.se

top related