Eindhoven Mobile Development First Meetup Slides
Transcript of Eindhoven Mobile Development First Meetup Slides
Eindhoven Mobile Development Meetup02/03/2016
During the meetup
u Our first meetup.u We love to facilitate and like the group to contribute.u Feel free to ask questions and to interact with each otheru Feedback and Ideas are welcomeu #EMDMu Keep your mobile phone on
First Meetup
u Short Introductionu Overview Mobile Development Landscape 2016u Breaku Mobile app development lifecycleu End, recapu Drinks
Introduction
Luc de BruijnPractice ManagerOpen Circle
Chris KeyMobile DeveloperOpen Circle
Stephan van StekelenburgMobile DeveloperIndependent
Introduction
u Facilitated by Open Circle Solutionsu Three units:
u Java Open Source
u Mobile Development
u Big Data/Data Science
u Product development/Open Source Projects
u Average of 14 years of experience in consultancy and business critical applications.
Background Mobile Team
u Our Mobile developers have worked on mobile solutions in the B2C, B2B and B2E area’s.
u Clients include large enterprises from different industries but also lean startups.
u We focus on Xamarin for developmentu Our Mobile developers have developed several products internally.
Both for developing new technology skills as well as new business models.
Why a meetup?
u We all have different/same challenges at our work.u Technical challenges/choices
u App Lifecycle Management
u Tooling
u Business and IT awareness
u Share experiencesu Share ideasu Share best practices
u Broad field of mobile development, what do we pick?
First Meetup
u Short Introduction
u Overview Mobile Development Landscape 2016u Breaku Mobile app development lifecycleu End, recapu Drinks
Overview Mobile Development Landscape 2016
Types of customers
u Business to consumeru Business to businessu Enterprise / in house
iOSApp AndroidApp WindowsApp
iPhoneiPad
ApplewatchAppleTV
PhonesTablets
SmartWatchesSmartTV’sCarsystems
PhonesTabletsDesktopXbox
Holo-lens
What platforms to support?
What platforms to support?
u Depends on projectu Depends on usersu Depends on regionu Depends on budgetu Not necessarily all at once
Hardened devices
Types of developmentu Native
u iOS SDK’su Android SDK’su Windows SDK’s
u Hybridu PhoneGapu Senshau Cordovau Appceleratoru Ionicu Many, many more…
u Web Appsu HTML 5
Native developmentu SDK (Software development kit) provided by Google, Apple or
Microsoftu Specific per platform
u Tooling
u Language(s)
u Controls
u UI Guidelines
u Interaction Guidelines
u Entire code base per platform
Hybrid developmentu Third party tools that work with platform SDK’su One languageu Can write on all platforms, building requires specific OSu Share resourcesu Write logic one time
Web developmentu No specific requirementsu Any platform / languageu HTMLu Scripting
Pro’s
Native
- Performance- Device API’s- Support- Look and feel
Hybrid
- Cross platform- Write once *- Use one language /
tool- Access to device
Web
- Little development needed- Control
Con’s
Native
- Write / maintain multiple times
- Different approach- Different language- Can be expensive to
built everything multiple times
Hybrid
- Performance- Write once (fix
everywhere)- Look and feel- Scripting - Testing more difficult
Web
- Not an app- No offline support- No (or limited) access to
device
Our approach
u As stated before it depends….
u If possible use Xamarin
Anything you can do in Objective-C, Swift or Javacan be done in C# and Visual Studio with Xamarin
Xamarin’s UniqueApproach
Shared app logic, platform-specific UI, all in C#
SharedAppLogicinC#
iOS C# UI Android C# UI Windows C# UI
Shared App Logic
§ Platform-specific UI code in C#
§ Shared app logic code in C#
§ Fine-grain control over the app user interface
§ Good for apps with sophisticated UX requirements (complicated gestures, animations, design)
Native Performance
Xamarin.iOS does full Ahead Of Time (AOT) compilation to produce an ARM binary for Apple’s App Store.
Xamarin.Android takes advantage of Just In Time (JIT) compilation on the Android device.
Completely up-to-date with device OS releases
u Always up-to-date with Apple and Google API releases.
u Track record of offering same-day support: iOS 5, iOS6, iOS 6.1, iOS 7,iOS 7.1, iOS8 and iOS 8.x releases.
u The only cross-platform solution with support for the Google Glass SDK, Android Wear, Amazon Fire TV and Apple Watch.
First Meetup
u Short Introductionu Overview Mobile Development Landscape 2016
u Breaku Mobile app development lifecycleu End, recapu Drinks
Break
First Meetup
u Short Introductionu Overview Mobile Development Landscape 2016u Break
u Mobile app development lifecycleu End, recapu Drinks
Mobile app development lifecycle
Businessgoals&strategyUserExperienceandDesign
Technicalarchitecture
AppStoreoptimizationAdvertisementSocialmedia
DevelopmentAutomatedtestingContinuous integration/deliveryBetareleasemanagementDeployment
OS/platformupdatesBusinessanalyticsandinsights
FeedbackcollectionMonitoring
So you think you want an app?PLAN
What to do next?
u Business Goals & Product Strategyu B2B vs B2C vs in-house
u Concepts and Researchu User Experience Designu Technical Architecture
More choices to make
u Which platforms?u What form factors?u Disconnected scenariosu Specific device capabilities
Platforms and toolingBUILD
Silo Approach
Build AppMultiple Times
iOSApp AndroidApp WindowsApp
Swift/Objective-CXCode
JavaAndroidStudio
C#VisualStudio
Write-Once-Run-Anywhere Approach
LowestCommon
Denominator Blackbox
Xamarin’s Approach
Native withCode Sharing
SharedAppLogic
iOSC#UI Android C#UI Windows C#UIPlatformSpecific
NativeiOSApp NativeAndroidApp NativeWinApp
Xamarin’s Forms Approach
Native withCode Sharing
SharedAppLogic
Xamarin.FormsPlatformSpecific
NativeiOSApp NativeAndroidApp NativeWinApp
Mobile Quality Is Not Easy
Biggest Mobile Quality Challenges?
u Device Fragmentationu App Complexityu Fast Release Cyclesu Short & Volatile User Sessionsu High Mobile User Expectations
Thousands of iOS and Android APIs
Public web APIs
Backend integrations
Third party libraries
Memory, CPU and network constraints
App Complexity
Mobile Testing Options
Long CyclesRapid Iterations
High Test Realism
Simplistic Tests
Beta Testing
Manual Testing
Automated UI Testing
Unit Testing
Local UI Test Authoring Cloud Testing Lab
Automated tests
Test your app on 2197physical devices simultaneously
Continuous Integration / Delivery
VisualStudioTeamServices
Beta / Release Management
HockeyApp
Apple TestFlightGoogle Play Store
Grow
“”
If you’re not using ASO to increase your app’s search ranking, you’re missing out on the largest discovery channel available to your app.
SOMEONE CLEVER
63% (iOS) of app customers report browsing in the app store to discover new apps.
AppStore Optimization
u Description is importantu Carefully pick your keywordsu App reviews vs developer feedbacku Leverage Store specific options to promote your appu Localize your AppStore listings
And we’re done…SERVICE
App Maintenance
u OS / Platform updates or new releasesu Updates to librariesu Support for new devices and device families (think wearables)u Bug fixes
Release notes
Monitoring and Feedback
u App Usage Insightsu App Content Management
u Who owns / updates in-app content?
LaunchKit Review Monitor
First Meetup
u Short Introductionu Overview Mobile Development Landscape 2016u Breaku Mobile app development lifecycle
u End, recapu Drinks
Recap
Future meetups
u More presentations?u Real world cases?u Workshops?u Interactive sessionsu Hackathonsu Social meetupsu Feedback
Contact Information
Luc de BruijnOpen Circle [email protected]@ldbruijn
Chris KeyOpen Circle [email protected]@chriskeynl
Stephan van [email protected]@stephanvs