SlideShare a Scribd company logo
Developing Advanced 
Universal Apps Using 
HTML and JS 
COMMUNITY CAMP, 17-21 NOV 2014
Agenda 
About Me 
Introduction to Universal Apps 
◦ What is Universal App? 
◦ Web App Vs Native App 
Universal App Template 
◦ Project Structure 
◦ Shared Project 
◦ Demo 
Background Tasks 
◦ Create Task 
◦ Consume Task
Senthamil Selvan 
Microsoft MVP (Windows Consumer Apps) 
Working as Solution Architect at Xchanging Pte Ltd 
Blog: http://altfo.wordpress.com 
FB: www.facebook.com/altfo 
My Page: https://www.facebook.com/pages/Math- 
Formulas-App/546631962132092 
WPUG: https://www.facebook.com/groups/apolloexplorer/ 
Animal Taxonomy IUPAC Math Formulas Ultimate Player SG Parking SG Things To Do Mani Samayal Ultimate Cryptex SEASPC
Introduction to Universal Apps 
You can build an app that targets to Windows and Windows Phone 
◦ Single Logic code sharing 
◦ Share Images and Data 
◦ Target multiple devices 
◦ Common experience 
◦ Shared authentication 
◦ Shared data/profile 
◦ Single app purchase 
◦ Single IAP purchase
Web app versus native app 
WEB APP NATIVE APP 
DATA 
LOGIC 
UI
Universal App Project Template 
Windows Project Template 
Windows Phone Project Template
Project Structure 
DEMO
Background Tasks 
What is Background Task? 
◦ Run the code even when the App is not running. 
◦ Schedule certain activities to be performed. 
Features Available 
◦ Push Notifications 
◦ Audio Playback 
◦ File Transfer API 
◦ Share Contracts 
Scenarios for Background task 
◦ Download Mail 
◦ Toast Notification 
◦ Update Service 
Not applicable 
◦ Heavy downloads 
◦ User interaction like login / click button required…
How to Create Task 
◦ Create jsWorker file 
◦ Implement Task Behaviors 
◦ Register 
◦ Declare it in Manifest
task.js 
// this file runs in context of WorkerGlobalScope 
(function () { 
// importScripts is method of WorkerGlobalScope 
importScripts( “//Microsoft.WinJS.1.0/js/base.js”, 
“/js/app.js” ); 
// do work here, possibly using code from /js/app.js 
// close is a method of WorkerGlobalScope 
close(); 
})();
WebUIBackgroundTaskInstance 
(function () { 
// imports 
// access background task via current property 
var currentTask = WebUIBackgroundTaskInstance.current; 
// instanceId, progress, succeeded 
// getDeferral for async calls within task 
// canceled event handler 
// close 
})();
BackgroundTaskBuilder 
// create “namespace” 
var back = Windows.ApplicationModel.Background; 
// create instance of BackgroundTaskBuilder 
var builder = back.BackgroundTaskBuilder(); 
builder.name = “task name”; 
builder.taskEntryPoint = “jstask.js”; 
builder.setTrigger(new back.TimeTrigger(15, false)); 
// register the task 
builder.register();
package.appxmanifest - Declarations
Consume Tasks 
How Tasks Triggered 
Conditional Tasks 
Lock Screen Scenario
Tasks 
DEMO

More Related Content

What's hot

jQuery Mobile Overview - Boston
jQuery Mobile  Overview -  BostonjQuery Mobile  Overview -  Boston
jQuery Mobile Overview - Boston
Todd Parker
 
Let's Take Drupal Offline!
Let's Take Drupal Offline!Let's Take Drupal Offline!
Let's Take Drupal Offline!
Dick Olsson
 
Single Page Application (SPA) using AngularJS
Single Page Application (SPA) using AngularJSSingle Page Application (SPA) using AngularJS
Single Page Application (SPA) using AngularJS
M R Rony
 
Unit testing
Unit testingUnit testing
Unit testing
Leonardo Balter
 
Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React Native
dvcrn
 
jQuery Conference San Diego 2014 - Web Performance
jQuery Conference San Diego 2014 - Web PerformancejQuery Conference San Diego 2014 - Web Performance
jQuery Conference San Diego 2014 - Web Performance
dmethvin
 
Real World Windows 8 Apps in JavaScript
Real World Windows 8 Apps in JavaScriptReal World Windows 8 Apps in JavaScript
Real World Windows 8 Apps in JavaScript
Domenic Denicola
 
