1. Mobile Web Apps and the Intel® XDK
Dale Schouten – TCE, Intel Corporation - @OldGeeksGuide
Bob Spencer – Sr. Software Engineer, Open Source Technology Center, Intel
Corporation
Intel Confidential — Do Not Forward
2. All about me . . .
2
Working at Intel for nearly 20 years in
various capacities in compiler
development and support, performance
analysis and web app development
tools.
Currently working with the Intel XDK
team.
Recovering C Programmer
Compiler Guy
Performance
Android compiler
Intel XDK
3. 3
Agenda
Mobile Web Apps and the Intel XDK
Android Apps
Web Apps
HTML5
Hybrid Apps
Intel XDK
Crosswalk
Intel XDK IoT
4. 40M Unit Tablet Goal in 2014
>200 Designs Entry to Performance Windows* and Android*
Develop on Intel to increase your business opportunity
4
5. Rich Portfolio of Android* and Windows* Mobile Devices
New Tablets From $99 - ~$499+
Acer
Iconia Tab 8
Toshiba*
Excite Go
Dell*
Venue 8 KD Interactive*
Over 200 Designs Available globally
Acer*
Iconia One 7
Acer
Aspire Switch 10
ASUS*
FonePad 7
FE375CG
ASUS
Transformer Pad LTE
TF303CL
Dell
Venue 7
Kurio Tablet
Toshiba
Encore2 10”
FUHU*
DreamTab
ASUS
Zenfone 4.5
A450CG
ASUS
MeMO Pad 7
ME170C, ME176C
ASUS
MeMO Pad 8
ME 181C, ME581CL
ASUS
FonePad 8
FE380CG
ASUS
Transformer pad
TF103CG, TF103C
Lenovo*
ThinkPad 10”
FOXCONN*
Anchor Premium
FOXCONN
Anchor 7.8
Toshiba
Encore2 8”
5
11. Why HTML5?
11
HTML5 is the language of the web!
Flexible, Adaptable
Used by millions of developers
HTML5 == HTML5/CSS3/JS
12. Hybrid HTML5 Apps…
12
…allow developers to build apps using
these skills and tools…
…that can be distributed in native
app stores.
13. Native vs. Web Apps
13
Single
Platform
Multiple
Platforms
Full
Capabilities
Partial
Capabilities
Web Apps
Web Developer Skills
Instant updates
Unrestricted Distribution
Native Apps
Advanced UI Interactions
Smoothest Performance
App Store distribution
14. Native vs. Web Apps
14
Single
Platform
Multiple
Platforms
Full
Capabilities
Partial
Capabilities
Web Apps
Web Developer Skills
Instant updates
Unrestricted Distribution
Native Apps
Advanced UI Interactions
Smoothest Performance
App Store distribution
Hybrid HTML5 Apps
Web developer skills
Access to native platform
App Store distribution
15. Mobile HTML5 Web App Block Diagram
15
HTML5 Web App
Mobile Browser
Device Libraries
Restricted Device Access
Mobile Device OS
16. Mobile Hybrid HTML5 WebView App Block
Diagram
16
Hybrid Extension
Bridge
Device Libraries
HTML5
WebView App
Native WebView
Mobile Device OS
17. Think of Hybrid as a “Black and Tan”
17
Web App Stuff
(stout)
Native App Stuff
(pale ale)
/fōn•gap/
stuff
P.S. - It’s spelled “Cordova” but pronounced /fōn•gap/
19. Intel XDK: Hybrid HTML5 Mobile App Development
Debug and Test Tools
Services and Content
thru APIs and Plugins
Mashery* (et al)
Multiple Form Factors
and Platforms
HTML5 Brackets* Editor
App Designer Layout Editor
Ripple* Cordova* Emulator
Intel App Preview Debugger
Remote Chrome* DevTools*
“weinre” Remote Inspector
On Device Live Preview
iOS* - iPhone* and iPad*
Android* - x86 and ARM*
Crosswalk* - x86 and ARM
Windows* 8 Store - “Metro” UI
Windows 8 Phone
HTML5 Packaged Web Apps:
Tizen*, Firefox* and Chrome
19
20. Intel® XDK – Every stage of development
20
Existing
App
New
App
Cordova
Frameworks
Cloud build
Manually
submit to
app
store
The Intel® XDK facilitates the development of hybrid HTML5
applications for iOS*, Android*, Windows* 8 and other mobile devices.
Visit the Intel Developer Zone xdk.intel.com
Apple App Store
Google Play Store
Windows Store
Nook
. . .
Brackets
Editor
App
Designer
Ripple
Emulator
CDT
Debug
App
Preview
21. Intel® XDK: Cordova Plugins
21
Cordova Plugins
Core Plugins
Intel.xdk.*
Featured plugins
Google Play Games Services
Dolby Audio
Third-party plugins
Cordova plugin registry (or not)
Built from sources
Intel XDK
Cloud
Build Service
Your
Sources
Cordova
Plugins
Built app
Android .apk
iOS
Windows
. . .
22. Intel® XDK: Mashery APIs
22
Intel® Mashery™ API Services
Rotten Tomatoes
Instagram
Markit OnDemand
Woot
Dropbox
Weather Underground
Many more . . . .
Information
Products
Services
API
http://. . .
{JSON}
35. Summary: Emulate and On-Device Debug
35
Intel® XDK Emulator
Preview in various phone and tablet
formats
Simulate device-specific features
Debug using standard Chrome
DevTools (CDT)
Simulation of intel.xdk and Apache
Cordova APIs
App Preview On-Device Previewer
Quickly load and run projects directly
on real devices
App Debugger On-Device Remote
Android Debug
Remote access to Android device
JavaScript console (aka CDT)
Live Layout Editing
Experiment with layout and styling
options in real-time
41. What is Crosswalk
• New HTML5 runtime based on Google’s Blink and Chromium Content Module
• Optimized for Android
• Supports Tizen, Linux, Mac, and Windows
• Open source, BSD licensed. Started in September, 2013
• 6-week release cadence. Stable, Beta and Canary channels
• GitHub for code and reviews. JIRA for features and bugs. FreeNode for IRC.
41
42. Why do we need a new HTML5 Runtime?
• Deploying on Android is complex
• Multiple type of devices (low cost, high cost)
• Multiple versions of Android (sometimes very old)
• WebView very old, behavior different from one device to the other
• Google focus on the browser, need for a product tailored for app developers
• Based on Blink, the most competitive HTML5 engine
• Many other companies and communities have made the same conclusion and
moved to Blink
42
44. Crosswalk Project Goals
44
• Enable latest, advanced web application features across all Android devices
• Based on W3C standards and landing zone for new draft APIs and Intel
differentiation, such as SIMD and Presentation API
• Bring web applications to the next level, closer to native
• Easy adaptation for downstream projects
• Integrated with Cordova, Intel® XDK or even existing Android Java applications.
• Good co-operation with upstream projects
• Chromium, Blink, Skia, V8, Wayland
• Fully open source project – embraces participation
45. Crosswalk Architecture Goals
• Based on Blink and selected parts of Chromium
• Work with upstream to enable features we need
• Minimize the changes on Crosswalk Blink and Chromium
• Crosswalk rapid release cycle always updated with the latest Chromium
version.
• API extensions in separate repositories
• Cordova APIs, early or experimental W3C APIs
45
47. Features and APIs
Web Components (http://www.w3.org/TR/components-intro/)
Future of the web app design
Service Worker (http://www.w3.org/TR/service-workers/)
Closing the gap between the native and web applications
Responsive Design
Media queries (L4), @viewport (http://dev.w3.org/csswg/css-device-adapt/)
PIcture element, srcset attribute
Native Client
Portable version, pNaCl
Manifest (http://w3c.github.io/manifest/)
Standard manifest for web applications
W3C SysApps: Raw Sockets (http://www.w3.org/2012/sysapps/tcp-udp-sockets/)
W3C SysApps: Device Capabilities (http://www.w3.org/2012/sysapps/device-capabilities/)
W3C SysApps: App URI (http://www.w3.org/2012/sysapps/app-uri/)
47
48. Features and APIs (cont.)
W3C Promises API
W3C Resource Timing API (http://www.w3.org/TR/resource-timing/)
W3C User Timing API (http://www.w3.org/TR/user-timing/)
W3C Ambient Light API
W3C GamePad API
EcmaScript SIMD
W3C WebRTC
W3C WebGL, Canvas
W3C Web Animations
HTML5 input enhancements
context menu, pattern attribute, data list element, autocomplete
Beacon (http://www.w3.org/TR/beacon/)
Vehicle API (IVI)
DLNA API (IVI)
48
49. 49
Embedding Crosswalk in your Android app
3 easy steps:
1. Download Crosswalk
2. Package Crosswalk with your application using make_apk.py:
$ python make_apk.py --package=org.abc.myapp
• Bundles Crosswalk runtime with your application
• Creates apk for both x86 and arm
3. Install
--manifest=myapp/manifest.json
$ adb install -r myapp_x86.apk
50. The Crosswalk Advantage
• Advanced web runtime and webview features available for legacy Android platforms
• Application consistency across all Android versions
• Extendable
• Full control over upgrade cycle
• Based on Blink and Chromium
• Latest innovations, strong performance
• Intel is driving innovation in Blink and Chromium, including reviewing and owning various areas of
the code base
• Wide community adoption
• Strong corporate backing
• Open source
50
59. Intel® Developer Zone
Tools. Knowledge. Community.
• Free tools and code samples
• Technical articles, forums and tutorials
• Connect with Intel and industry experts
• Get development support
• Build relationships
software.intel.com
Targeting 4X tablet shipments in 2014 over last year
Many of these devices are available now for code development
Process technology and microarchitecture benefits lead to best-in-class performance and energy-efficient tablets
Developing code for Intel x86 on Android is simple with standard Android tools
Intel has rich tools with advanced analysis can help improve your applications
Assistance available to help optimize your application on x86
New user experiences available for developing differentiated applications
Core plugins include geolocation, accelerometer, camera, file system access, media record/playback &c.
Plugins available, including jslint, git, &c.
Live editing in Browser, emulator, device
Plugins available, including jslint, git, &c.
Live editing in Browser, emulator, device