building your own mobile enterprise application: it’s not as hard as you might think!

55
Build Your Own Mobile Enterprise Application It Isn’t as Hard as You Might Think

Upload: jason-conger

Post on 21-Nov-2014

435 views

Category:

Technology


4 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

Build Your Own Mobile Enterprise Application

It Isn’t as Hard as You Might Think

Page 3: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!
Page 4: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!
Page 5: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!
Page 6: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

Object OrientationThink of applications as a Data Access Layer (DAL)

Page 7: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

Loose Coupling

Page 8: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

Off Topic?

A

Page 9: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!
Page 10: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!
Page 11: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!
Page 12: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!
Page 13: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

Mobility Pack

Horizon View

Page 14: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

VMware Unity Touch

Page 15: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

Citrix Mobile Desktop

Page 16: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!
Page 17: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

Theorem #1

Applications developed for native devices with native code are superior.

Page 18: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

PlatformDevelopmentFramework

Language IDE

iOS iOS SDK Objective-C Cocoa, Xcode

Android Android SDK, Android NDK Java, C/C++Eclipse, NetBeans,

IntelliJ IDEA

WinPhone 7 Windows .NET & Silverlight SDK C# and others Visual Studio

Windows 8 Metro Style

AppsWinRT

C++/ C# / VB.NET / Javascript

Visual Studio

BlackberryJava ME + Optional Packages +

API extensionsJava Eclipse

ChromeOS Webkit HTML /CSS / Javascript Many

Page 19: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

PlatformDevelopmentFramework

Language IDE

iOS iOS SDK Objective-C Cocoa, Xcode

Android Android SDK, Android NDK Java, C/C++Eclipse, NetBeans,

IntelliJ IDEA

WinPhone 7 Windows .NET & Silverlight SDK C# and others Visual Studio

Windows 8 Metro Style

AppsWinRT

C++/ C# / VB.NET / Javascript

Visual Studio

BlackberryJava ME + Optional Packages +

API extensionsJava Eclipse

ChromeOS Webkit HTML /CSS / Javascript Many

BYOD makes Theorem # 1 hard!

Page 20: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

There’s More Than One Way to Skin a Cat

Page 21: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!
Page 22: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

Web apps have been an option for years, but native applications dominated the mobile enterprise landscape. So what makes HTML5 special?

Page 23: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

Web apps have been an option for years, but native applications dominated the mobile enterprise landscape. So what makes HTML5 special?

Page 24: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

<canvas>

Page 25: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

How HTML 5 Works

HTML

JSON/XML

Old and Busted

New Hotness

Page 26: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

HTML5 Pros• Easier than native to code• Offline• No app store necessary• Some native device features available• Single code base for multiple platforms*• Software updates

Page 27: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

HTML5 Cons• UI is not native• Browser based idiosyncrasies• Not all native device features available• No app-level VPN (3rd party needed)• No push notifications

Page 28: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

Theorem #2 – Apps that Look Better are Perceived to be Better

Page 29: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!
Page 30: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

How PhoneGap Works

• Chromeless Web Browser

• JS library to access native features

• Web Browser proxies bare metal requests

Page 31: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

Getting Closer To The Device Without Native Code

Page 32: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

DEMO

Page 33: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

Theorem #3 – Inverse Proportions

Page 34: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

PhoneGap Pros• Open source and free• ~Single code base (ex. phone buttons)• Fewer specialized skills needed ($$$)• More native capabilities than HTML5• “Feels” more native• Plugins for MDM solutions

Page 35: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

PhoneGap Cons• WebView – depends on vendor

implementation• More sluggish than native (but getting better)• Mac needed to develop iOS apps• Not all native device features available – may

need to wait on framework updates

Page 36: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!
Page 37: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

How Intel XDK Works

Page 38: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

Intel XDK Pros• Drag and Drop design• Development is cross platform• No need for Mac (built in the Cloud)• No need to install 3rd party SDKs (built in the

Cloud)• Test on real device

Page 39: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

Intel XDK Cons• It is still a hybrid app, so same cons as

PhoneGap• Stub app for testing on native device seems

kludgy