Tech Talk on ReactJS
Tech Talk on ReactJSTech Talk on ReactJS
Tech Talk on ReactJS
Atlogys Technical Consulting
 
Web fundamental 4 developers
Web fundamental 4 developersWeb fundamental 4 developers
Web fundamental 4 developers
Ido Green
 
WordPress 2017 with VueJS and GraphQL
WordPress 2017 with VueJS and GraphQLWordPress 2017 with VueJS and GraphQL
WordPress 2017 with VueJS and GraphQL
houzman
 
JS Framework Comparison - An infographic
JS Framework Comparison - An infographicJS Framework Comparison - An infographic
JS Framework Comparison - An infographic
InApp
 
First Step Into NodeJS World
First Step Into NodeJS WorldFirst Step Into NodeJS World
First Step Into NodeJS World
Riza Fahmi
 
NativeScript 環境のインストールとはじめてのプロジェクト実行
NativeScript 環境のインストールとはじめてのプロジェクト実行NativeScript 環境のインストールとはじめてのプロジェクト実行
NativeScript 環境のインストールとはじめてのプロジェクト実行
Osamu Monoe
 
The Final Frontier
The Final FrontierThe Final Frontier
The Final Frontier
Domenic Denicola
 
jQuery Foundation Keynote
jQuery Foundation KeynotejQuery Foundation Keynote
jQuery Foundation Keynote
Richard Worth
 
Content Staging in Drupal 8
Content Staging in Drupal 8Content Staging in Drupal 8
Content Staging in Drupal 8
Dick Olsson
 
GWT Architectures and Lessons Learned (WJAX 2013)
GWT Architectures and Lessons Learned (WJAX 2013)GWT Architectures and Lessons Learned (WJAX 2013)
GWT Architectures and Lessons Learned (WJAX 2013)
pgt technology scouting GmbH
 
The Onion
The OnionThe Onion
The Onion
Jörn Zaefferer
 
Jquery react angular
Jquery react angularJquery react angular
Jquery react angular
Rafa D. Latorre López Villalta
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
Gbolahan Alli
 

What's hot (20)

jQuery Mobile Overview - Boston
jQuery Mobile  Overview -  BostonjQuery Mobile  Overview -  Boston
jQuery Mobile Overview - Boston
 
Let's Take Drupal Offline!
Let's Take Drupal Offline!Let's Take Drupal Offline!
Let's Take Drupal Offline!
 
Single Page Application (SPA) using AngularJS
Single Page Application (SPA) using AngularJSSingle Page Application (SPA) using AngularJS
Single Page Application (SPA) using AngularJS
 
Unit testing
Unit testingUnit testing
Unit testing
 
Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React Native
 
jQuery Conference San Diego 2014 - Web Performance
jQuery Conference San Diego 2014 - Web PerformancejQuery Conference San Diego 2014 - Web Performance
jQuery Conference San Diego 2014 - Web Performance
 
Real World Windows 8 Apps in JavaScript
Real World Windows 8 Apps in JavaScriptReal World Windows 8 Apps in JavaScript
Real World Windows 8 Apps in JavaScript
 
Tech Talk on ReactJS
Tech Talk on ReactJSTech Talk on ReactJS
Tech Talk on ReactJS
 
Web fundamental 4 developers
Web fundamental 4 developersWeb fundamental 4 developers
Web fundamental 4 developers
 
WordPress 2017 with VueJS and GraphQL
WordPress 2017 with VueJS and GraphQLWordPress 2017 with VueJS and GraphQL
WordPress 2017 with VueJS and GraphQL
 
JS Framework Comparison - An infographic
JS Framework Comparison - An infographicJS Framework Comparison - An infographic
JS Framework Comparison - An infographic
 
First Step Into NodeJS World
First Step Into NodeJS WorldFirst Step Into NodeJS World
First Step Into NodeJS World
 
NativeScript 環境のインストールとはじめてのプロジェクト実行
NativeScript 環境のインストールとはじめてのプロジェクト実行NativeScript 環境のインストールとはじめてのプロジェクト実行
NativeScript 環境のインストールとはじめてのプロジェクト実行
 
The Final Frontier
The Final FrontierThe Final Frontier
The Final Frontier
 
jQuery Foundation Keynote
jQuery Foundation KeynotejQuery Foundation Keynote
jQuery Foundation Keynote
 
