SlideShare une entreprise Scribd logo
1  sur  20
Developing Windows 8 Applications
with HTML, CSS and JavaScript

Stacy Vicknair
Sparkhound
0
Welcome to Houston TechFest
Thank you for being a part of the
7th Annual Houston TechFest!
• Please turn off all electronic devices or set them to vibrate.
• If you must take a phone call, please do so in the lobby so as not
to disturb others.
• Thanks to our Diamond Sponsors:

1
Information
• Speaker presentation slides will be available at
www.houstontechfest.org within a week
• Don’t forget to complete the Bingo card to be
eligible for door prizes

2
ABOUT ME
Stacy Vicknair, MVP
Senior Development Consultant
Blog
http://www.wtfnext.com
Toastmasters
http://www.toastmasters.org
http://www.batonrougespeaks.com

Twitter: @svickn
Email: stacy.vicknair@sparkhound.com
“BE A HERO. GROW A BEARD.”
The Sparkhound Foundation is sponsoring the growth of
facial hair to raise Prostate Cancer Awareness.
Through Septembeard we will
raise funds for the research and
treatment of prostate cancer.

Want to join us? Learn more at Septembeard.org.
Agenda
•
•
•
•
•
•
•
•
•
•

Windows Store App Stack
Why choose HTML, CSS, and JS?
Basic Project Structure
Adding Elements and Controls
Promises
Binding
State Management
Navigation
What’s coming in Windows 8.1?
Resources and Links
5
Windows Store App Stack

6
Why use HTML, CSS and JS?
•
•
•
•

You’re already well-versed in web development
Leverage familiar client-side libraries
You aren’t as familiar with XAML
The app only deals with web-based services

7
Basic Project Structure
• package.appxmanifest
– Set app-wide settings such as
icons, tiles, capabilities, declarations

• WinJS
– Adds controls, promises, animations, etc.

• HTML / CSS files
– Act as the View

• JavaScript files
– Act as the Model / Controller
8
Adding Elements and Controls
• It’s HTML!
– Basic Elements are the same ones you know already.
• input, button, a…

– Wiring events is normal too.
• Element.addEventListener(type, listener[, useCapture])
• Element.onclick = function() {}
• jQuery is an option, v2.0+

• More advanced controls included in the WinJS
library.

9
Available WinJS Controls
•
•
•
•
•
•
•
•
•
•

•
•
•
•
•
•
•
•
•
•
•

AppBar
BackButton
DatePicker
FlipView
Flyout
ListView
HtmlControl
ItemContainer
Menu
NavBar
10

PageControl
Rating
Repeater
SearchBox
SemanticZoom
SettingsFlyout
TimePicker
ToggleSwitch
Tooltip
ViewBox
x-ms-webview
Promises
• The gateway to asynchronous processing in Win8
HTML, CSS, and JS.
• Can assign callbacks via .then()
• Can wait on multiples with combine()

11
DEMO
• OOTB Blank Solution
• Adding Elements and Controls
• Promises

12
Binding
• Similar to Knockout bindings
– BUT: Only one way binding

• Allows binding of objects to the HTML view
• To perform bindings:
– Specify the element component bindings with datawin-bind
• innerHtml
• style.<stylename>
• onclick

– Use WinJS.Binding.processAll(element, model)
13
Saving and Resuming State
• From Windows.Storage.ApplicationData.current
• Main types:
– Temporary: No guarantee that this will last beyond the
current session
• temporaryFolder
• sessionState

– Local: Saved on Local Machine
• localSettings
• localFolder

– Roaming: Associated with the Windows Live account
• roamingSettings, roamingFolder
14
DEMO
• Binding
• Saving and Resuming State
• Navigation

15
What coming in Windows 8.1?
•
•
•
•
•

Improved Performance
Bundling to minimize app size
More Windows Sizes
Better ListViews / Drag and Drop support OOTB
New controls

http://msdn.microsoft.com/en-us/library/windows/apps/bg182410
16
Agenda
•
•
•
•
•
•
•
•
•
•

