RAD STUDIO IN THE ENTERPRISE

Download Report

Transcript RAD STUDIO IN THE ENTERPRISE

EMBARCADERO
EMBARCADERO TECHNOLOGIES
TECHNOLOGIES
Devs2-palooza
Developers and Devices
David Intersimone “David I”
Vice President of Developer Relations & Chief Evangelist
[email protected]
EMBARCADERO TECHNOLOGIES
About David I.
•
•
•
•
44 years since my first program – IBM360/40, Fortran, Prime # Generator
First 8 years – real time assembly language programmer
28 years with the developer tools group
Responsibilities:
–
–
–
–
–
Global Evangelism
Tech Partner Program
MVP Program
Embarcadero Community
Developer Cheerleader
EMBARCADERO TECHNOLOGIES
Agenda
•
•
•
•
•
•
The Changing Client Landscape
Devices, Devices, Devices
Tool Choices
The 5 Mistakes Developers Make in Moving to Mobile
Summary
Q&A
EMBARCADERO TECHNOLOGIES
THE CHANGING CLIENT LANDSCAPE
EMBARCADERO TECHNOLOGIES
2013: The Client Revolution
1 Billion
65 Million
1 Billion+
Windows
Mac
Mobile
Today’s Unprecedented Multi-Device Landscape
EMBARCADERO TECHNOLOGIES
2013+
Client Device Diversity Will Continue to Expand
EMBARCADERO TECHNOLOGIES
The Client Revolution
An Unprecedented Multi-Device Landscape
EMBARCADERO TECHNOLOGIES
Apple (iOS) vs Samsung (Android)
EMBARCADERO TECHNOLOGIES
Mobile Platform Market Share
EMBARCADERO TECHNOLOGIES
Global mobile and PC tablet shipments
EMBARCADERO TECHNOLOGIES
Global smartphone shipments
EMBARCADERO TECHNOLOGIES
DEVICES, DEVICES, DEVICES
EMBARCADERO TECHNOLOGIES
What next-gen devices/gadgets do you have?
•
•
•
•
•
•
•
Smart phone, Tablet
2-in-1 devices
Home Control/Security
Automotive
Digital Health
Wearable
Gaming
EMBARCADERO TECHNOLOGIES
Billions of Audio/Video Devices
•
•
•
•
•
•
•
Media – audio, video
Capture – capturing, stopped
Position – unspecified, front, back
Flash – auto, off, on
Focus – autofocus, continuous autofocus, locked
Torch – off, on, auto
Video capture quality – photo quality, high, medium, low
EMBARCADERO TECHNOLOGIES
Trillions of Sensors – Some Categories
•
•
•
•
•
•
•
•
•
Location - GPS, Static, Lookup, Triangulation, Broadcast, Dead Reckoning
Environmental - Temperature, Pressure, Humidity, Wind Speed, Wind Direction
Motion – Accelerometer (1D,2D,3D), Motion Detector, Gyrometer (1D, 2D, 3D), Speed
Orientation – Compass (1D, 2D, 3D), Inclinometer (1D, 2D, 3D), Distance (1D, 2D, 3D)
Electrical - Voltage, Current, Capacitance, Resistance, Inductance, Power, Potentiometer
Mechanical – Boolean (Switch, Array), Multi-Value Switch, Force, Scale, Pressure, Strain
Biometric – Human Presence, Human Proximity, Touch
Light – Ambient Light
Scanner - RFID, Barcode
EMBARCADERO TECHNOLOGIES
Beyond the SmartPhone/Tablet
• Home Control/Automation
–
–
–
–
Z-Wave - http://www.z-wave.com/
Zigbee - http://www.zigbee.org/
Nest - http://nest.com/
Philips Hue - http://www.meethue.com/
EMBARCADERO TECHNOLOGIES
Digital Health – Parks Associates Q2-2013
EMBARCADERO TECHNOLOGIES
Sensor Based Solutions
Source: Fullpower Technologies - http://www.fullpower.com/?Page=Technology
EMBARCADERO TECHNOLOGIES
TOOL CHOICES
EMBARCADERO TECHNOLOGIES
Devices – Choose your Languages & Architectures
• Languages
– Native Code – C++, C, Delphi, Objective-C
– Managed Code – Java, C#
– Dynamic/Scripting - PHP, JavaScript, Python, Ruby, Lua
• Architectures
– Multi-Device / APIs
– Multi-Tier
– Service Oriented - HTTP/REST/JSON/XML
EMBARCADERO TECHNOLOGIES
Current Tool Choices
Vendor
Tools
Single
Device
Multi
Device
Native
Scripted
Apple
Google
Microsoft
HTML5
JavaScript
Web Tech
Based Tools
EMBARCADERO TECHNOLOGIES
Pros & Cons for Multi-Device
Pros
Native UX
Native performance
Secure
Vendor
Tools
Cons
Multiple code bases
Multiple teams
Higher dev cost
Single
Device
Multi
Device
True Native
Scripted
Apple
Google
Microsoft
HTML5
JavaScript
Web Tech
Based Tools
EMBARCADERO TECHNOLOGIES
Vendor tool approach to multi-device
$
$
$
$
Objective-C
Java
C# or C++
C++ or Obj-C
iOS SDK
Android SDK
.NET or MFC
OSX SDK
multiple languages, multiple codebases
EMBARCADERO TECHNOLOGIES
Pros & Cons for Multi-Device
Pros
Vendor
Tools
Single
Device
Multi
Device
True Native
Scripted
Apple
Google
Microsoft
HTML5
JavaScript
One team
Lower dev costs
Fast time to market
Web Tech
Based Tools
Cons
Script Performance
Non-Native UX
Unsecure
EMBARCADERO TECHNOLOGIES
Managed/Script Code Mobile Solutions
$
$
$
JavaScript or C#
Platform
SDK
Platform
SDK
Platform
SDK
one language, multiple codebases
EMBARCADERO TECHNOLOGIES
Native Code
HTML5, JavaScript, CSS3
Titanium.Geolocation.distanceFilter =
.25;
Ti.Geolocation.purpose = "Callbacks
Are Your Friend”;
// make the API call
Ti.Geolocation.getCurrentPosition(func
tion(e) {
// do this stuff when you have a
position, OR an error
if (e.error) {
Ti.API.error('geo - current
position' + e.error);
return;
}
// got the location information
Ti.App.info('got a location
',JSON.stringify(e));
});
Dalvik (Android/Java)
JavaScript
Bytecode IL
100100110010
011001001100
100110010011
001001100100
110010
ARM Binary
JavaScript
Runtime
Interpreter
Virtual Machine
(VM) Runtime
Native
Scripted
VM
EMBARCADERO TECHNOLOGIES
THE 5 MISTAKES DEVELOPERS MAKE IN
MOVING TO MOBILE
EMBARCADERO TECHNOLOGIES
Mistake #1
Trying to fit a desktop experience onto a mobile device
Mobile devices lack the facilities of a PC including
• large display for easy viewing
• a robust in memory cache for fast data process
• external keyboard for easy typing
Developers try to build overly complex capabilities into mobile devices:
• cluttering the screen
• draining device resources
• impacting the end user experience
How to avoid it
•
•
identify the high value actions within the app that are most likely to be used
• design only for these requirements
• ensure users can complete them with minimum taps
• set a maximum tolerance for the no. of steps a user has to take to complete an action
Learn the most common app types and stick to those, until you are really expert
EMBARCADERO TECHNOLOGIES
Mistake #2
Not making the mobile user experience your top priority
• With hundreds of thousands of apps your users have lots of choices
• If your app is not easy to use people will avoid it
• Users don’t not come back after a poor initial user experience
How to avoid it
•
•
•
•
Focus on a good user experience design
Show users prototypes of the app on actual mobile devices for regular feedback
Ensure users can complete tasks with minimum taps
Ensure that you have satisfied their main requirements before releasing the app
EMBARCADERO TECHNOLOGIES
Mistake # 3
Too much get between your app, the OS and the Hardware
• Shave every possible millisecond off response time
• Utilize all relevant capabilities offered by the device
• A mobile app dev platform that abstracts away device details delivers
only the common denominator of functionality across devices
How to avoid it
•
•
•
•
Build a “True Native App” means your app is optimized for a particular OS
“True Native App” is also optimised for the particular hardware
Skip wrappers like JVMs that abstract away control of fine grained capabilities
Code directly to the device whenever possible
EMBARCADERO TECHNOLOGIES
Mistake #4
Building separate apps for different platforms
Building apps with separate codebases for different platforms can lead to multiple issues
• Many of your end users own multiple devices
• Your app may perform differently on each device
• With separate apps features get released and bugs get fixed at different times
• Results in out of sync scenario – confusing to users
• Managing multiple codebases results in extra development work an higher overhead
How to avoid it
Single codebase that is complied and optimized for different platforms and device form factors
• You will deliver a more consistent user experience across all devices
• Realise significant savings with fewer resources required for development, QA and delivery
EMBARCADERO TECHNOLOGIES
Mistake # 5
Not doubling down on security
Relying on device or network security measures to protect your data can be hazardous
• Take active measures to protect data that is resident on the device
• Take active measures to protect data passed in communications and service calls
• Java, JavaScript and Android are notorious hacker targets
How to avoid it
• For key interactions code directly to the device
• Include your own security precautions to reduce the risk of third party attacks
• Encrypt sensitive data stored on the device
EMBARCADERO TECHNOLOGIES
RAD STUDIO XE5
Delphi – Win/Mac/iOS/Android
C++Builder – Win/Mac (ios,Android Winter 2013)
EMBARCADERO TECHNOLOGIES
Multi-Device True Native
Multi-Device
True Native
Embarcadero
Pros
Native UX
Native performance
Secure
Single
Device
Native
Apple
Google
Microsoft
Pros
One team
Lower dev costs
Fast time to market
Multi
Device
Scripted
HTML5 and
JavaScript
EMBARCADERO TECHNOLOGIES
RAD Studio XE5 – multi-device ready
$
Delphi and C++*
Future
FM Framework
One team, One codebase
* C++ planned for end of 2013
EMBARCADERO TECHNOLOGIES
RAD Studio XE5- Enterprise Ready
FM
Your
App
FireDAC
InterBase
or SQLLite
Device
DataSnap
Server
FireDAC
Methods
Oracle
C++ or
Delphi
MSSQL
DB2
Sybase
& more...
36
EMBARCADERO TECHNOLOGIES
Windows Developer Survey – Dimensional Research
• Overwhelming majority of Windows developers must add mobile to
their existing app development strategy
– 85% of respondents receive requests for mobile apps
– 99% say existing apps must continue to be supported
• Android is the most requested platform among Windows developers
– 83% of the requests for mobile app have Android support as a requirement
• HTML5 and JavaScript are not the solution of choice for mobile apps
– 85% of respondents say native apps are best for end users
– 74% of those who used HTML5 and JavaScript have had challenges
Dimensional Research (UK) Q3 2013 Survey – 1,337 Windows Developers
http://embt.co/DRSurvey
EMBARCADERO TECHNOLOGIES
Summary
• Most devices (available today) are app ready
• Service integrations are standardized on REST/JSON
• You (developers) are the center of this Universe and will
be for years to come!
EMBARCADERO TECHNOLOGIES
Q&A
EMBARCADERO TECHNOLOGIES
Resources
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Apple Developer - http://developer.apple.com/
Android Developers - http://developer.android.com/
Z-Wave Alliance - http://www.z-wavealliance.org/
Zigbee Alliance - http://www.zigbee.org/
VeraLite - http://www.micasaverde.com/
Pebble Watch - http://developer.getpebble.com/
Leap Motion - http://www.leapmotion.com/developers
Philips Hue - http://www.meethue.com/
Nest - http://nest.com/
FullPower Technologies - http://www.fullpower.com/
Sphero - http://www.gosphero.com/
Parrot AR Drone - http://ardrone2.parrot.com/
Ford Developer Program - https://developer.ford.com/
GM Developer Program - https://developer.gm.com/
EMBARCADERO TECHNOLOGIES
THANK YOU 
[email protected]
@davidi99
blogs.embarcadero.com/davidi/