Mobile App Development

58
MOBILE APP DEVELOPMENT

Transcript of Mobile App Development

Page 1: Mobile App Development

MOBILEAPPDEVELOPMENT

Page 2: Mobile App Development
Page 3: Mobile App Development

MOBILE

Page 4: Mobile App Development

MOBILEAPP

Page 5: Mobile App Development

MOBILEAPPDEVELOPMENT

Page 6: Mobile App Development

INMINUTES

Page 7: Mobile App Development

INMINUTESOR LESS

Page 8: Mobile App Development

ANDA FEW SLIDES

Note: Some slides were removed as this presentation was initially made for internal use and more info was shared.

Page 9: Mobile App Development

MICROSOFT

Page 10: Mobile App Development

MICROSOFTGOOGLE

Page 11: Mobile App Development

MICROSOFTGOOGLEAPPLE

Page 12: Mobile App Development

RECOMMENDWEB TECHNOLOGIESAND CUSTOM UI/UX

Page 13: Mobile App Development

IN FACTTOP APPS IN 2014SELECTED BY APPLE

Page 14: Mobile App Development

ALL FOLLOW THISRECOMMENDATION

Page 15: Mobile App Development

ALL FOLLOW THISRECOMMENDATION

Page 16: Mobile App Development

ALL FOLLOW THISRECOMMENDATION

Page 17: Mobile App Development

ALL FOLLOW THISRECOMMENDATION

Page 18: Mobile App Development

ALL FOLLOW THISRECOMMENDATION

Page 19: Mobile App Development

SOHTML, CSS, JS & C#IS WHAT WE USED

Page 20: Mobile App Development

MAKINGOUR CODESIMPLE

Page 21: Mobile App Development

MAKINGOUR CODEREUSABLE

Page 22: Mobile App Development

MAKINGOUR CODEFUTURE PROOF

Page 23: Mobile App Development

CONSIDER ATYPICAL APPWE MADE

Page 24: Mobile App Development

VISUAL STUDIOSOLUTION(USING XAMARIN)CONSISTS OF…

Note: Some info censored from the screenshots as this presentation was initially made for internal use and more info was shared.

Page 25: Mobile App Development

AN ANDROIDPROJECTHAVING ONLYANDROID SPECIFICCODE

Page 26: Mobile App Development

AN iOSPROJECTHAVING ONLYiOS CODE

Page 27: Mobile App Development

UNIVERSALLY SHAREDPROJECTWITH THE CODE SHAREDBETWEENANDROIDAND iOS APPS

Page 28: Mobile App Development

WEB SERVICEPROJECTWITH THEAPICODE CALLED FROMTHE MOBILE APPS

Page 29: Mobile App Development

DB ACCESS PROJECTUSINGENTITY FRAMEWORKTO ACCESSTHE DATABASEUSED BY THEWEB SERVICE

Page 30: Mobile App Development

SHARED MODELSPROJECTWITH ONLY THEPOCO MODELSUSED BY BOTH THE WEB SERVICE ANDTHE MOBILE APPS

Page 31: Mobile App Development

LINES OF C# CODENOT REUSABLEBETWEEN MOBILE APPS

Page 32: Mobile App Development

ALL C# CODE(EXCEPT 460 LINES)IS THE SAME

Page 33: Mobile App Development

ALL JS CODEIS THE SAME

Page 34: Mobile App Development

ALL CSS SCRIPTSARE THE SAME

Page 35: Mobile App Development

ALL IMAGESARE THE SAME

Page 36: Mobile App Development

SO WHAT ARETHE DIFFERENCES

Page 37: Mobile App Development
Page 38: Mobile App Development

IMPORTING LIBRARIES

Page 39: Mobile App Development

IMPORTING LIBRARIESINITIALIZING VIEWS

Page 40: Mobile App Development

IMPORTING LIBRARIESINITIALIZING VIEWS

PREFERENCES / STATE

Page 41: Mobile App Development

IMPORTING LIBRARIESINITIALIZING VIEWSLOCALIZATION

PREFERENCES / STATE

Page 42: Mobile App Development

IMPORTING LIBRARIESINITIALIZING VIEWSLOCALIZATION

WEB SERVICE ACCESS

PREFERENCES / STATE

Page 43: Mobile App Development

IMPORTING LIBRARIESINITIALIZING VIEWSLOCALIZATION

WEB SERVICE ACCESS

PREFERENCES / STATE

LOCATION

Page 44: Mobile App Development

protected override voidOnCreate (…)

// set view from the "main“ layout resource

// use sub classed WebViewClient tointercept hybrid native calls

// read preferences// localization// detect the language on the phone

// render the view

// load the rendered HTMLinto the view with a baseURL that points to the rootof the bundled Assets folder

Page 45: Mobile App Development

private static LocalizationModelGetLocalizedStrings(...Resources r)

// read strings

Page 46: Mobile App Development

// accessing services

private static ……() {}

Page 47: Mobile App Development

public class HybridWebViewClient :WebViewClient{ public override void OnPageFinished (WebView view, String url) {} public override bool ShouldOverrideUrlLoading (WebView webView, string url) {

// if the URL is not our own custom scheme, just let the webView load the URL as usual

// this handler will treat everything between the protocol and "?" as the method name. the query string has all of the parameters.

// save state}

Page 48: Mobile App Development

// INFO simply read these two variableswhen you need them

static string latitude = "0";static string longitude = "0";

Page 49: Mobile App Development

protected override void OnPause() {// stop sending location updates whenthe application goes into the background}

// OnResume gets called every time theactivity starts, so we'll put ourRequestLocationUpdates code here

protected override void OnResume() {// initialize location manager// this will determine the best providerat application launch.// once the provide has been set itwill stay the same until the next timethis method is called}

Page 50: Mobile App Development

// from ILocationListenerpublic void OnLocationChanged(Location location) {}

public void OnProviderDisabled(string provider) {// INFO location disabled by the user}

public void OnProviderEnabled(string provider) {// INFO location enabled by the user}

public void OnStatusChanged(string provider, Availability status,Bundle extras) {// INFO location availability changed}

Page 51: Mobile App Development

public override void OnBackPressed() {}

// handle specific hardware navigation

Page 52: Mobile App Development

HARDWARE& SOFTWARE

Page 53: Mobile App Development

VISUAL STUDIOXAMARIN

Page 54: Mobile App Development

ANDROID & iOS DEVICESPHONES AND TABLETS

Page 55: Mobile App Development

WINDOWS PCSMACS

Page 56: Mobile App Development

ANDROID EMULATORSiOS EMULATOR

Page 57: Mobile App Development

THANK YOU!

Page 58: Mobile App Development

THANK YOU!ANY QUESTIONS?