Nashville DevFest '17 - When To Go Native (Jonathan Wiley, LunarLincoln)
-
Upload
jonathan-wiley -
Category
Mobile
-
view
162 -
download
2
Transcript of Nashville DevFest '17 - When To Go Native (Jonathan Wiley, LunarLincoln)
When To Go Native Jonathan Wiley
DevFest ‘17
Who is Jonathan Wiley
ME ME ME MESpeaker Introduction
3
When To Go Native OutlineWe'll discuss the popular ways to develop mobile apps
We'll cover the strengths and weaknesses of each approach
We'll cover methods for deciding when to go native
We'll look at some examples of apps and pick an approach for each one
DevFest ‘17
Popular App Development Techniques
Web Hybrid, Cross Platform, & Native
DevFest ‘17
5
Web HybridWeb app wrapped in a native shell
Build with Cordova (PhoneGap), Ionic, etc.
Web technologies with native hooks
HTML5
Javascript
CSS
DevFest ‘17
6
Cross PlatformNative UI, cross platform backend
The most popular options are:
Xamarin
React Native
DevFest ‘17
7
XamarinWrite apps in C#
Specify platform specific UI
Tools provided by Microsoft
DevFest ‘17
8
React NativeWrite apps in Javascript
Leverages native UI components for each platform
OSS, currently built and maintained by Facebook
DevFest ‘17
9
Native AppsLanguage and frameworks for each platform
Write iOS apps in Objective-C or Swift
Write Android apps in Java
Tools provided and maintained by platform owners (Apple and Google)
DevFest ‘17
Which Approach is Right for my Project?
Strengths & Weaknesses
DevFest ‘17
11
Strengths & Weaknesses
Device Capabilities
User Interface
Performance
Security
DevFest ‘17
Tooling
Skills Required
Code Sharing
Deployment
12
Device CapabilitiesFull access with native
Support on cross platform for most, drop to native code for unsupported capabilities
Support on mobile web for some, harder drop to native code for unsupported capabilities
DevFest ‘17
13
User InterfaceNative UI best with native
Can achieve native results with cross platform if platform specific UIs are implemented
Uniform look of web across platforms leads to a non-native feel
DevFest ‘17
14
PerformanceBest native
Pretty good with cross platform
Not so great with web hybrid
DevFest ‘17
15
SecurityBest native
Decent with cross platform
Vulnerable with web hybrid
DevFest ‘17
16
ToolingFirst party tools when doing native development
React Native updates from Facebook
Xamarin updates from Microsoft, use Visual Studio
Hybrid web uses web tooling and light build tools from vendors
DevFest ‘17
17
Skills RequiredReally a difference in tooling and languages
For any of these beyond hybrid web you'll need to have a pretty deep knowledge of each platform
DevFest ‘17
18
Shared CodeNone with native
Most with cross platform
All with hybrid web
DevFest ‘17
19
DeploymentUpload to app stores with all of these
React Native and hybrid web can be updated without app review
Technically iOS apps have to feel native
Closer to code signing and better deployment tools for native
DevFest ‘17
So what does all of this mean?
When To Go NativeDevFest ‘17
21
Deep hardware integrationRunning in the background (GPS tracking, background content updates, VOIP) Camera access beyond basic capture Bluetooth (beacons, BTLE, bluetooth audio) Offline storage TouchID and fingerprint scanners Accelerometers Motion Coprocessor
DevFest ‘17
22
Deep platform integrationHealthKit/Google Fit
Apple Watch/Android Wear extensions
Today widget/Android widgets
iMessage extensions
Siri
HomeKit
Media libraries
DevFest ‘17
23
When performance mattersReal-time audio/video processing
Heavy animations
Machine learning
Efficiently running in the background
DevFest ‘17
24
When UX *really* mattersHigh touch applications
Rich user interactions
High profile apps
DevFest ‘17
25
Latest & GreatestNo reliance on 3rd parties to support features before you can
Start developing for new platforms before they're released to the public
DevFest ‘17
26
When security is a priorityHealthcare
Corporate
Government
DevFest ‘17
27
When to go cross platformWhen you can leverage JS or C# developers to focus on mobile
When you don't need deep hardware integration
When you don't need deep platform integration
When you don't need cutting edge
DevFest ‘17
28
When to go web hybrid (or just web!)
When you have existing web talent to focus on mobile
When functionality is fairly basic
When user experience doesn't have to be stellar
DevFest ‘17
Case Studies
Example AppsLunarLincoln
30
XOEyeMobile Application
XOEye equips field technicians with wearable technology systems that capture and share the right information with the right people at the right time. LunarLincoln built a VOIP app for XOEye that lets their users communicate via real-time audio and video streaming when they’re on the go.
31
CompassMobile Application
Compass employs the powerful native sensors in your phone to give you perspective on your habits over time. Open Compass and instantly participate in the trajectory of your life. Learn more about what makes you tick, get insights, and replay your day.
• Observe your behavior over time
• Own your data and take it further with export to CSV
• See the big picture and accomplish goals with insight cards
32
LoLoMobile Application
Lolo or “Locals Supporting Locals” is a citywide loyalty program. LoLo essentially turns any credit or debit card into a rewards card by tracking spending when those cards are used with participating businesses. Nothing new to carry, nothing to remember; just spend like normal.
33
The Brain at Work ExperimentMobile Application
The TReAD Lab studies the behavioral and neurobiological determinants of cost/benefit decision-making in healthy individuals, as well as in patients with mental illness. The Brain at Work Experiment allows test subjects to participate outside the lab as well as more frequently allowing for a richer data set for the study.
What have we learned?
RecapLunarLincoln
35
When To Go Native Outline
We discussed the popular ways to develop mobile apps
We covered the strengths and weaknesses of each approach
We covered an methods for deciding when to go native
We looked at some examples of apps and pick an approach for each one
DevFest ‘17
ThanksFollow us online: @LunarLincoln, @microchip128