# {title-slide}

Claire Reynaud

## info@clairereynaud.net - @ClaireReynaud # A mobile app is a computer program designed to run on mobile devices such as smartphones and tablets{title} ## App stores Wikipedia: List of mobile software distribution platforms # Why you should really care about mobile{title} ## Mobile web vs Desktop web # 2 Billion people will have a smartphone by 2016 (worldwide, source: emarketer.com){title} ## Smartphones adoption in a few countries ## Mobile apps vs mobile web # Should you build an app? (vs something else){title} # Who is your target user? In which country?{title} ## Not so (dumb)phones # How to build a good app?{title} # Who is your target user? What problem are your solving?{title} # Beware the app scope creep{title} ## Mobile constraints * Finite data & battery * 1 thumb, 1 eye * Small screen * Network that goes up and down # Mobility: context aware{title} # Consistency{title} # Usability tests{title} ## Misc UX and design links Online course: UX Design for Mobile Developers iOS Human Interfaces Guidelines Material design for Android User onboarding: app teardowns Explaining graphic design to 4 year olds # Android{title} # Java{title} ## Official Android documentation API guides Getting started guide ## Misc Android resources and blogs Vogella Android tutorials YouTube Android developers channel Fragmented Podcast Android Weekly Gradle, please ## Some Android developers you can follow on Twitter @CyrilMottier @DonnFelker @JakeWharton ## Android Java vs jRE Java Wikipedia: JRE Java vs Android API Android packages reference # iOS{title} # Objective-C or Swift{title} ## Official iOS documentation iOS Developer guides ## Misc iOS resources and blogs NSHipster Ray Wenderlich tutorials Objc.io blog iOS dev weekly newsletter ## Where to find libraries for iOS Cocoapods: dependency manager Cocoacontrols Github # So that's it for what runs on the smartphone{title} # A mobile app usually needs access to the network{title} ## A lot of APIs * User authentication (including social authentication) * Saving data on a server * Push notifications * Real-time messaging * Crash reporting * Analytics * Offline support ... # "The Cloud": there is a service for that{title} ## Stackshare: let's see what Slack or Airbnb are using http://stackshare.io ## The services I use (or want to try): * Parse (mBAAS: Mobile Backend As A Service) * Firebase (mBAAS) * Facebook SDK * Twitter SDK: Fabric, Crashlytics * Flurry: analytics * Heroku (PAAS) * Amazon Web Services, e.g S3 (Simple Storage Service) # Don't reinvent the wheel{title} # Technical alternatives: web and hybrid apps{title} # Javascript, CSS, html{title} ## Technical alternatives: web and hybrid apps * Apache Cordova * Phonegap * Ionic * Titanium * Caniuse: browser support tables for web technologies # App stores{title} # 1.5 Million of apps in the App Store or Play Store{title} # App Store dynamics: rich gets richer{title} # Other platforms{title} # Windows phone{title} # Firefox OS{title} # Ubuntu phone{title} # Thanks! Questions?{title}

/