SlideShare ist ein Scribd-Unternehmen logo
1 von 62
Timmy Kokke
“JavaScript is unsuitable for
building apps!”
random C# developer
about • Timmy Kokke
• Windows Platform Development MVP
• Consultant @ Centric
• ASP.NET MVC / Xamarin
• Store Apps Usergroup http://storeappsug.nl
• http://WinJS.Ninja
• http://timmykokke.com
• @sorskoot
• http://Youtube.com/c/WinJsNinja
agenda
• Intro
• Hosted web apps
• WinJS
• Knockout JS
• AngularJS
Intro
Why ‘web’ technology?
• Great support in Microsoft Edge
• Many frameworks available
• Access toWindows Runtime
• Visual Studio Support
• TypeScript
• No cross-browser
• No legacy
Why not?
• No designer… anymore…
• Cross-platform
• Specific requirements
• Learning curve
• Documentation
Edge features
• WebGL
• WebAudio API
• New tags
• <Picture>
• <template>
• Webdriver
• Console API
• Content Security Policy (CSP)
• … Much more
http://status.modern.ie
Edge - JavaScript
• Template strings
• Promises
• Arrow functions
• Block bindings
• Get/set
• Symbols
• Spread
• Iterators
• Class
• Proxies
• … again much more
http://status.modern.ie
ES6 support
IE 10 IE 11
Edge
12
FF 38
Edge
13
FF 42 FF 43 FF 44
CH 46
OP 33
CH 47
OP 34
CH 48
OP 35
SF 6.1
SF 7
SF 7.1
SF 8
SF 9 WK
KQ
4.14
7% 16% 63% 84% 66% 71% 72% 74% 63% 63% 65% 12% 21% 54% 71% 13%
Desktop Browsers
https://kangax.github.io/compat-table/es6/
EdgeHTML Chakra
Where?
• Desktop + PC
• IoT
• Surface Hub
• HoloLens
• Phone
• Xbox
Tips
•ThinkWeb
•UseWindows Runtime Component
•Use debugger for exploration
•Minification for Obfuscation
JavaScript Frameworks
JavaScript Frameworks
0
20
40
60
80
100
120
2008
2008
2008
2008
2009
2009
2009
2009
2009
2009
2009
2009
2009
2009
2010
2010
2010
2010
2010
2010
2010
2010
2010
2010
2010
2011
2011
2011
2011
2011
2011
2011
2011
2011
2011
2012
2012
2012
2012
2012
2012
2012
2012
2012
2012
2012
2013
2013
2013
2013
2013
2013
2013
2013
2013
2013
2014
2014
2014
2014
2014
2014
2014
2014
2014
2014
2014
2015
2015
2015
2015
2015
2015
2015
2015
AngularJS Dojo Backbone knockout Reactjs
JavaScript Frameworks
• Use whatever you like
• Don’t use CDN for packaged apps
• MSApp.execUnsafeLocalFunction
HostedWeb apps
Developers want…
just run
just work
Hosted web apps.
• Perfect for existing web apps
• Package app without content
• Configure allowed URLs
• Mix’n’Match
• Reviews from MS during lifetime of app
• Not allowed to change during lifetime
all https://*.websites.net/
allowForWebOnly https://*.website.net/
none http://ads.website.net/
Manifest
Manifold.js
• Cross-plaform Package
• Fallback to Apache Cordova
• More at http://manifoldjs.com/documentation
Demo
HostedWeb Apps
WinJS
“WinJS is a set of JavaScript toolkits that allow developers to
build applications using HTML/JS/CSS technology”
WinJS features
How does it work?
How does it work?
How does it work?
How does it work?
How does it work?
How does it work?
How does it work?
How does it work?
What more?
• Classes
WinJS.NameSpace
WinJS.Class
• Promises
WinJS.Promise
• Databinding
• Pages
• Converters
Demo
WinJS
WinJS + Knockout JS
“Simplify dynamic JavaScript UIs with the
Model-View-View Model (MVVM) pattern”
Initialization
Initialization
Bindings
Observable
Computed
Custom bindings
Custom bindings
Knockout-WinJS
Knockout-WinJS
Demo
WinJS + Knockout
WinJS + AngularJS
Overview
Module
Route
$ScopeView Controller
ServiceDirective
Config
Module
• ng-app doesn’t work withWinJS
• After activation:
Controller
View
Service
Directive
Config
Angular-WinJS
Angular-WinJS
Navigation
Demo
WinJS + Angular
Not discussed
• Visual Studio tools for Apache Cordova
• Anything else?
Blog:
http://timmykokke.com
http://winjs.ninja
Twitter:
@sorskoot
YouTube:
http://youtube.com/c/winjsninja
Github:
http://github.com/sorskoot
Store apps user group:
http://storeappsug.nl
Thank you!

