Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!
-
Upload
jason-conger -
Category
Technology
-
view
435 -
download
4
description
Transcript of Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!
![Page 1: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/1.jpg)
Build Your Own Mobile Enterprise Application
It Isn’t as Hard as You Might Think
![Page 2: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/2.jpg)
http://www.JasonConger.com
@JasonConger
http://www.linkedin.com/in/JasonConger
About Me
![Page 3: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/3.jpg)
![Page 4: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/4.jpg)
![Page 5: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/5.jpg)
![Page 6: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/6.jpg)
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!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/7.jpg)
Loose Coupling
![Page 8: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/8.jpg)
Off Topic?
A
![Page 9: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/9.jpg)
![Page 10: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/10.jpg)
![Page 11: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/11.jpg)
![Page 12: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/12.jpg)
![Page 13: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/13.jpg)
Mobility Pack
Horizon View
![Page 14: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/14.jpg)
VMware Unity Touch
![Page 15: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/15.jpg)
Citrix Mobile Desktop
![Page 16: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/16.jpg)
![Page 17: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/17.jpg)
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!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/18.jpg)
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!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/19.jpg)
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!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/20.jpg)
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!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/21.jpg)
![Page 22: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/22.jpg)
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!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/23.jpg)
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!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/24.jpg)
<canvas>
![Page 25: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/25.jpg)
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!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/26.jpg)
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!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/27.jpg)
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!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/28.jpg)
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!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/29.jpg)
![Page 30: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/30.jpg)
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!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/31.jpg)
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!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/32.jpg)
DEMO
![Page 33: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/33.jpg)
Theorem #3 – Inverse Proportions
![Page 34: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/34.jpg)
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!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/35.jpg)
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!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/36.jpg)
![Page 37: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/37.jpg)
How Intel XDK Works
![Page 38: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/38.jpg)
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!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/39.jpg)
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!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/40.jpg)
![Page 41: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/41.jpg)
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!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/42.jpg)
How Microsoft .NET WorksMSIL
(Microsoft Intermediate Language)
![Page 43: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/43.jpg)
DEMO
![Page 44: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/44.jpg)
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!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/45.jpg)
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!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/46.jpg)
Citrix Mobile SDK for Windows Apps
![Page 47: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/47.jpg)
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!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/48.jpg)
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!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/49.jpg)
DEMO
![Page 50: Building your Own Mobile Enterprise Application: It’s Not as Hard as You Might Think!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/50.jpg)
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!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/51.jpg)
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!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/52.jpg)
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!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/53.jpg)
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!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/54.jpg)
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!](https://reader038.fdocuments.in/reader038/viewer/2022103014/546f6d74af7959c00c8b4579/html5/thumbnails/55.jpg)
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