SlideShare una empresa de Scribd logo
1 de 47
MANY TOOLS OF THE TRADE
• Intel XDK
• PhoneGap
• App Builder
• Cordova
WHAT IT TAKES TO BUILD A CORDOVA
APP
Dependencies to install:
1. Joyent Node.js
2. Google Chrome
3. Git Command Line Tools
4. Apache Ant
5. Oracle Java 7
6. Android SDK
7. Apple iTunes
8. SQLite
9. WebSocket4Net
Need to configure:
 Command line targets
 Environment variables
 Deployment details
 Build Server
 Web Server
 and more!
To help with all of this, you have the Multi-
Device Hybrid Apps for Visual Studio
extension.
(Please feel free to send us suggestions for a longer name )
MULTI-DEVICE HYBRID APPS FOR
VISUAL STUDIO EXTENSION
This extension allows you to use Visual
Studio to:
 Acquire all required 3rd party
dependencies
 Configure everything to allow you to
build/deploy for the Android, iOS,
and Windows platforms
 Debug apps running on Android
and Windows Store
 Easily add native device capabilities
WHAT HAPPENS BEHIND THE SCENES
iOS + Android WWA
WHAT HAPPENS BEHIND THE SCENES
Windows +
Android
iOS
Apache Cordova is that it provides access to native
device capabilities not available to simple web apps via
“plugins.”
They provide JavaScript APIs that can access native code
Build
iOS, Android™, Windows® Phone, webOS,
BlackBerry)
Build
Build
How do I get started with PhoneGap Build?
Simply upload your web assets - a ZIP file of HTML,
CSS and JavaScript, or a single index.html file - to
PhoneGap Build, point us to your Git or SVN
repository.
PG Buld will compile & package for you. In minutes,
you’ll receive the download URLs for all mobile
platforms.
Publish to many app stores, across many form factors easily:
• Apple App Store
• Google Play
• Windows Store
• Tizen App Store
• Nook Store (Android)
• Amazon Store (Android)
• Chrome Store (web app)
• Facebook Store (web app)
RESOURCES
• Secrets of a JavaScript Ninja
• JavaScript: The Good Parts
LINK TO HTML5 CHEAT SHEET
DIVING INTO WINJS
Phone
WinJS 2.1WinJS 2.0
WINJS TODAY
New!
WINJS TODAY AND TOMORROW
http://
USER THEMES
ANIMATIONS ON PHONE
Turnstile Slide
var incoming; // A single element or an array of elements
WinJS.UI.Animation.turnstileForwardIn(incoming);
WinJS.UI.Animation.turnstileForwardOut(incoming);
WinJS.UI.Animation.turnstileBackwardIn(incoming);
WinJS.UI.Animation.turnstileBackwardOut(incoming);
WinJS.UI.Animation.slideUp(incoming);
WinJS.UI.Animation.slideDown(incoming);
USING ANIMATIONS
USING ANIMATIONS
var listview = document.getElementById("listview").winControl;
var items = [];
for (var i = listview.indexOfFirstVisible; i <
listview.indexOfLastVisible + 1; i++) {
items.push(listview.elementFromIndex(i).parentNode.parentNode);
}
WinJS.UI.Animation.turnstileForwardIn(items);
The future: modular and
composable
HOW PEOPLE TEND TO THINK OF
WINJS
WinJS UI Modules:
ListView, FlipView, Flyout, Tooltip, etc..
WinJS SPA
Modules:
Promises, Data
binding,
Scheduler,
Fragments,
Declarative
controls, etc…
AngularJS KnockoutJS EmberJS
Co-exist with other UI toolkits (e.g. Bootstrap)
UI.js
Base.js AngularJS
Other UI toolkits
(e.g. Bootstrap)
Today: all or
nothing
 In general, name spaces help avoid naming collisions and help with code
organization.
 The WinJS.Namespace object helps in other way. Objects are available at
the application scope.
 .define()
 .asWithParent()
 Advantage? Strongly typed.
WINJS.NAMESPACE
“USE STRICT”
 Strict Mode (ECMAScript 5) allows you to place your program, or function, in
a "strict" operating context.
 An attempt to assign foo = "bar"; where ‘foo’ hasn’t been defined will fail.
 eval() – virtually all cases will fail.
 Better error handling for objects
MODULE PATTERN
 JavaScript does not support access modifiers. You can’t mark an object or method