Weitere ähnliche Inhalte

Was ist angesagt?

Express web development with visual studio 2010 express_MVP Ronald Rajagukguk
Express web development with visual studio 2010 express_MVP Ronald Rajagukguk Express web development with visual studio 2010 express_MVP Ronald Rajagukguk
Express web development with visual studio 2010 express_MVP Ronald Rajagukguk
Quek Lilian
 
Windows Store Apps: Tips & Tricks
Windows Store Apps: Tips & TricksWindows Store Apps: Tips & Tricks
Windows Store Apps: Tips & Tricks
Robert MacLean
 

Was ist angesagt? (20)

Visual Studio ❤ JavaScript
Visual Studio ❤ JavaScriptVisual Studio ❤ JavaScript
Visual Studio ❤ JavaScript
 
Express web development with visual studio 2010 express_MVP Ronald Rajagukguk
Express web development with visual studio 2010 express_MVP Ronald Rajagukguk Express web development with visual studio 2010 express_MVP Ronald Rajagukguk
Express web development with visual studio 2010 express_MVP Ronald Rajagukguk
 
JS Framework Comparison - An infographic
JS Framework Comparison - An infographicJS Framework Comparison - An infographic
JS Framework Comparison - An infographic
 
Salesforce1 dev week UYSDUG 2014 - the force canvas spark
Salesforce1 dev week UYSDUG 2014 - the force canvas sparkSalesforce1 dev week UYSDUG 2014 - the force canvas spark
Salesforce1 dev week UYSDUG 2014 - the force canvas spark
 
Windows Store Apps: Tips & Tricks
Windows Store Apps: Tips & TricksWindows Store Apps: Tips & Tricks
Windows Store Apps: Tips & Tricks
 
Basics of Vue.js 2019
Basics of Vue.js 2019Basics of Vue.js 2019
Basics of Vue.js 2019
 
Isomorphic javascript - Uppsala.js #8
Isomorphic javascript - Uppsala.js #8Isomorphic javascript - Uppsala.js #8
Isomorphic javascript - Uppsala.js #8
 
Vorlon.Js e minefold.Js e outros projetos open source
Vorlon.Js e minefold.Js e outros projetos open sourceVorlon.Js e minefold.Js e outros projetos open source
Vorlon.Js e minefold.Js e outros projetos open source
 
Getting started with Vue.js - CodeMash 2020
Getting started with Vue.js - CodeMash 2020Getting started with Vue.js - CodeMash 2020
Getting started with Vue.js - CodeMash 2020
 
Java vs. Java Script for enterprise web applications - Chris Bailey
Java vs. Java Script for enterprise web applications - Chris BaileyJava vs. Java Script for enterprise web applications - Chris Bailey
Java vs. Java Script for enterprise web applications - Chris Bailey
 
SharePoint Wednesday Port Elisabeth - Introduction to AngularJS with the Micr...
SharePoint Wednesday Port Elisabeth - Introduction to AngularJS with the Micr...SharePoint Wednesday Port Elisabeth - Introduction to AngularJS with the Micr...
SharePoint Wednesday Port Elisabeth - Introduction to AngularJS with the Micr...
 
Java vs javascript (XPages)
Java vs javascript (XPages)Java vs javascript (XPages)
Java vs javascript (XPages)
 
Js frameworks
Js frameworksJs frameworks
Js frameworks
 
Pros and cons of vue.js
Pros and cons of vue.jsPros and cons of vue.js
Pros and cons of vue.js
 
Presentation
PresentationPresentation
Presentation
 
SharePoint Saturday Durban - Introduction to AngularJS with the Microsoft Graph
SharePoint Saturday Durban - Introduction to AngularJS with the Microsoft GraphSharePoint Saturday Durban - Introduction to AngularJS with the Microsoft Graph
SharePoint Saturday Durban - Introduction to AngularJS with the Microsoft Graph
 