Windows Store App Stack
Why choose HTML, CSS, and JS?
Basic Project Structure
Adding Elements and Controls
Promises
Binding
State Management
Navigation
What’s coming in Windows 8.1?
Resources and Links
17
Resources and Links
Get codeSHOW() off of the App Store!
Developing Store Apps with JavaScript
http://msdn.microsoft.com/en-us/library/windows/apps/br229565.aspx
Create Your First App:
http://msdn.microsoft.com/en-us/library/windows/apps/br211385.aspx
What’s New in 8.1:
http://msdn.microsoft.com/en-us/library/windows/apps/bg182410
Samples:
http://code.msdn.microsoft.com/windowsapps
Microsoft Virtual Academy:
http://www.microsoftvirtualacademy.com/training-courses/developing-windowsstore-apps-with-html5-jump-start#fbid=lvD_xqBRi1j
18
Please Leave Feedback During Q&A
If you leave session
feedback and
provide contact
information, you
will be qualified for
a prize
Scan the QR code
to the right or go to
bit.ly/htf130415
19

Contenu connexe

Plus de Stacy Vicknair

Building Faster Horses: Taking Over An Existing Software Product
Building Faster Horses: Taking Over An Existing Software ProductBuilding Faster Horses: Taking Over An Existing Software Product
Building Faster Horses: Taking Over An Existing Software ProductStacy Vicknair
 
ASP.NET Routing Deep Dive
ASP.NET Routing Deep DiveASP.NET Routing Deep Dive
ASP.NET Routing Deep DiveStacy Vicknair
 
ASP.NET Routing Deep Dive
ASP.NET Routing Deep DiveASP.NET Routing Deep Dive
ASP.NET Routing Deep DiveStacy Vicknair
 
Asp.net routing with mvc deep dive
Asp.net routing with mvc deep diveAsp.net routing with mvc deep dive
Asp.net routing with mvc deep diveStacy Vicknair
 

Plus de Stacy Vicknair (6)

Building Faster Horses: Taking Over An Existing Software Product
Building Faster Horses: Taking Over An Existing Software ProductBuilding Faster Horses: Taking Over An Existing Software Product
Building Faster Horses: Taking Over An Existing Software Product
 
ASP.NET Routing Deep Dive
ASP.NET Routing Deep DiveASP.NET Routing Deep Dive
ASP.NET Routing Deep Dive
 
Git'in in 15
Git'in in 15Git'in in 15
Git'in in 15
 
Git'in on Windows
Git'in on WindowsGit'in on Windows
Git'in on Windows
 
ASP.NET Routing Deep Dive
ASP.NET Routing Deep DiveASP.NET Routing Deep Dive
ASP.NET Routing Deep Dive
 
Asp.net routing with mvc deep dive
Asp.net routing with mvc deep diveAsp.net routing with mvc deep dive
Asp.net routing with mvc deep dive
 

Dernier

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 

