Eindhoven Mobile Development First Meetup Slides

62
Eindhoven Mobile Development Meetup 02/03/2016

Transcript of Eindhoven Mobile Development First Meetup Slides

Page 1: Eindhoven Mobile Development First Meetup Slides

Eindhoven Mobile Development Meetup02/03/2016

Page 2: Eindhoven Mobile Development First Meetup Slides

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

Page 3: Eindhoven Mobile Development First Meetup Slides

First Meetup

u Short Introductionu Overview Mobile Development Landscape 2016u Breaku Mobile app development lifecycleu End, recapu Drinks

Page 4: Eindhoven Mobile Development First Meetup Slides

Introduction

Luc de BruijnPractice ManagerOpen Circle

Chris KeyMobile DeveloperOpen Circle

Stephan van StekelenburgMobile DeveloperIndependent

Page 5: Eindhoven Mobile Development First Meetup Slides

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.

Page 6: Eindhoven Mobile Development First Meetup Slides

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.

Page 7: Eindhoven Mobile Development First Meetup Slides
Page 8: Eindhoven Mobile Development First Meetup Slides

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?

Page 9: Eindhoven Mobile Development First Meetup Slides

First Meetup

u Short Introduction

u Overview Mobile Development Landscape 2016u Breaku Mobile app development lifecycleu End, recapu Drinks

Page 10: Eindhoven Mobile Development First Meetup Slides

Overview Mobile Development Landscape 2016

Page 11: Eindhoven Mobile Development First Meetup Slides

Types of customers

u Business to consumeru Business to businessu Enterprise / in house

Page 12: Eindhoven Mobile Development First Meetup Slides

iOSApp AndroidApp WindowsApp

iPhoneiPad

ApplewatchAppleTV

PhonesTablets

SmartWatchesSmartTV’sCarsystems

PhonesTabletsDesktopXbox

Holo-lens

Page 13: Eindhoven Mobile Development First Meetup Slides
Page 14: Eindhoven Mobile Development First Meetup Slides

What platforms to support?

Page 15: Eindhoven Mobile Development First Meetup Slides

What platforms to support?

u Depends on projectu Depends on usersu Depends on regionu Depends on budgetu Not necessarily all at once

Page 16: Eindhoven Mobile Development First Meetup Slides

Hardened devices

Page 17: Eindhoven Mobile Development First Meetup Slides
Page 18: Eindhoven Mobile Development First Meetup Slides
Page 19: Eindhoven Mobile Development First Meetup Slides

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

Page 20: Eindhoven Mobile Development First Meetup Slides

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

Page 21: Eindhoven Mobile Development First Meetup Slides

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

Page 22: Eindhoven Mobile Development First Meetup Slides

Web developmentu No specific requirementsu Any platform / languageu HTMLu Scripting

Page 23: Eindhoven Mobile Development First Meetup Slides

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

Page 24: Eindhoven Mobile Development First Meetup Slides

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

Page 25: Eindhoven Mobile Development First Meetup Slides

Our approach

u As stated before it depends….

u If possible use Xamarin

Page 26: Eindhoven Mobile Development First Meetup Slides
Page 27: Eindhoven Mobile Development First Meetup Slides

Anything you can do in Objective-C, Swift or Javacan be done in C# and Visual Studio with Xamarin

Page 28: Eindhoven Mobile Development First Meetup Slides

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)

Page 29: Eindhoven Mobile Development First Meetup Slides

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.

Page 30: Eindhoven Mobile Development First Meetup Slides

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.

Page 31: Eindhoven Mobile Development First Meetup Slides

First Meetup

u Short Introductionu Overview Mobile Development Landscape 2016

u Breaku Mobile app development lifecycleu End, recapu Drinks

Page 32: Eindhoven Mobile Development First Meetup Slides

Break

Page 33: Eindhoven Mobile Development First Meetup Slides

First Meetup

u Short Introductionu Overview Mobile Development Landscape 2016u Break

u Mobile app development lifecycleu End, recapu Drinks

Page 34: Eindhoven Mobile Development First Meetup Slides

Mobile app development lifecycle

Page 35: Eindhoven Mobile Development First Meetup Slides

Businessgoals&strategyUserExperienceandDesign

Technicalarchitecture

AppStoreoptimizationAdvertisementSocialmedia

DevelopmentAutomatedtestingContinuous integration/deliveryBetareleasemanagementDeployment

