Top Banner
Dev WP7 – IRL Johan Lindfors
51

Develop for WP7 IRL

May 06, 2015

Download

Technology

Johan Lindfors

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.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Develop for WP7 IRL

Dev WP7 – IRL

Johan Lindfors

Page 2: Develop for WP7 IRL

agenda

• inspiration

• planering

• design

• utveckling

• publicering

Page 3: Develop for WP7 IRL

phoneBeat

Page 4: Develop for WP7 IRL
Page 5: Develop for WP7 IRL

file | new start inspiration Customer Design Experience Plaform

Page 6: Develop for WP7 IRL
Page 7: Develop for WP7 IRL

www.windowsphoneapplist.com

Page 8: Develop for WP7 IRL

Design Inspiration Utveckling

Page 9: Develop for WP7 IRL

Design Inspiration Utveckling

Page 10: Develop for WP7 IRL

file | new start inspiration planering Design Experience Plaform

Page 11: Develop for WP7 IRL

cocktail flow

Page 12: Develop for WP7 IRL

facebook

Page 13: Develop for WP7 IRL

usa today

Page 14: Develop for WP7 IRL

runkeeper

Page 15: Develop for WP7 IRL

harbor master

Page 16: Develop for WP7 IRL
Page 17: Develop for WP7 IRL

file | new Start inspiration planering design Experience Plaform

Page 18: Develop for WP7 IRL

“Marketing by not asking any questions

first!“

– Percy Nilegård

Page 19: Develop for WP7 IRL

ho

hen

hy

here

hat

Page 20: Develop for WP7 IRL

planera & fokusera

• gör en sak riktigt, riktigt bra

• inga kruseduller

• förhindra misstag

• ”don’t make me think”

Page 21: Develop for WP7 IRL
Page 22: Develop for WP7 IRL

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

Page 23: Develop for WP7 IRL

file | new Start Philosophy planering design utveckling Plaform

Page 24: Develop for WP7 IRL

metro

• design för utvecklare

• struktur, enkelhet, innehåll

• text

• rörelse

Page 25: Develop for WP7 IRL

pivot eller panorama?

Page 26: Develop for WP7 IRL

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

Page 27: Develop for WP7 IRL
Page 28: Develop for WP7 IRL
Page 29: Develop for WP7 IRL
Page 30: Develop for WP7 IRL
Page 31: Develop for WP7 IRL
Page 32: Develop for WP7 IRL
Page 33: Develop for WP7 IRL

file | new Start Philosophy Customer design utveckling publicering

Page 34: Develop for WP7 IRL

mvvm

• prism

• caliburn micro

• mvvmlight

• ultralight.mvvm

Page 35: Develop for WP7 IRL

demo

Page 36: Develop for WP7 IRL

nätverk

• asynkrona anrop

• webclient eller httpWebRequest

• async ctp

Page 37: Develop for WP7 IRL

demo

Page 38: Develop for WP7 IRL

lagra data

• isolatedstorage

• serialisering

• xml/json/binärt

• inställningar

Page 39: Develop for WP7 IRL

demo

Page 40: Develop for WP7 IRL

lokalisering

• cultureinfo

• resurser

• kod

• xaml

Page 41: Develop for WP7 IRL

demo

Page 42: Develop for WP7 IRL

prestanda

• uppfattad vs verklig

• använd rörelse

• trådhantering

• analysera och optimera

• testa på en riktig enhet

Page 43: Develop for WP7 IRL

file | new Start Philosophy Customer Design utveckling publicering

Page 44: Develop for WP7 IRL

marketplace

• testa, testa, testa

• lokal struktur

• uppdateringar

• auto-publicering

Page 45: Develop for WP7 IRL
Page 46: Develop for WP7 IRL

tripeaks solitaire

• fabrication games

• äkta 3D

• all kod i objective-c

Page 47: Develop for WP7 IRL

-(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; } }

Page 48: Develop for WP7 IRL

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; } }

Page 49: Develop for WP7 IRL

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; } }

Page 50: Develop for WP7 IRL