Content Staging in Drupal 8
Content Staging in Drupal 8Content Staging in Drupal 8
Content Staging in Drupal 8
 
GWT Architectures and Lessons Learned (WJAX 2013)
GWT Architectures and Lessons Learned (WJAX 2013)GWT Architectures and Lessons Learned (WJAX 2013)
GWT Architectures and Lessons Learned (WJAX 2013)
 
The Onion
The OnionThe Onion
The Onion
 
Jquery react angular
Jquery react angularJquery react angular
Jquery react angular
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 

Similar to Developing advanced universal apps using html & js

Vn-info meetup on Node.js
Vn-info meetup on Node.jsVn-info meetup on Node.js
Vn-info meetup on Node.js
Son Nguyen Kim
 
phonegap with angular js for freshers
phonegap with angular js for freshers    phonegap with angular js for freshers
phonegap with angular js for freshers
dssprakash
 
Delegating user tasks in applications
Delegating user tasks in applicationsDelegating user tasks in applications
Delegating user tasks in applications
Friedger Müffke
 
openMIC barcamp 11.02.2010
openMIC barcamp 11.02.2010openMIC barcamp 11.02.2010
openMIC barcamp 11.02.2010
Patrick Lauke
 
Intro To webOS
Intro To webOSIntro To webOS
Intro To webOS
fpatton
 
Intro to PhoneGap
Intro to PhoneGapIntro to PhoneGap
Intro to PhoneGap
Ryan Stewart
 
Building native mobile apps using web technologies
Building native mobile apps using web technologiesBuilding native mobile apps using web technologies
Building native mobile apps using web technologies
Hjörtur Hilmarsson
 
PhoneGap
PhoneGapPhoneGap
PhoneGap
Emil Varga
 
Cordova and PhoneGap Insights
Cordova and PhoneGap InsightsCordova and PhoneGap Insights
Cordova and PhoneGap Insights
Monaca
 
Whats New in Android
Whats New in AndroidWhats New in Android
Whats New in Android
donnfelker
 
Phone gap development, testing, and debugging
Phone gap development, testing, and debuggingPhone gap development, testing, and debugging
Phone gap development, testing, and debugging
Kongu Engineering College, Perundurai, Erode
 
Web versus Native: round 1!
Web versus Native: round 1!Web versus Native: round 1!
Web versus Native: round 1!
Chris Mills
 
Hybrid mobile apps
Hybrid mobile appsHybrid mobile apps
Hybrid mobile apps
Erik Paulsson
 
Meetup Performance
Meetup PerformanceMeetup Performance
Meetup Performance
Greg Whalin
 
Meetup Performance
Meetup PerformanceMeetup Performance
Meetup Performance
Justin Cataldo
 
HTML5 for Rich User Experience
HTML5 for Rich User ExperienceHTML5 for Rich User Experience
HTML5 for Rich User Experience
Mahbubur Rahman
 
Firefox OS Presentation
Firefox OS PresentationFirefox OS Presentation
Firefox OS Presentation
José Manuel Cantera Fonseca
 
Introduction phonegap
Introduction phonegapIntroduction phonegap
Introduction phonegap
Rakesh Jha
 
Advanced programing in phonegap
Advanced programing in phonegapAdvanced programing in phonegap
Advanced programing in phonegap
Rakesh Jha
 
"Native" Apps with APEX and PhoneGap
"Native" Apps with APEX and PhoneGap"Native" Apps with APEX and PhoneGap
"Native" Apps with APEX and PhoneGap
Christian Rokitta
 

Similar to Developing advanced universal apps using html & js (20)

Vn-info meetup on Node.js
Vn-info meetup on Node.jsVn-info meetup on Node.js
Vn-info meetup on Node.js
 
phonegap with angular js for freshers
phonegap with angular js for freshers    phonegap with angular js for freshers
phonegap with angular js for freshers
 
Delegating user tasks in applications
Delegating user tasks in applicationsDelegating user tasks in applications
Delegating user tasks in applications
 
openMIC barcamp 11.02.2010
openMIC barcamp 11.02.2010openMIC barcamp 11.02.2010
openMIC barcamp 11.02.2010
 
Intro To webOS
Intro To webOSIntro To webOS
Intro To webOS
 
Intro to PhoneGap
Intro to PhoneGapIntro to PhoneGap
Intro to PhoneGap
 
Building native mobile apps using web technologies
Building native mobile apps using web technologiesBuilding native mobile apps using web technologies
Building native mobile apps using web technologies
 
