Develop for WP7 IRL

595 views

Published on

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.

Published in: Technology
  • Be the first to comment

Develop for WP7 IRL

  1. 1. Dev WP7 – IRLJohan Lindfors
  2. 2. agenda• inspiration• planering• design• utveckling• publicering
  3. 3. phoneBeat
  4. 4. file | new start inspiration
  5. 5. www.windowsphoneapplist.com
  6. 6. Inspiration Design Utveckling
  7. 7. Inspiration Design Utveckling
  8. 8. file | newstart inspiration plan
  9. 9. cocktail flow
  10. 10. facebook
  11. 11. usa today
  12. 12. runkeeper
  13. 13. harbor master
  14. 14. file | newpiration planering desig
  15. 15. “Marketing by not asking any questionsfirst!“ – Percy Nilegård
  16. 16. ho hen hy herehat
  17. 17. planera & fokusera• gör en sak riktigt, riktigt bra• inga kruseduller• förhindra misstag• ”don’t make me think”
  18. 18. Who – personer som tränarWhat – registrera träningstillfällenWhen – efter att de tränat klartWhere – på gymmetWhy – för att dela med sig och tävla
  19. 19. file | newanering design utvecklin
  20. 20. metro• design för utvecklare• struktur, enkelhet, innehåll• text• rörelse
  21. 21. pivot eller panorama?
  22. 22. www.jeff.wilcox.name/2011/03/metro-design-guide-v1/
  23. 23. file | newdesign utveckling publ
  24. 24. mvvm• prism• caliburn micro• mvvmlight• ultralight.mvvm
  25. 25. demo
  26. 26. nätverk• asynkrona anrop• webclient eller httpWebRequest• async ctp
  27. 27. demo
  28. 28. lagra data• isolatedstorage• serialisering• xml/json/binärt• inställningar
  29. 29. demo
  30. 30. lokalisering• cultureinfo• resurser• kod• xaml
  31. 31. demo
  32. 32. prestanda• uppfattad vs verklig• använd rörelse• trådhantering• analysera och optimera• testa på en riktig enhet
  33. 33. file | neweckling publicering
  34. 34. marketplace• testa, testa, testa• lokal struktur• uppdateringar• auto-publicering
  35. 35. tripeaks solitaire• fabrication games• äkta 3D• all kod i objective-c
  36. 36. -(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; }}
  37. 37. 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; }}
  38. 38. 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; }}
  39. 39. johan.lindfors@infozone.se

×