Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Dev days. windows phone development

2,519 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Dev days. windows phone development

  1. 1. mobile development from developer’s point of view Ivan Kirkorau, EPAM Systems MS Dev Days 2011
  2. 2. me
  3. 3. reason to go mobile
  4. 4. path to choose
  5. 5. they are differentmany pages activitiesnavigation componentsUI <-> code intentsdata binding callback i-fMVVM (?) MVC (?)
  6. 6. ask right questions doesn’t matter “what is greater?”does matter “what suits you best!”
  7. 7. #01: leverage yourskills
  8. 8. #02: IDE, tools,emulator
  9. 9. #03: documentation
  10. 10. #04: lang & libs Objective-C
  11. 11. #05: learning curve• Is it hard to learn basics?• How far from basics to professional?• Is it a “pleasant” learning experience?#06: making mistakes• Does it help avoid mistakes?• Is it easy to make your code crash?
  12. 12. #07: good-looking UI • Is it easy to create good looking UI?#08: making piece ofs… often will devs make crappy • How apps?
  13. 13. #09: standard & custom• Is it easy to implement common tasks? – navigating between screens – displaying lists – loading data from web service – parsing xml• Is it easy to customize?
  14. 14. #10: developer image
  15. 15. codename “Mango” what’s new and what’s old
  16. 16. reading Manga
  17. 17. my favorite features • LINQ (to objects, to XML, to HTML) • data binding • lambda expressionshaving difficulties • everything is asynchronous • BACK button and tombstoning
  18. 18. local database• API: LINQ to SQL• Design: in code, attributes• Store: Isolated Storage• article on MSDN
  19. 19. background …• AGENT – PeriodicTask (~25 sec) – ResourceIntensiveTask (~10 min)• DOWNLOADING – download/upload up to 5 requests – control execution
  20. 20. tiles & notifications • tiles updates • deep linking • multiple tiles per application • number on tile • local toast notification • … notification services
  21. 21. network• sockets API• TCP• UDP
  22. 22. marketplaceeasier than before, but required …fast forward
  23. 23. submission walkthrough• app hub account + ready .xap file• description and comments – dev and testing comments• upload images (some unexpected sizes) – should have high quality master images• categories and pricingsubmit
  24. 24. back & back againback = the source of all evili. can you exit the app?ii. “back” cycles?iii. loss of state and crashiv. press back in unexpected placesv. lost handlers/bindings
  25. 25. loss of internetif your main action is to download stuff– test the connectivity loss!how to simulate connectivity loss?• connect device to a computer• remove the cable/WiFi – when connected device ALWAYS uses PC internet connection
  26. 26. memory limiton devices your app must not use>90Mb at peak. how to get memory tests?• use DeviceStatuscheck ApplicationPeakMemoryUsagecheck ApplicationCurrentMemoryUsage
  27. 27. exception handling• do not CRASH!• notify the user with a solution: “try again later” “check your internet connection” “contact support@…”
  28. 28. black & white• test dark and light themes – some icons may look unexpectedly white – some colors may not correlate well
  29. 29. capability testing• use “CapabilityDetection.exe” – c:Program Files (x86)Microsoft SDKs Windows Phonev7.0ToolsCapDetectCapabilityDetection.exe• remove all unnecessary stuff – debug libs – test data –…
  30. 30. getting feedbackyou should think about users that willtry to find your app, download and use• provide keywords for search• provide contact information in the description or inside the app
  31. 31. look up statistics• number of downloads (AppHub) – results come 1 week late• ads – pubcenter/adMob site• preemptive stats – http://www.preemptive.com/know- more/application-monitoring
  32. 32. marketplace test kit• select WP7.1 project• [menu] Project->Open Marketplace…
  33. 33. conclusion• developer focused tools• powerful UI with Silverlight/XNA• requires
  34. 34. q&a

×