WPCampus Online - The Case for the WordPress REST API
WPCampus Online - The Case for the WordPress REST APIWPCampus Online - The Case for the WordPress REST API
WPCampus Online - The Case for the WordPress REST API
 
Angular JS For Your Business
Angular JS For Your BusinessAngular JS For Your Business
Angular JS For Your Business
 
How to become senior .net developer
How to become senior .net developerHow to become senior .net developer
How to become senior .net developer
 
Frameworks in JavaScript
Frameworks in JavaScriptFrameworks in JavaScript
Frameworks in JavaScript
 

Ähnlich wie JavaScript in Universal Windows Platform apps

Single Page Application Development with backbone.js and Simple.Web
Single Page Application Development with backbone.js and Simple.WebSingle Page Application Development with backbone.js and Simple.Web
Single Page Application Development with backbone.js and Simple.Web
Chris Canal
 
Javascript as universal language
Javascript as universal languageJavascript as universal language
Javascript as universal language
Ronald Harmsen
 
Acing application lifecycle management in SharePoint
Acing application lifecycle management in SharePointAcing application lifecycle management in SharePoint
Acing application lifecycle management in SharePoint
Jeremy Thake
 
Gwt overview & getting started
Gwt overview & getting startedGwt overview & getting started
Gwt overview & getting started
Binh Bui
 

Ähnlich wie JavaScript in Universal Windows Platform apps (20)

Mvvm knockout vs angular
Mvvm knockout vs angularMvvm knockout vs angular
Mvvm knockout vs angular
 
Using-AngularJS-with-Sitefinity.pptx
Using-AngularJS-with-Sitefinity.pptxUsing-AngularJS-with-Sitefinity.pptx
Using-AngularJS-with-Sitefinity.pptx
 
Single Page Application Development with backbone.js and Simple.Web
Single Page Application Development with backbone.js and Simple.WebSingle Page Application Development with backbone.js and Simple.Web
Single Page Application Development with backbone.js and Simple.Web
 
Escaping the yellow bubble - rewriting Domino using MongoDb and Angular
Escaping the yellow bubble - rewriting Domino using MongoDb and AngularEscaping the yellow bubble - rewriting Domino using MongoDb and Angular
Escaping the yellow bubble - rewriting Domino using MongoDb and Angular
 
Swagger - Making REST APIs friendlier
Swagger - Making REST APIs friendlierSwagger - Making REST APIs friendlier
Swagger - Making REST APIs friendlier
 
Santosh_Resume_Java
Santosh_Resume_JavaSantosh_Resume_Java
Santosh_Resume_Java
 
Shift Remote: JS - Javascript Build Tools: Past & Beyond - Shedrack Akintayo
Shift Remote: JS - Javascript Build Tools: Past & Beyond - Shedrack Akintayo Shift Remote: JS - Javascript Build Tools: Past & Beyond - Shedrack Akintayo
Shift Remote: JS - Javascript Build Tools: Past & Beyond - Shedrack Akintayo
 
Javascript as universal language
Javascript as universal languageJavascript as universal language
Javascript as universal language
 
Sai Sharan_UI_Resume
Sai Sharan_UI_ResumeSai Sharan_UI_Resume
Sai Sharan_UI_Resume
 
Web development - Developing Web as A Team
Web development -  Developing Web as A TeamWeb development -  Developing Web as A Team
Web development - Developing Web as A Team
 
Develop a vanilla.js spa you and your customers will love
Develop a vanilla.js spa you and your customers will loveDevelop a vanilla.js spa you and your customers will love
Develop a vanilla.js spa you and your customers will love
 
Sugarcoating your frontend one ViewModel at a time
Sugarcoating your frontend one ViewModel at a timeSugarcoating your frontend one ViewModel at a time
Sugarcoating your frontend one ViewModel at a time
 
Nightwatch JS for End to End Tests
Nightwatch JS for End to End TestsNightwatch JS for End to End Tests
Nightwatch JS for End to End Tests
 
Agile sites @ telmore
Agile sites @ telmore Agile sites @ telmore
Agile sites @ telmore
 
Acing application lifecycle management in SharePoint
Acing application lifecycle management in SharePointAcing application lifecycle management in SharePoint
Acing application lifecycle management in SharePoint
 