as public or private.
 Immediately Invoked Function Expression – IIFE
 We use function scope to our advantage and only leak the things we want
 Encapsulates some functions as private and exposes some functions as public..
 Best practice: explicitly pass all dependencies.
 Best practice: explicitly leak properties, objects, and methods.
WINJS.NAVIGATION.NAVIGATE()
 Set up our proposed location and state
 Raise our events: beforeNavigating, navigating, navigated
 The WinJS.Navigation namespace provides state and history
management, but it doesn’t actually do the navigation itself.
 We need to define a handler to the onnavigated event.
Code
Building html5 apps using Cordova

Más contenido relacionado

La actualidad más candente

ITCamp 2012 - Alex Gyoshev - Kendo-UI
ITCamp 2012 - Alex Gyoshev - Kendo-UIITCamp 2012 - Alex Gyoshev - Kendo-UI
ITCamp 2012 - Alex Gyoshev - Kendo-UI
ITCamp
 

La actualidad más candente (20)

Build Your First Android App Session #1
Build Your First Android App Session #1Build Your First Android App Session #1
Build Your First Android App Session #1
 
What's new in Android Wear 2.0
What's new in Android Wear 2.0What's new in Android Wear 2.0
What's new in Android Wear 2.0
 
Koin
KoinKoin
Koin
 
從 Google i/o 2015 看下半年 mobile 應用發展趨勢
從 Google i/o 2015 看下半年 mobile 應用發展趨勢從 Google i/o 2015 看下半年 mobile 應用發展趨勢
從 Google i/o 2015 看下半年 mobile 應用發展趨勢
 
Asp.net mvc - Better User Experience with Kendo UI
Asp.net mvc - Better User Experience with Kendo UIAsp.net mvc - Better User Experience with Kendo UI
Asp.net mvc - Better User Experience with Kendo UI
 
Live Demo : Trending Angular JS Featues
Live Demo : Trending Angular JS FeatuesLive Demo : Trending Angular JS Featues
Live Demo : Trending Angular JS Featues
 
製作 Unity Plugin for Android
製作 Unity Plugin for Android製作 Unity Plugin for Android
製作 Unity Plugin for Android
 
Build2020: Xamarin.Forms Experts Q&A
Build2020: Xamarin.Forms Experts Q&ABuild2020: Xamarin.Forms Experts Q&A
Build2020: Xamarin.Forms Experts Q&A
 
PhotoFlipCardView
PhotoFlipCardViewPhotoFlipCardView
PhotoFlipCardView
 
React Nativeアプリをリリースし続けるために、最初に行う8つの取り組み
React Nativeアプリをリリースし続けるために、最初に行う8つの取り組みReact Nativeアプリをリリースし続けるために、最初に行う8つの取り組み
React Nativeアプリをリリースし続けるために、最初に行う8つの取り組み
 
Nodejsvs
NodejsvsNodejsvs
Nodejsvs
 
Meteor
MeteorMeteor
Meteor
 
ITCamp 2012 - Alex Gyoshev - Kendo-UI
ITCamp 2012 - Alex Gyoshev - Kendo-UIITCamp 2012 - Alex Gyoshev - Kendo-UI
ITCamp 2012 - Alex Gyoshev - Kendo-UI
 
End to-end native iOS, Android and Windows apps wtih Xamarin
End to-end native iOS, Android and Windows apps wtih XamarinEnd to-end native iOS, Android and Windows apps wtih Xamarin
End to-end native iOS, Android and Windows apps wtih Xamarin
 
Developing Your First Android Wear App
Developing Your First Android Wear AppDeveloping Your First Android Wear App
Developing Your First Android Wear App
 
Getting Started with Titanium & Alloy
Getting Started with Titanium & AlloyGetting Started with Titanium & Alloy
Getting Started with Titanium & Alloy
 
Android Workshop
Android WorkshopAndroid Workshop
Android Workshop
 
Build mini - Windows 10 Dev & Cross platform Dev
Build mini - Windows 10 Dev & Cross platform DevBuild mini - Windows 10 Dev & Cross platform Dev
Build mini - Windows 10 Dev & Cross platform Dev
 
Create HTML5 Mobile Apps for WordPress Site
Create HTML5 Mobile Apps for WordPress SiteCreate HTML5 Mobile Apps for WordPress Site
Create HTML5 Mobile Apps for WordPress Site
 