OS/platformupdatesBusinessanalyticsandinsights

FeedbackcollectionMonitoring

Page 36: Eindhoven Mobile Development First Meetup Slides

So you think you want an app?PLAN

Page 37: Eindhoven Mobile Development First Meetup Slides

What to do next?

u Business Goals & Product Strategyu B2B vs B2C vs in-house

u Concepts and Researchu User Experience Designu Technical Architecture

Page 38: Eindhoven Mobile Development First Meetup Slides

More choices to make

u Which platforms?u What form factors?u Disconnected scenariosu Specific device capabilities

Page 39: Eindhoven Mobile Development First Meetup Slides

Platforms and toolingBUILD

Page 40: Eindhoven Mobile Development First Meetup Slides

Silo Approach

Build AppMultiple Times

iOSApp AndroidApp WindowsApp

Swift/Objective-CXCode

JavaAndroidStudio

C#VisualStudio

Page 41: Eindhoven Mobile Development First Meetup Slides

Write-Once-Run-Anywhere Approach

LowestCommon

Denominator Blackbox

Page 42: Eindhoven Mobile Development First Meetup Slides

Xamarin’s Approach

Native withCode Sharing

SharedAppLogic

iOSC#UI Android C#UI Windows C#UIPlatformSpecific

NativeiOSApp NativeAndroidApp NativeWinApp

Page 43: Eindhoven Mobile Development First Meetup Slides

Xamarin’s Forms Approach

Native withCode Sharing

SharedAppLogic

Xamarin.FormsPlatformSpecific

NativeiOSApp NativeAndroidApp NativeWinApp

Page 44: Eindhoven Mobile Development First Meetup Slides

Mobile Quality Is Not Easy

Page 45: Eindhoven Mobile Development First Meetup Slides

Biggest Mobile Quality Challenges?

u Device Fragmentationu App Complexityu Fast Release Cyclesu Short & Volatile User Sessionsu High Mobile User Expectations

Page 46: Eindhoven Mobile Development First Meetup Slides

Thousands of iOS and Android APIs

Public web APIs

Backend integrations

Third party libraries

Memory, CPU and network constraints

App Complexity

Page 47: Eindhoven Mobile Development First Meetup Slides

Mobile Testing Options

Long CyclesRapid Iterations

High Test Realism

Simplistic Tests

Beta Testing

Manual Testing

Automated UI Testing

Unit Testing

Page 48: Eindhoven Mobile Development First Meetup Slides

Local UI Test Authoring Cloud Testing Lab

Automated tests

Page 49: Eindhoven Mobile Development First Meetup Slides

Test your app on 2197physical devices simultaneously

Page 50: Eindhoven Mobile Development First Meetup Slides

Continuous Integration / Delivery

VisualStudioTeamServices

Page 51: Eindhoven Mobile Development First Meetup Slides

Beta / Release Management

HockeyApp

Apple TestFlightGoogle Play Store

Page 52: Eindhoven Mobile Development First Meetup Slides

Grow

Page 53: Eindhoven Mobile Development First Meetup Slides

“”

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.

Page 54: Eindhoven Mobile Development First Meetup Slides

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

Page 55: Eindhoven Mobile Development First Meetup Slides

And we’re done…SERVICE

Page 56: Eindhoven Mobile Development First Meetup Slides

App Maintenance

u OS / Platform updates or new releasesu Updates to librariesu Support for new devices and device families (think wearables)u Bug fixes

Page 57: Eindhoven Mobile Development First Meetup Slides

Release notes

Page 58: Eindhoven Mobile Development First Meetup Slides

Monitoring and Feedback

u App Usage Insightsu App Content Management

u Who owns / updates in-app content?

LaunchKit Review Monitor

Page 59: Eindhoven Mobile Development First Meetup Slides

First Meetup

u Short Introductionu Overview Mobile Development Landscape 2016u Breaku Mobile app development lifecycle

u End, recapu Drinks

Page 60: Eindhoven Mobile Development First Meetup Slides

Recap

Page 61: Eindhoven Mobile Development First Meetup Slides

Future meetups

u More presentations?u Real world cases?u Workshops?u Interactive sessionsu Hackathonsu Social meetupsu Feedback

Page 62: Eindhoven Mobile Development First Meetup Slides

Contact Information

Luc de BruijnOpen Circle [email protected]@ldbruijn

Chris KeyOpen Circle [email protected]@chriskeynl

Stephan van [email protected]@stephanvs