PhoneGap
PhoneGapPhoneGap
PhoneGap
 
Cordova and PhoneGap Insights
Cordova and PhoneGap InsightsCordova and PhoneGap Insights
Cordova and PhoneGap Insights
 
Whats New in Android
Whats New in AndroidWhats New in Android
Whats New in Android
 
Phone gap development, testing, and debugging
Phone gap development, testing, and debuggingPhone gap development, testing, and debugging
Phone gap development, testing, and debugging
 
Web versus Native: round 1!
Web versus Native: round 1!Web versus Native: round 1!
Web versus Native: round 1!
 
Hybrid mobile apps
Hybrid mobile appsHybrid mobile apps
Hybrid mobile apps
 
Meetup Performance
Meetup PerformanceMeetup Performance
Meetup Performance
 
Meetup Performance
Meetup PerformanceMeetup Performance
Meetup Performance
 
HTML5 for Rich User Experience
HTML5 for Rich User ExperienceHTML5 for Rich User Experience
HTML5 for Rich User Experience
 
Firefox OS Presentation
Firefox OS PresentationFirefox OS Presentation
Firefox OS Presentation
 
Introduction phonegap
Introduction phonegapIntroduction phonegap
Introduction phonegap
 
Advanced programing in phonegap
Advanced programing in phonegapAdvanced programing in phonegap
Advanced programing in phonegap
 
"Native" Apps with APEX and PhoneGap
"Native" Apps with APEX and PhoneGap"Native" Apps with APEX and PhoneGap
"Native" Apps with APEX and PhoneGap
 

More from Senthamil Selvan

AR/MR HoloLens
AR/MR HoloLensAR/MR HoloLens
AR/MR HoloLens
Senthamil Selvan
 
Get started azure- Azure Mobile Services
Get started azure- Azure Mobile ServicesGet started azure- Azure Mobile Services
Get started azure- Azure Mobile Services
Senthamil Selvan
 
Univeral App using O365 API
Univeral App using O365 APIUniveral App using O365 API
Univeral App using O365 API
Senthamil Selvan
 
Product centric site
Product centric siteProduct centric site
Product centric site
Senthamil Selvan
 
Building universal app
Building universal appBuilding universal app
Building universal app
Senthamil Selvan
 
SharePoint Farm Setup On Azure
SharePoint Farm Setup On AzureSharePoint Farm Setup On Azure
SharePoint Farm Setup On Azure
Senthamil Selvan
 
Xaml programming
Xaml programmingXaml programming
Xaml programming
Senthamil Selvan
 
Azure Websites
Azure WebsitesAzure Websites
Azure Websites
Senthamil Selvan
 
Windows 8.1 Start Screen Features
Windows 8.1 Start Screen FeaturesWindows 8.1 Start Screen Features
Windows 8.1 Start Screen Features
Senthamil Selvan
 
jQuery programming with visual web part
jQuery programming with visual web partjQuery programming with visual web part
jQuery programming with visual web part
Senthamil Selvan
 
Surface presentation
Surface presentationSurface presentation
Surface presentation
Senthamil Selvan
 
Share point 2010 features
Share point 2010 featuresShare point 2010 features
Share point 2010 features
Senthamil Selvan
 
Silverlight 4
Silverlight 4Silverlight 4
Silverlight 4
Senthamil Selvan
 
Share point guidance package
Share point guidance packageShare point guidance package
Share point guidance package
Senthamil Selvan
 
ASP.NET MVC 4.0
ASP.NET MVC 4.0ASP.NET MVC 4.0
ASP.NET MVC 4.0
Senthamil Selvan
 

More from Senthamil Selvan (15)

AR/MR HoloLens
AR/MR HoloLensAR/MR HoloLens
AR/MR HoloLens
 
Get started azure- Azure Mobile Services
Get started azure- Azure Mobile ServicesGet started azure- Azure Mobile Services
Get started azure- Azure Mobile Services
 
Univeral App using O365 API
Univeral App using O365 APIUniveral App using O365 API
Univeral App using O365 API
 
Product centric site
Product centric siteProduct centric site
Product centric site
 
Building universal app
Building universal appBuilding universal app
Building universal app
 
SharePoint Farm Setup On Azure
SharePoint Farm Setup On AzureSharePoint Farm Setup On Azure
SharePoint Farm Setup On Azure
 
