Date post: | 10-May-2015 |
Category: |
Technology |
Upload: | volha-banadyseva |
View: | 2,328 times |
Download: | 3 times |
mobile development
from developer’s point of viewIvan Kirkorau, EPAM Systems
MS Dev Days 2011
me
reason to go mobile
path to choose
they are different
single screenview controllers
delegation
reference counting
MVC
many pagesnavigationUI <-> codedata bindingMVVM (?)
activitiescomponentsintentscallback i-fMVC (?)
ask right questions
doesn’t matter “what is greater?”
does matter “what suits you best!”
#01: leverage your skills
#02: IDE, tools, emulator
#03: documentation
#04: lang & libs
Objective-C
#05: learning curve • Is it hard to learn basics?• How far from basics to professional?• Is it a “pleasant” learning
experience?
• Does it help avoid mistakes?• Is it easy to make your code crash?
#06: making mistakes
#07: good-looking UI• Is it easy to create good looking
UI?
• How often will devs make crappy apps?
#08: making piece of s…
#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?
#10: developer image
codename “Mango”
what’s new and what’s old
reading Manga
my favorite features• LINQ (to objects, to XML, to
HTML)• data binding• lambda expressions
• everything is asynchronous• BACK button and tombstoning
having difficulties
local database• API: LINQ to SQL• Design: in code, attributes• Store: Isolated Storage
• article on MSDN
background …• AGENT–PeriodicTask (~25 sec)–ResourceIntensiveTask (~10 min)
• DOWNLOADING–download/upload up to 5 requests–control execution
tiles & notifications• tiles updates• deep linking • multiple tiles per application• number on tile• local toast notification• … notification services
network• sockets API• TCP• UDP
marketplace
easier than before, but required
…fast forward
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 pricingsubmit
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
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
memory limiton devices your app must not use >90Mb at peak.
how to get memory tests?• use DeviceStatuscheck
ApplicationPeakMemoryUsagecheck
ApplicationCurrentMemoryUsage
exception handling• do not CRASH!• notify the user with a solution:
“try again later”“check your internet connection”“contact support@…”
black & white• test dark and light themes– some icons may look unexpectedly
white– some colors may not correlate well
capability testing• use “CapabilityDetection.exe”– c:\Program Files (x86)\Microsoft SDKs\ Windows
Phone\v7.0\Tools\CapDetect\CapabilityDetection.exe
• remove all unnecessary stuff– debug libs– test data–…
getting feedbackyou should think about users that will try to find your app, download and use• provide keywords for search• provide contact information in
the description or inside the app
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
marketplace test kit• select WP7.1 project• [menu] Project->Open
Marketplace…
conclusion• developer focused tools• powerful UI with Silverlight/XNA• requires
q&a