Android1.5~8.0 Walkthrough
Android1.5~8.0 WalkthroughAndroid1.5~8.0 Walkthrough
Android1.5~8.0 Walkthrough
 

Destacado

Destacado (16)

Using JavaScript to Build HTML5 Tools (Ian Maffett)
Using JavaScript to Build HTML5 Tools (Ian Maffett)Using JavaScript to Build HTML5 Tools (Ian Maffett)
Using JavaScript to Build HTML5 Tools (Ian Maffett)
 
Rapid Mbile Pototyping with the Intel® XDK
Rapid Mbile Pototyping with the Intel® XDKRapid Mbile Pototyping with the Intel® XDK
Rapid Mbile Pototyping with the Intel® XDK
 
2013.02.26 Intel Overview
2013.02.26 Intel Overview2013.02.26 Intel Overview
2013.02.26 Intel Overview
 
Developing a NodeBot using Intel XDK IoT Edition
Developing a NodeBot using Intel XDK IoT EditionDeveloping a NodeBot using Intel XDK IoT Edition
Developing a NodeBot using Intel XDK IoT Edition
 
The Power, and Pain, of Cordova Plugins
The Power, and Pain, of Cordova PluginsThe Power, and Pain, of Cordova Plugins
The Power, and Pain, of Cordova Plugins
 
Intel XDK New - Intel Software Day 2013
Intel XDK New - Intel Software Day 2013Intel XDK New - Intel Software Day 2013
Intel XDK New - Intel Software Day 2013
 
Mobile Day - Intel XDK & Testing
Mobile Day - Intel XDK & TestingMobile Day - Intel XDK & Testing
Mobile Day - Intel XDK & Testing
 
Mobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDKMobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDK
 
Intel XDK in Brief
Intel XDK in BriefIntel XDK in Brief
Intel XDK in Brief
 
INTEL XDK
INTEL XDKINTEL XDK
INTEL XDK
 
Minicurso Intel XDK
Minicurso Intel XDKMinicurso Intel XDK
Minicurso Intel XDK
 
Desenvolvimento de Aplicativo Multiplataforma com Intel® XDK
Desenvolvimento de Aplicativo Multiplataforma com  Intel® XDKDesenvolvimento de Aplicativo Multiplataforma com  Intel® XDK
Desenvolvimento de Aplicativo Multiplataforma com Intel® XDK
 
Build HTML5 VR Apps using Intel® XDK
Build HTML5 VR Apps using Intel® XDKBuild HTML5 VR Apps using Intel® XDK
Build HTML5 VR Apps using Intel® XDK
 
Crosswalk and the Intel XDK
Crosswalk and the Intel XDKCrosswalk and the Intel XDK
Crosswalk and the Intel XDK
 
Intel XDK - Philly JS
Intel XDK - Philly JSIntel XDK - Philly JS
Intel XDK - Philly JS
 