Xaml programming
Xaml programmingXaml programming
Xaml programming
 
Azure Websites
Azure WebsitesAzure Websites
Azure Websites
 
Windows 8.1 Start Screen Features
Windows 8.1 Start Screen FeaturesWindows 8.1 Start Screen Features
Windows 8.1 Start Screen Features
 
jQuery programming with visual web part
jQuery programming with visual web partjQuery programming with visual web part
jQuery programming with visual web part
 
Surface presentation
Surface presentationSurface presentation
Surface presentation
 
Share point 2010 features
Share point 2010 featuresShare point 2010 features
Share point 2010 features
 
Silverlight 4
Silverlight 4Silverlight 4
Silverlight 4
 
Share point guidance package
Share point guidance packageShare point guidance package
Share point guidance package
 
ASP.NET MVC 4.0
ASP.NET MVC 4.0ASP.NET MVC 4.0
ASP.NET MVC 4.0
 

Recently uploaded

“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
TIPNGVN2
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
Pixlogix Infotech
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 

Recently uploaded (20)

“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 

Developing advanced universal apps using html & js

  • 1. Developing Advanced Universal Apps Using HTML and JS COMMUNITY CAMP, 17-21 NOV 2014
  • 2. Agenda About Me Introduction to Universal Apps ◦ What is Universal App? ◦ Web App Vs Native App Universal App Template ◦ Project Structure ◦ Shared Project ◦ Demo Background Tasks ◦ Create Task ◦ Consume Task
  • 3. Senthamil Selvan Microsoft MVP (Windows Consumer Apps) Working as Solution Architect at Xchanging Pte Ltd Blog: http://altfo.wordpress.com FB: www.facebook.com/altfo My Page: https://www.facebook.com/pages/Math- Formulas-App/546631962132092 WPUG: https://www.facebook.com/groups/apolloexplorer/ Animal Taxonomy IUPAC Math Formulas Ultimate Player SG Parking SG Things To Do Mani Samayal Ultimate Cryptex SEASPC
  • 4. Introduction to Universal Apps You can build an app that targets to Windows and Windows Phone ◦ Single Logic code sharing ◦ Share Images and Data ◦ Target multiple devices ◦ Common experience ◦ Shared authentication ◦ Shared data/profile ◦ Single app purchase ◦ Single IAP purchase
  • 5. Web app versus native app WEB APP NATIVE APP DATA LOGIC UI
  • 6. Universal App Project Template Windows Project Template Windows Phone Project Template
  • 8. Background Tasks What is Background Task? ◦ Run the code even when the App is not running. ◦ Schedule certain activities to be performed. Features Available ◦ Push Notifications ◦ Audio Playback ◦ File Transfer API ◦ Share Contracts Scenarios for Background task ◦ Download Mail ◦ Toast Notification ◦ Update Service Not applicable ◦ Heavy downloads ◦ User interaction like login / click button required…
  • 9. How to Create Task ◦ Create jsWorker file ◦ Implement Task Behaviors ◦ Register ◦ Declare it in Manifest
  • 10. task.js // this file runs in context of WorkerGlobalScope (function () { // importScripts is method of WorkerGlobalScope importScripts( “//Microsoft.WinJS.1.0/js/base.js”, “/js/app.js” ); // do work here, possibly using code from /js/app.js // close is a method of WorkerGlobalScope close(); })();
  • 11. WebUIBackgroundTaskInstance (function () { // imports // access background task via current property var currentTask = WebUIBackgroundTaskInstance.current; // instanceId, progress, succeeded // getDeferral for async calls within task // canceled event handler // close })();
  • 12. BackgroundTaskBuilder // create “namespace” var back = Windows.ApplicationModel.Background; // create instance of BackgroundTaskBuilder var builder = back.BackgroundTaskBuilder(); builder.name = “task name”; builder.taskEntryPoint = “jstask.js”; builder.setTrigger(new back.TimeTrigger(15, false)); // register the task builder.register();
  • 14. Consume Tasks How Tasks Triggered Conditional Tasks Lock Screen Scenario

Editor's Notes

  1. name of file does not matter this is an example shell not a script tag in default.htm, associated later in app manifest how the worker file is registered and executed is what gives it WorkerGlobalScope context
  2. this is code that runs in context of task.js provides data about task, a method for async calls, and an event for handling the cancelation of task
  3. this is code that is called from foreground application example shows how to create task triggered by time (other trigger types will be discussed later)