eindhoven mobile development first meetup slides

Post on 11-Apr-2017

280 Views

Category:

Software

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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 Solutionsluc@opencirclesolutions.nl@ldbruijn

Chris KeyOpen Circle SolutionsChris@opencirclesolutions.nl@chriskeynl

Stephan van StekelenburgIndependentStephan.van.stekelenburg@gmail.com@stephanvs

top related