Creating Modular Test-Driven SPAs with Spring and AngularJS
Creating Modular Test-Driven SPAs with Spring and AngularJSCreating Modular Test-Driven SPAs with Spring and AngularJS
Creating Modular Test-Driven SPAs with Spring and AngularJS
 
Angular Meetup 1 - Angular Basics and Workshop
Angular Meetup 1 - Angular Basics and WorkshopAngular Meetup 1 - Angular Basics and Workshop
Angular Meetup 1 - Angular Basics and Workshop
 
Gwt overview & getting started
Gwt overview & getting startedGwt overview & getting started
Gwt overview & getting started
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
 
Testing your Single Page Application
Testing your Single Page ApplicationTesting your Single Page Application
Testing your Single Page Application
 

Mehr von Timmy Kokke

TypeScript in Windows Store apps
TypeScript in Windows Store appsTypeScript in Windows Store apps
TypeScript in Windows Store apps
Timmy Kokke
 
Reusing JavaScript knowledge in Windows Store apps
Reusing JavaScript knowledge in Windows Store appsReusing JavaScript knowledge in Windows Store apps
Reusing JavaScript knowledge in Windows Store apps
Timmy Kokke
 
Unit Testing MVVM in Silverlight
Unit Testing MVVM in SilverlightUnit Testing MVVM in Silverlight
Unit Testing MVVM in Silverlight
Timmy Kokke
 
HTML5 - An Introduction
HTML5 - An IntroductionHTML5 - An Introduction
HTML5 - An Introduction
Timmy Kokke
 

Mehr von Timmy Kokke (19)

Back to Space
Back to SpaceBack to Space
Back to Space
 
Why front-end matters in 2019
Why front-end matters in 2019Why front-end matters in 2019
Why front-end matters in 2019
 
Centric - PWA WebCast
Centric - PWA WebCastCentric - PWA WebCast
Centric - PWA WebCast
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
WebXR - Introduction and Workshop
WebXR - Introduction and WorkshopWebXR - Introduction and Workshop
WebXR - Introduction and Workshop
 
Virtual Reality on the Web
Virtual Reality on the WebVirtual Reality on the Web
Virtual Reality on the Web
 
WebVR with Babylon.JS
WebVR with Babylon.JSWebVR with Babylon.JS
WebVR with Babylon.JS
 
VR in a Box
VR in a BoxVR in a Box
VR in a Box
 
VR in a Box
VR in a BoxVR in a Box
VR in a Box
 
Progressive Web Apps - Lightning Talk
Progressive Web Apps - Lightning TalkProgressive Web Apps - Lightning Talk
Progressive Web Apps - Lightning Talk
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web apps
 
Store apps with AngularJS
Store apps with AngularJSStore apps with AngularJS
Store apps with AngularJS
 
Resharper - Next Steps
Resharper - Next StepsResharper - Next Steps
Resharper - Next Steps
 
TypeScript in Windows Store apps
TypeScript in Windows Store appsTypeScript in Windows Store apps
TypeScript in Windows Store apps
 
Reusing JavaScript knowledge in Windows Store apps
Reusing JavaScript knowledge in Windows Store appsReusing JavaScript knowledge in Windows Store apps
Reusing JavaScript knowledge in Windows Store apps
 
Beginning with blend
Beginning with blendBeginning with blend
Beginning with blend
 
What's Silverlight?
What's Silverlight?What's Silverlight?
What's Silverlight?
 
Unit Testing MVVM in Silverlight
Unit Testing MVVM in SilverlightUnit Testing MVVM in Silverlight
Unit Testing MVVM in Silverlight
 
HTML5 - An Introduction
HTML5 - An IntroductionHTML5 - An Introduction
HTML5 - An Introduction
 

Kürzlich hochgeladen

The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Kürzlich hochgeladen (20)

The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 

JavaScript in Universal Windows Platform apps

Hinweis der Redaktion

  1. Koploper ES6 implementatie WinJS - Angular – Meteor – Knockout – React – Twitter bootstrap Wel toegang to volledige WinRT API – Voicecommands, Bluetooth, Notifications, MIDI Great VS support ! Eventueel TypeScript Geen gedoe met Chrome of FF Geen legacy… Geen gedoe met support voor 20 jaar oude browsers…
  2. Windows Library for JavaScript.