Dernier (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 

Developing Windows 8 Applications with HTML, CSS and JavaScript

  • 1. Developing Windows 8 Applications with HTML, CSS and JavaScript Stacy Vicknair Sparkhound 0
  • 2. Welcome to Houston TechFest Thank you for being a part of the 7th Annual Houston TechFest! • Please turn off all electronic devices or set them to vibrate. • If you must take a phone call, please do so in the lobby so as not to disturb others. • Thanks to our Diamond Sponsors: 1
  • 3. Information • Speaker presentation slides will be available at www.houstontechfest.org within a week • Don’t forget to complete the Bingo card to be eligible for door prizes 2
  • 4. ABOUT ME Stacy Vicknair, MVP Senior Development Consultant Blog http://www.wtfnext.com Toastmasters http://www.toastmasters.org http://www.batonrougespeaks.com Twitter: @svickn Email: stacy.vicknair@sparkhound.com
  • 5. “BE A HERO. GROW A BEARD.” The Sparkhound Foundation is sponsoring the growth of facial hair to raise Prostate Cancer Awareness. Through Septembeard we will raise funds for the research and treatment of prostate cancer. Want to join us? Learn more at Septembeard.org.
  • 6. Agenda • • • • • • • • • • Windows Store App Stack Why choose HTML, CSS, and JS? Basic Project Structure Adding Elements and Controls Promises Binding State Management Navigation What’s coming in Windows 8.1? Resources and Links 5
  • 8. Why use HTML, CSS and JS? • • • • You’re already well-versed in web development Leverage familiar client-side libraries You aren’t as familiar with XAML The app only deals with web-based services 7
  • 9. Basic Project Structure • package.appxmanifest – Set app-wide settings such as icons, tiles, capabilities, declarations • WinJS – Adds controls, promises, animations, etc. • HTML / CSS files – Act as the View • JavaScript files – Act as the Model / Controller 8
  • 10. Adding Elements and Controls • It’s HTML! – Basic Elements are the same ones you know already. • input, button, a… – Wiring events is normal too. • Element.addEventListener(type, listener[, useCapture]) • Element.onclick = function() {} • jQuery is an option, v2.0+ • More advanced controls included in the WinJS library. 9
  • 12. Promises • The gateway to asynchronous processing in Win8 HTML, CSS, and JS. • Can assign callbacks via .then() • Can wait on multiples with combine() 11
  • 13. DEMO • OOTB Blank Solution • Adding Elements and Controls • Promises 12
  • 14. Binding • Similar to Knockout bindings – BUT: Only one way binding • Allows binding of objects to the HTML view • To perform bindings: – Specify the element component bindings with datawin-bind • innerHtml • style.<stylename> • onclick – Use WinJS.Binding.processAll(element, model) 13
  • 15. Saving and Resuming State • From Windows.Storage.ApplicationData.current • Main types: – Temporary: No guarantee that this will last beyond the current session • temporaryFolder • sessionState – Local: Saved on Local Machine • localSettings • localFolder – Roaming: Associated with the Windows Live account • roamingSettings, roamingFolder 14
  • 16. DEMO • Binding • Saving and Resuming State • Navigation 15
  • 17. What coming in Windows 8.1? • • • • • Improved Performance Bundling to minimize app size More Windows Sizes Better ListViews / Drag and Drop support OOTB New controls http://msdn.microsoft.com/en-us/library/windows/apps/bg182410 16
  • 18. Agenda • • • • • • • • • • Windows Store App Stack Why choose HTML, CSS, and JS? Basic Project Structure Adding Elements and Controls Promises Binding State Management Navigation What’s coming in Windows 8.1? Resources and Links 17
  • 19. Resources and Links Get codeSHOW() off of the App Store! Developing Store Apps with JavaScript http://msdn.microsoft.com/en-us/library/windows/apps/br229565.aspx Create Your First App: http://msdn.microsoft.com/en-us/library/windows/apps/br211385.aspx What’s New in 8.1: http://msdn.microsoft.com/en-us/library/windows/apps/bg182410 Samples: http://code.msdn.microsoft.com/windowsapps Microsoft Virtual Academy: http://www.microsoftvirtualacademy.com/training-courses/developing-windowsstore-apps-with-html5-jump-start#fbid=lvD_xqBRi1j 18
  • 20. Please Leave Feedback During Q&A If you leave session feedback and provide contact information, you will be qualified for a prize Scan the QR code to the right or go to bit.ly/htf130415 19

Notes de l'éditeur

  1. Why are we doing this? In honor of the Sparkies and Sparkie family members who have (or continue to fight) fought prostate cancerBackground:- The Sparkhound Foundation is our non-profit charitable giving organization- Prostate cancer is the second leading cause of death in American men.
  2. Why are we doing this? In honor of the Sparkies and Sparkie family members who have (or continue to fight) fought prostate cancerBackground:- The Sparkhound Foundation is our non-profit charitable giving organization- Prostate cancer is the second leading cause of death in American men.