Build Your Mobile App Faster with AWS Mobile Services (Cognito, Lambda, SNS, ...
Build Your Mobile App Faster with AWS Mobile Services (Cognito, Lambda, SNS, ...Build Your Mobile App Faster with AWS Mobile Services (Cognito, Lambda, SNS, ...
Build Your Mobile App Faster with AWS Mobile Services (Cognito, Lambda, SNS, ...
 

Similar a Building html5 apps using Cordova

Tom Germeau: Mobile Apps: Finding the balance between performance and flexibi...
Tom Germeau: Mobile Apps: Finding the balance between performance and flexibi...Tom Germeau: Mobile Apps: Finding the balance between performance and flexibi...
Tom Germeau: Mobile Apps: Finding the balance between performance and flexibi...
Chartbeat
 
openMIC barcamp 11.02.2010
openMIC barcamp 11.02.2010openMIC barcamp 11.02.2010
openMIC barcamp 11.02.2010
Patrick Lauke
 
Cross Platform Mobile Apps with the Ionic Framework
Cross Platform Mobile Apps with the Ionic FrameworkCross Platform Mobile Apps with the Ionic Framework
Cross Platform Mobile Apps with the Ionic Framework
Troy Miles
 
Hybrid Mobile Apps - Meetup
Hybrid Mobile Apps - MeetupHybrid Mobile Apps - Meetup
Hybrid Mobile Apps - Meetup
Sanjay Patel
 

Similar a Building html5 apps using Cordova (20)

Fake it 'til you make it
Fake it 'til you make itFake it 'til you make it
Fake it 'til you make it
 
Visual Studio 2017 Launch Event
Visual Studio 2017 Launch EventVisual Studio 2017 Launch Event
Visual Studio 2017 Launch Event
 
Tom Germeau: Mobile Apps: Finding the balance between performance and flexibi...
Tom Germeau: Mobile Apps: Finding the balance between performance and flexibi...Tom Germeau: Mobile Apps: Finding the balance between performance and flexibi...
Tom Germeau: Mobile Apps: Finding the balance between performance and flexibi...
 
Developing a Modern Mobile App Strategy
Developing a Modern Mobile App StrategyDeveloping a Modern Mobile App Strategy
Developing a Modern Mobile App Strategy
 
Presentation
PresentationPresentation
Presentation
 
Developing for Xoom with Flash and AIR
Developing for Xoom with Flash and AIRDeveloping for Xoom with Flash and AIR
Developing for Xoom with Flash and AIR
 
Selendroid - Selenium for Android
Selendroid - Selenium for AndroidSelendroid - Selenium for Android
Selendroid - Selenium for Android
 
Deeper into Windows 10 Development
Deeper into Windows 10 DevelopmentDeeper into Windows 10 Development
Deeper into Windows 10 Development
 
AIR2.5 Hands On - Flash on the Beach 2010
AIR2.5 Hands On - Flash on the Beach 2010AIR2.5 Hands On - Flash on the Beach 2010
AIR2.5 Hands On - Flash on the Beach 2010
 
openMIC barcamp 11.02.2010
openMIC barcamp 11.02.2010openMIC barcamp 11.02.2010
openMIC barcamp 11.02.2010
 
Titanium Overview (Mobile March 2011)
Titanium Overview (Mobile March 2011)Titanium Overview (Mobile March 2011)
Titanium Overview (Mobile March 2011)
 
Building IoT Solutions using Windows IoT Core
Building IoT Solutions using Windows IoT CoreBuilding IoT Solutions using Windows IoT Core
Building IoT Solutions using Windows IoT Core
 
Cross Platform Mobile Apps with the Ionic Framework
Cross Platform Mobile Apps with the Ionic FrameworkCross Platform Mobile Apps with the Ionic Framework
Cross Platform Mobile Apps with the Ionic Framework
 
Hybrid Mobile Apps - Meetup
Hybrid Mobile Apps - MeetupHybrid Mobile Apps - Meetup
Hybrid Mobile Apps - Meetup
 
Appium tips & Inneractive integration
Appium tips & Inneractive integrationAppium tips & Inneractive integration
Appium tips & Inneractive integration
 
Moving to the Client - JavaFX and HTML5 (PowerPoint Version)
Moving to the Client - JavaFX and HTML5 (PowerPoint Version)Moving to the Client - JavaFX and HTML5 (PowerPoint Version)
Moving to the Client - JavaFX and HTML5 (PowerPoint Version)
 
Mobile for the rest of us
Mobile for the rest of usMobile for the rest of us
Mobile for the rest of us
 
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator Titanium
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator TitaniumMobile 2.0 Event: Mobile for the rest of us using Appcelerator Titanium
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator Titanium
 
Appcelerator Titanium at Mobile 2.0
Appcelerator Titanium at Mobile 2.0Appcelerator Titanium at Mobile 2.0
Appcelerator Titanium at Mobile 2.0
 
Ionic
IonicIonic
Ionic
 

Más de David Voyles

Build and deploy an ASP.NET applicaton
Build and deploy an ASP.NET applicatonBuild and deploy an ASP.NET applicaton
Build and deploy an ASP.NET applicaton
David Voyles
 
Cluster puck99 postmortem
Cluster puck99 postmortemCluster puck99 postmortem
Cluster puck99 postmortem
David Voyles
 
Joe Healy - Students as App Publishers
Joe Healy - Students as App PublishersJoe Healy - Students as App Publishers
Joe Healy - Students as App Publishers
David Voyles
 

Más de David Voyles (20)

Developing games for consoles as an indie in 2019
Developing games for consoles as an indie in 2019Developing games for consoles as an indie in 2019
Developing games for consoles as an indie in 2019
 
Developing for consoles as an indie in 2019
Developing for consoles as an indie in 2019Developing for consoles as an indie in 2019
Developing for consoles as an indie in 2019
 
Overview Microsoft's ML & AI tools
Overview Microsoft's ML & AI toolsOverview Microsoft's ML & AI tools
Overview Microsoft's ML & AI tools
 
Intro to deep learning
Intro to deep learning Intro to deep learning
Intro to deep learning
 
What is a Tech Evangelist?
What is a Tech Evangelist?What is a Tech Evangelist?
What is a Tech Evangelist?
 
Microsoft on open source and security
Microsoft on open source and securityMicrosoft on open source and security
Microsoft on open source and security
 
Students: How to get started in the tech world
Students: How to get started in the tech worldStudents: How to get started in the tech world
Students: How to get started in the tech world
 
Students -- How to get started in the tech world
Students -- How to get started in the tech worldStudents -- How to get started in the tech world
Students -- How to get started in the tech world
 
Getting started with Emscripten – Transpiling C / C++ to JavaScript / HTML5
Getting started with Emscripten – Transpiling C / C++ to JavaScript / HTML5Getting started with Emscripten – Transpiling C / C++ to JavaScript / HTML5
Getting started with Emscripten – Transpiling C / C++ to JavaScript / HTML5
 
How to win a hackathon - Penn APps 2015
How to win a hackathon - Penn APps 2015How to win a hackathon - Penn APps 2015
How to win a hackathon - Penn APps 2015
 
ASP.NET 5
ASP.NET 5ASP.NET 5
ASP.NET 5
 
Running, improving & maintaining a site in the real world
Running, improving & maintaining a site in the real worldRunning, improving & maintaining a site in the real world
Running, improving & maintaining a site in the real world
 
Building web front ends using single page applications
Building web front ends using single page applicationsBuilding web front ends using single page applications
Building web front ends using single page applications
 
Web standards and Visual Studio web tools
Web standards and Visual Studio web toolsWeb standards and Visual Studio web tools
Web standards and Visual Studio web tools
 
Build and deploy an ASP.NET applicaton
Build and deploy an ASP.NET applicatonBuild and deploy an ASP.NET applicaton
Build and deploy an ASP.NET applicaton
 
Cluster puck99 postmortem
Cluster puck99 postmortemCluster puck99 postmortem
Cluster puck99 postmortem
 
Joe Healy - How to set up your DreamSpark account
Joe Healy - How to set up your DreamSpark accountJoe Healy - How to set up your DreamSpark account
Joe Healy - How to set up your DreamSpark account
 
Joe Healy - Students as App Publishers
Joe Healy - Students as App PublishersJoe Healy - Students as App Publishers
Joe Healy - Students as App Publishers
 
Using prime[31] to connect your unity game to azure mobile services
Using prime[31] to connect your unity game to azure mobile servicesUsing prime[31] to connect your unity game to azure mobile services
Using prime[31] to connect your unity game to azure mobile services
 
An Introdouction to Venture Capital and Microsoft Ventures
An Introdouction to Venture Capital and Microsoft VenturesAn Introdouction to Venture Capital and Microsoft Ventures
An Introdouction to Venture Capital and Microsoft Ventures
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 

Building html5 apps using Cordova

  • 1.
  • 2. MANY TOOLS OF THE TRADE • Intel XDK • PhoneGap • App Builder • Cordova
  • 3.
  • 4.
  • 5. WHAT IT TAKES TO BUILD A CORDOVA APP Dependencies to install: 1. Joyent Node.js 2. Google Chrome 3. Git Command Line Tools 4. Apache Ant 5. Oracle Java 7 6. Android SDK 7. Apple iTunes 8. SQLite 9. WebSocket4Net Need to configure:  Command line targets  Environment variables  Deployment details  Build Server  Web Server  and more!
  • 6. To help with all of this, you have the Multi- Device Hybrid Apps for Visual Studio extension. (Please feel free to send us suggestions for a longer name )
  • 7.
  • 8. MULTI-DEVICE HYBRID APPS FOR VISUAL STUDIO EXTENSION This extension allows you to use Visual Studio to:  Acquire all required 3rd party dependencies  Configure everything to allow you to build/deploy for the Android, iOS, and Windows platforms  Debug apps running on Android and Windows Store  Easily add native device capabilities
  • 9.
  • 10. WHAT HAPPENS BEHIND THE SCENES iOS + Android WWA
  • 11. WHAT HAPPENS BEHIND THE SCENES Windows + Android iOS
  • 12.
  • 13.
  • 14.
  • 15. Apache Cordova is that it provides access to native device capabilities not available to simple web apps via “plugins.” They provide JavaScript APIs that can access native code
  • 16.
  • 17.
  • 18.
  • 19.
  • 20. Build iOS, Android™, Windows® Phone, webOS, BlackBerry)
  • 21. Build
  • 22. Build How do I get started with PhoneGap Build? Simply upload your web assets - a ZIP file of HTML, CSS and JavaScript, or a single index.html file - to PhoneGap Build, point us to your Git or SVN repository. PG Buld will compile & package for you. In minutes, you’ll receive the download URLs for all mobile platforms.
  • 23.
  • 24.
  • 25. Publish to many app stores, across many form factors easily: • Apple App Store • Google Play • Windows Store • Tizen App Store • Nook Store (Android) • Amazon Store (Android) • Chrome Store (web app) • Facebook Store (web app)
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32. RESOURCES • Secrets of a JavaScript Ninja • JavaScript: The Good Parts
  • 33. LINK TO HTML5 CHEAT SHEET
  • 36. WINJS TODAY AND TOMORROW http://
  • 40. var incoming; // A single element or an array of elements WinJS.UI.Animation.turnstileForwardIn(incoming); WinJS.UI.Animation.turnstileForwardOut(incoming); WinJS.UI.Animation.turnstileBackwardIn(incoming); WinJS.UI.Animation.turnstileBackwardOut(incoming); WinJS.UI.Animation.slideUp(incoming); WinJS.UI.Animation.slideDown(incoming); USING ANIMATIONS
  • 41. USING ANIMATIONS var listview = document.getElementById("listview").winControl; var items = []; for (var i = listview.indexOfFirstVisible; i < listview.indexOfLastVisible + 1; i++) { items.push(listview.elementFromIndex(i).parentNode.parentNode); } WinJS.UI.Animation.turnstileForwardIn(items);
  • 42. The future: modular and composable HOW PEOPLE TEND TO THINK OF WINJS WinJS UI Modules: ListView, FlipView, Flyout, Tooltip, etc.. WinJS SPA Modules: Promises, Data binding, Scheduler, Fragments, Declarative controls, etc… AngularJS KnockoutJS EmberJS Co-exist with other UI toolkits (e.g. Bootstrap) UI.js Base.js AngularJS Other UI toolkits (e.g. Bootstrap) Today: all or nothing
  • 43.  In general, name spaces help avoid naming collisions and help with code organization.  The WinJS.Namespace object helps in other way. Objects are available at the application scope.  .define()  .asWithParent()  Advantage? Strongly typed. WINJS.NAMESPACE
  • 44. “USE STRICT”  Strict Mode (ECMAScript 5) allows you to place your program, or function, in a "strict" operating context.  An attempt to assign foo = "bar"; where ‘foo’ hasn’t been defined will fail.  eval() – virtually all cases will fail.  Better error handling for objects
  • 45. MODULE PATTERN  JavaScript does not support access modifiers. You can’t mark an object or method as public or private.  Immediately Invoked Function Expression – IIFE  We use function scope to our advantage and only leak the things we want  Encapsulates some functions as private and exposes some functions as public..  Best practice: explicitly pass all dependencies.  Best practice: explicitly leak properties, objects, and methods.
  • 46. WINJS.NAVIGATION.NAVIGATE()  Set up our proposed location and state  Raise our events: beforeNavigating, navigating, navigated  The WinJS.Navigation namespace provides state and history management, but it doesn’t actually do the navigation itself.  We need to define a handler to the onnavigated event. Code

Notas del editor

  1. You can use WinJS today to make apps for Windows desktops, laptops, tablets, convertibles, etc.
  2. You can use WinJS today to make apps for Windows desktops, laptops, tablets, convertibles, etc.
  3. Controls tailored for both dark and light experience Ability to match user’s Phone theme
  4. Phone core signature animations available Windows animations also available
  5. Examples of entrance animations. Argument can be a single element or an array of elements Continuum and slide(Right/Left)(In/Out) animations slightly more complicated (additional arguments: need to pass page object, root or content elements, etc.)
  6. ListView “Feather” Turnstile animation