Page 40: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!
Page 41: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

How Xamarin Works• C#/.NET on iOS and Android• Born out of the Mono Project

– An open source, cross-platform, implementation of C# and the Common Language Runtime (CLR) that is binary compatible with Microsoft.NET

Page 42: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

How Microsoft .NET WorksMSIL

(Microsoft Intermediate Language)

Page 43: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

DEMO

Page 44: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

Xamarin Pros• Native Code!• Visual Studio integration• Drag and Drop designer• Code reuse – iOS, Android, Windows

Page 45: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

Xamarin Cons• Still need a Mac for build• Apps will be larger• Full featured = $$$• Still need to learn native API’s

Page 46: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

Citrix Mobile SDK for Windows Apps

Page 47: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

How the Citrix Mobile SDK for Windows Apps Works

XenAppXenDestkop

HDX Virtual Channels

Page 48: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

Client Device

Receiver

Receiver Core

MRVCVirtual Channel

XenApp/XenDesktop Machine

New

Modified

3rd Party Code

CtxSvcHost.exe

User Session

Mobile VC Client

COM Layer

Native App

Native Library .NET Assembly ID Dispatch

ManagedApp

Automation App

Location and Sensor VC Client

Location and Sensor

Virtual Channel

CtxSvcHost.exe

HDX

MRVC Virtual Channel Service

Location Virtual Channel Service

How the Citrix Mobile SDK for Windows Apps Works

Page 49: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

DEMO

Page 50: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

EXIF Data from photo used to extract GPS location and provide maps from Bing

Phone or SMS using native device

Take photo or video using native device

No Patient data is stored on the device.

Page 51: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

Citrix Mobile SDK Pros• The data problem is solved• Utilize existing home-grown apps – add

features over time• Small learning curve

Page 52: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

Citrix Mobile SDK Cons• No offline• Need source code• Users need to launch Citrix Receiver first• Slow application launch (compared to other

methods)• Requires Citrix infrastructure• Not quite as smooth (due to remoting)

Page 53: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

Microsoft RDS options??Is there a Mobility Pack for Microsoft RDS?

Short answer…No.

Can it be done?

Well, sort of…but how?

Detect the remote device type and run an overlay application that simply hides the Task Bar and other components, and displays a user friendly interface

Remember progman.exe?

Page 54: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

Detection of a Mobile DeviceHow to detect if a mobile device is accessing a Server Based Application?

The following is an example command script:usrlogon.cmd------------@ECHO OFF:startCTXCliOS.exeIF ERRORLEVEL 0 goto noOSIF ERRORLEVEL 1 goto winOSIF ERRORLEVEL 82 goto macOSIF ERRORLEVEL 83 goto iOSIF ERRORLEVEL 84 goto androidOSgoto noOS:winOSrem Client OS successfully matched to windowsecho Client OS is Windows.echo put other commands here for this client.goto end:macOSrem Client OS successfully matched to macecho Client OS is Mac.echo put other commands here for this client.goto end:iOSrem Client OS successfully matched to iOSecho Client OS is iOS.echo put other commands here for this client.goto end:androidOSrem Client OS successfully matched to androidecho Client OS is Android.echo put other commands here for this client.goto end:noOSecho NO CLient OS match.:end

CTXCliOS is a command-line tool for Citrix Servers to check the type of Operating System that is being run from the Client Machine that is running the Citrix Receiver or Plugin.

Usage:CTXCliOS [/?]

/? - Help information

The ERRORLEVEL return code shows the Client OS Type.The following are known OS types and their ERRORLEVEL return code

Client OS return code (decimal)============= =====================

Windows 1EPOC 10OS/2 11DOS32 14Linux 81Mac 82iOS 83Android 84Blackberry 85PlayBook 86Windows Mobile 87HTML5 257Java 261WinCE - HP 7945WinCE - Wyse 32940ThinOS - Wyse 32993

Page 55: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!

Resources• www.html5rocks.com• www.microsoftvirtualacademy.com• coenraets.org/blog/phonegap-tutorial/• developer.xamarin.com/guides/• www.ctrl-alt-del.com.au - Citrix Mobile SDK

stuff