Windows® 8.1 Apps with HTML5 and Javascript UNLEASHED

Total Page:16

File Type:pdf, Size:1020Kb

Windows® 8.1 Apps with HTML5 and Javascript UNLEASHED Stephen Walther ® Windows 8.1 Apps with HTML5 and JavaScript UNLEASHED 800 East 96th Street, Indianapolis, Indiana 46240 USA Windows® 8.1 Apps with HTML5 and JavaScript Unleashed Editor-in-Chief Copyright © 2014 by Pearson Education Greg Wiegand All rights reserved. No part of this book shall be reproduced, 8.1d in a retrieval system, Executive Editor or transmitted by any means, electronic, mechanical, photocopying, recording, or other- Neil Rowe wise, without written permission from the publisher. No patent liability is assumed with respect to the use of the information contained herein. Although every precaution has Development Editor been taken in the preparation of this book, the publisher and author assume no respon- Mark Renfrow sibility for errors or omissions. Nor is any liability assumed for damages resulting from the use of the information contained herein. Managing Editor ISBN-13: 978-0-672-33711-6 Kristy Hart ISBN-10: 0-672-33711-8 Library of Congress Control Number 2013951680 Project Editor Elaine Wiley Printed in the United States on America First Printing December 2013 Indexer Tim Wright Trademarks All terms mentioned in this book that are known to be trademarks or service marks have Proofreader been appropriately capitalized. Sams Publishing cannot attest to the accuracy of this Charlotte HKughen information. Use of a term in this book should not be regarded as affecting the validity of any trademark or service mark. Technical Editors Jeff Burtoft Warning and Disclaimer James Boddie Every effort has been made to make this book as complete and as accurate as possi- ble, but no warranty or fitness is implied. The information provided is on an “as is” Publishing Coordinator basis. The author(s) and the publisher shall have neither liability nor responsibility to Cindy Teeters any person or entity with respect to any loss or damages arising from the information contained in this book or from the use of the programs accompanying it. Senior Compositor Gloria Schurick Special Sales For information about buying this title in bulk quantities, or for special sales opportuni- ties (which may include electronic versions; custom cover designs; and content particu- lar to your business, training goals, marketing focus, or branding interests), please contact our corporate sales department at [email protected] or (800) 382-3419. For government sales inquiries, please contact [email protected]. For questions about sales outside the U.S., please contact [email protected]. Contents at a Glance Introduction ........................................................................................ 1 1 Building Windows Store Apps ............................................................... 5 2 WinJS Fundamentals .......................................................................... 45 3 Observables, Bindings, and Templates ................................................. 81 4 Using WinJS Controls ....................................................................... 113 5 Creating Forms ................................................................................. 149 6 Menus and Flyouts ............................................................................ 169 7 Using the ItemContainer, Repeater, and FlipView Controls ................. 197 8 Using the ListView Control ............................................................... 223 9 Creating Data Sources ....................................................................... 263 10 Storing Data with Windows Azure ...................................................... 295 11 App Events and States ....................................................................... 311 12 Page Fragments and Navigation ......................................................... 333 13 Creating Share and Search Contracts .................................................. 353 14 Using the Live Connect API ............................................................... 387 15 Graphics and Games ......................................................................... 417 16 Creating a Task List App .................................................................... 431 Index ...............................................................................................449 Table of Contents Introduction 1 Updated for Windows 8.1 ..................................................................... 2 Prerequisites for This Book .................................................................... 3 Source Code ........................................................................................ 3 1 Building Windows Store Apps 5 What Is a Windows Store App? ............................................................. 5 Microsoft Design Style Principles .................................................. 6 Common Features of Windows Store Apps ..................................... 7 Creating Your First Windows Store App ............................................... 13 Creating the Visual Studio Project ............................................... 14 Declaring App Capabilities ......................................................... 15 Creating the HTML Page ............................................................ 17 Creating the Style Sheet ............................................................. 18 Creating the JavaScript File ......................................................... 18 Running the App ....................................................................... 21 Elements of a Windows Store App ....................................................... 21 JavaScript .................................................................................. 21 HTML5 ..................................................................................... 22 Cascading Style Sheets 3 ............................................................. 22 Windows Runtime ..................................................................... 23 Windows Library for JavaScript ................................................... 23 What About jQuery? .................................................................. 24 Building Windows Store Apps with Visual Studio ................................. 26 Windows Store App Project Templates ......................................... 27 Running a Windows Store App ................................................... 31 Debugging a Windows Store App ........................................................ 33 Using the Visual Studio JavaScript Console Window ..................... 33 Setting Breakpoints .................................................................... 34 Using the DOM Explorer ............................................................ 35 Publishing to the Windows Store ........................................................ 36 Register as a Windows Developer ................................................ 36 Submitting Your App ................................................................. 37 Passing App Certification ........................................................... 39 Migrating from Windows 8 to Windows 8.1 ......................................... 41 Summary .......................................................................................... 42 Contents v 2 WinJs Fundamentals 45 Namespaces, Modules, and Classes ...................................................... 45 Using Namespaces ..................................................................... 46 Using the Module Pattern........................................................... 48 Using Classes ............................................................................ 51 Asynchronous Programming with Promises .......................................... 56 Using Promises .......................................................................... 57 Using then() Versus done() ........................................................ 59 Creating Promises ...................................................................... 60 Creating a Timeout Promise ....................................................... 61 Canceling Promises .................................................................... 62 Composing Promises.................................................................. 63 Retrieving DOM Elements with Query Selectors .................................... 63 Performing Queries with the WinJS.Utilities.query() Method .... 64 Retrieving a Single Element with the WinJS.Utilities.id() Method .................................................................................. 66 Using the WinJS.Utilities.children() method .......................... 67 Working with the QueryCollection Class .................................... 68 Performing Ajax Calls with the xhr Function ....................................... 69 Specifying Different Response Types ............................................ 72 Customizing the Properties of the XmlHttpRequest Object ............. 73 Using the Scheduler to Prioritize Jobs .................................................. 75 Setting Job Priorities .................................................................. 77 Yielding to a Higher Priority Job ................................................. 77 Summary .......................................................................................... 80 3 Observables, Bindings, and Templates 81 Understanding Observables ................................................................ 81 Creating an Observable .............................................................
Recommended publications
  • Create Mobile Apps with HTML5, Javascript and Visual Studio
    Create mobile apps with HTML5, JavaScript and Visual Studio DevExtreme Mobile is a single page application (SPA) framework for your next Windows Phone, iOS and Android application, ready for online publication or packaged as a store-ready native app using Apache Cordova (PhoneGap). With DevExtreme, you can target today’s most popular mobile devices with a single codebase and create interactive solutions that will amaze. Get started today… ・ Leverage your existing Visual Studio expertise. ・ Build a real app, not just a web page. ・ Deliver a native UI and experience on all supported devices. ・ Use over 30 built-in touch optimized widgets. Learn more and download your free trial devexpress.com/mobile All trademarks or registered trademarks are property of their respective owners. Untitled-4 1 10/2/13 11:58 AM APPLICATIONS & DEVELOPMENT SPECIAL GOVERNMENT ISSUE INSIDE Choose a Cloud Network for Government-Compliant magazine Applications Geo-Visualization of SPECIAL GOVERNMENT ISSUE & DEVELOPMENT SPECIAL GOVERNMENT ISSUE APPLICATIONS Government Data Sources Harness Open Data with CKAN, OData and Windows Azure Engage Communities with Open311 THE DIGITAL GOVERNMENT ISSUE Inside the tools, technologies and APIs that are changing the way government interacts with citizens. PLUS SPECIAL GOVERNMENT ISSUE APPLICATIONS & DEVELOPMENT SPECIAL GOVERNMENT ISSUE & DEVELOPMENT SPECIAL GOVERNMENT ISSUE APPLICATIONS Enhance Services with Windows Phone 8 Wallet and NFC Leverage Web Assets as Data Sources for Apps APPLICATIONS & DEVELOPMENT SPECIAL GOVERNMENT ISSUE ISSUE GOVERNMENT SPECIAL DEVELOPMENT & APPLICATIONS Untitled-1 1 10/4/13 11:40 AM CONTENTS OCTOBER 2013/SPECIAL GOVERNMENT ISSUE OCTOBER 2013/SPECIAL GOVERNMENT ISSUE magazine FEATURES MOHAMMAD AL-SABT Editorial Director/[email protected] Geo-Visualization of Government KENT SHARKEY Site Manager Data Sources MICHAEL DESMOND Editor in Chief/[email protected] Malcolm Hyson ..........................................
    [Show full text]
  • Exam Ref 70-482: Advanced Windows Store App Development Using HTML5 and Javascript
    Exam Ref 70-482: Advanced Windows Store App Development Using HTML5 and JavaScript Roberto Brunetti Vanni Boncinelli Copyright © 2013 by Roberto Brunetti and Vanni Boncinelli All rights reserved. No part of the contents of this book may be reproduced or transmitted in any form or by any means without the written permission of the publisher. ISBN: 978-0-7356-7680-0 1 2 3 4 5 6 7 8 9 QG 8 7 6 5 4 3 Printed and bound in the United States of America. Microsoft Press books are available through booksellers and distributors worldwide. If you need support related to this book, email Microsoft Press Book Support at [email protected]. Please tell us what you think of this book at http://www.microsoft.com/learning/booksurvey. Microsoft and the trademarks listed at http://www.microsoft.com/about/legal/ en/us/IntellectualProperty/Trademarks/EN-US.aspx are trademarks of the Microsoft group of companies. All other marks are property of their respec- tive owners. The example companies, organizations, products, domain names, email ad- dresses, logos, people, places, and events depicted herein are fictitious. No association with any real company, organization, product, domain name, email address, logo, person, place, or event is intended or should be inferred. This book expresses the author’s views and opinions. The information con- tained in this book is provided without any express, statutory, or implied warranties. Neither the authors, Microsoft Corporation, nor its resellers, or distributors will be held liable for any damages caused or alleged to be caused either directly or indirectly by this book.
    [Show full text]
  • 1.1.2 MIT Backbonejs.Org File Bootstrap Apache
    Resource name License License reference Usage Type backbone-1.1.2 MIT backbonejs.org File bootstrap Apache 2.0 http://getbootstrap.com/javascript/ File bootstrap-datetimepicker-v2.0.1 Apache 2.0 https://github.com/Eonasdan/bootstrap-datetimepicker/blob/v2.0.1/LICENSE File cache.js MIT https://github.com/monsur/jscache FIle Common.Logging.Core.dll Apache 2.0 http://netcommon.sourceforge.net/license.html Dynamic Library Common.Logging.dll Apache 2.0 http://netcommon.sourceforge.net/license.html Dynamic Library DocumentFormat.OpenXml.dll Apache 2.0 https://github.com/OfficeDev/Open-XML-SDK/blob/master/LICENSE.txt Dynamic Library enquire.js MIT http://wicky.nillia.ms/enquire.js File globalize MIT http://github.com/jquery/globalize File handlebars MIT https://github.com/wycats/handlebars.js/blob/master/LICENSE File HTML5 Sortable MIT License http://farhadi.ir/projects/html5sortable/ File hu.js MIT https://github.com/Canop/hu.js File ICSharpCode.SharpZipLib.dll GPL with exceptions http://icsharpcode.github.io/SharpZipLib/ Dynamic Library icudt34.dll ICU License http://www-306.ibm.com/software/globalization/icu/index.jsp Dynamic Library icuin34.dll ICU License http://www-306.ibm.com/software/globalization/icu/index.jsp Dynamic Library icuuc34.dll ICU License http://www-306.ibm.com/software/globalization/icu/index.jsp Dynamic Library indexedDBshim MIT https://github.com/axemclion/IndexedDBShim File interact.js MIT https://raw.github.com/taye/interact.js/master/LICENSE File interact.js MIT https://raw.githubusercontent.com/taye/interact.js/master/LICENSE
    [Show full text]
  • New Visual Studio 2013 Diagnostic Tools
    New Visual Studio 2013 Diagnostic Tools --- Overview In this lab, you will learn about some of the new diagnostic tools that were introduced with Visual Studio 2012 updates, as well as the new diagnostic tools introduced in Visual Studio 2013. You will also be introduced to the enhanced asynchronous debugging features found in Visual Studio 2013. Objectives In this hands-on lab, you will learn how to do the following: - Use the Performance and Diagnostics Hub - Use the UI Responsiveness Tools for JavaScript and XAML Windows Store applications - Use the Energy Consumption Tool - Analyze JavaScript Memory Usage - Create and Analyze Managed Memory Dumps - Use the enhanced asynchronous debugging features in Visual Studio 2013 Prerequisites The following are required to complete this hands-on lab: - Windows 8.1 - Microsoft Visual Studio 2013 (with Update 2 RC applied) Notes Estimated time to complete this lab: 60 minutes. Note: You can log into the virtual machine with user name “User” and password “P2ssw0rd”. Note: This lab may make references to code and other assets that are needed to complete the exercises. You can find these assets on the desktop in a folder named TechEd 2014. Within that folder, you will find additional folders that match the name of the lab you are working on. Exercise 1: Introduction to Performance and Diagnostics Hub In this exercise, you will you will learn about the new Performance and Diagnostics Hub in Visual Studio 2013. The new hub brings together existing tools into one location, and makes it easier to see what tools are available for the current project based on the current language, application type, or platform.
    [Show full text]
  • Open Source Components
    Open Source Components Resource Name License License Reference Usage Type ace.js BSD https://github.com/ajaxorg/ace/blob/master/LICENSE backbone-1.1.2 MIT backbonejs.org File bootstrap Apache 2.0 http://getbootstrap.com/javascript/ File bootstrap-datetimepicker-v2.0.1 Apache 2.0 https://github.com/Eonasdan/bootstrap-datetimepicker/blob/v2.0.1/LICENSE File cache.js MIT https://github.com/monsur/jscache FIle Common.Logging.Core.dll Apache 2.0 http://netcommon.sourceforge.net/license.html Dynamic Library Common.Logging.dll Apache 2.0 http://netcommon.sourceforge.net/license.html Dynamic Library DeployR Apache 2.0 https://deployr.revolutionanalytics.com/license/ DrillDown.js MIT http://code.highcharts.com/modules/drilldown.js File DocumentFormat.OpenXml.dll Apache 2.0 https://github.com/OfficeDev/Open-XML-SDK/blob/master/LICENSE.txt Dynamic Library enquire.js MIT http://wicky.nillia.ms/enquire.js File globalize MIT http://github.com/jquery/globalize File handlebars MIT https://github.com/wycats/handlebars.js/blob/master/LICENSE File HTML5 Sortable MIT License http://farhadi.ir/projects/html5sortable/ File hu.js MIT https://github.com/Canop/hu.js File ICSharpCode.SharpZipLib.dll GPL with exceptions http://icsharpcode.github.io/SharpZipLib/ Dynamic Library icudt34.dll ICU License http://www-306.ibm.com/software/globalization/icu/index.jsp Dynamic Library icuin34.dll ICU License http://www-306.ibm.com/software/globalization/icu/index.jsp Dynamic Library icuuc34.dll ICU License http://www-306.ibm.com/software/globalization/icu/index.jsp Dynamic
    [Show full text]
  • NET Technology Guide for Business Applications // 1
    .NET Technology Guide for Business Applications Professional Cesar de la Torre David Carmona Visit us today at microsoftpressstore.com • Hundreds of titles available – Books, eBooks, and online resources from industry experts • Free U.S. shipping • eBooks in multiple formats – Read on your computer, tablet, mobile device, or e-reader • Print & eBook Best Value Packs • eBook Deal of the Week – Save up to 60% on featured titles • Newsletter and special offers – Be the first to hear about new releases, specials, and more • Register your book – Get additional benefits Hear about it first. Get the latest news from Microsoft Press sent to your inbox. • New and upcoming books • Special offers • Free eBooks • How-to articles Sign up today at MicrosoftPressStore.com/Newsletters Wait, there’s more... Find more great content and resources in the Microsoft Press Guided Tours app. The Microsoft Press Guided Tours app provides insightful tours by Microsoft Press authors of new and evolving Microsoft technologies. • Share text, code, illustrations, videos, and links with peers and friends • Create and manage highlights and notes • View resources and download code samples • Tag resources as favorites or to read later • Watch explanatory videos • Copy complete code listings and scripts Download from Windows Store Free ebooks From technical overviews to drilldowns on special topics, get free ebooks from Microsoft Press at: www.microsoftvirtualacademy.com/ebooks Download your free ebooks in PDF, EPUB, and/or Mobi for Kindle formats. Look for other great resources at Microsoft Virtual Academy, where you can learn new skills and help advance your career with free Microsoft training delivered by experts.
    [Show full text]
  • Programming Windows Store Apps with HTML, CSS, and Javascript
    spine = 2.07” Programming Windows Sixth Edition Writing Windows 8 Apps with C# and XAML Windows Programming Writing Windows 8 Apps with C# and XAML About the Sixth Edition Like Windows itself, this classic book has been reimagined for • Completely rewritten for Windows 8 Programming a new world of programming and user experiences. Guided • Focuses on creating apps using C#, XAML, and the Windows Runtime by developer legend Charles Petzold, Programming Windows, Sixth Edition teaches how to use your existing C# skills with • Expertly teaches essential skills in Part 1: Elementals XAML and the Windows Runtime to create full-screen, touch Rounds out your Windows 8 education apps for Windows 8. • Windows Store in Part 2: Specialties • Provides code samples in both C# Master the elementals and C++ • Create and initialize objects with code or XAML • Handle user-input events such as taps Apps with HTML, • Manage and experiment with dynamic layout • Visually redefine a control’s appearance • Create Windows Runtime libraries • Use MVVM for data binding and commanding • Work with asynchronous methods; write your own About the Author CSS, and JavaScript • Animate transitions and create 2D and 3D effects Charles Petzold has been writing • Manage resolution, scaling, and navigation about Windows programming for 25 years. A Windows Pioneer Extend your skills and apps Award winner, Petzold is author Second Edition of the classic Programming Windows, the • Handle pointer, manipulation, tap, and hold events widely acclaimed Code: The Hidden • Manipulate bitmaps and rich text Language of Computer Hardware and • Work with GPS and orientation sensors Software, Programming Windows Phone 7, and more than a dozen other books.
    [Show full text]
  • Imagine. Create. Deploy. Inspired? So Are We
    Imagine. Create. Deploy. Inspired? So Are We. Inspiration is all around us. From beautiful screens on the web to well-designed reports. New devices push the development envelope and asks that we consider new technologies. The latest release, DevExpress 12.2, delivers the tools you need to build the multi-channel solutions you can imagine: Windows 8-inspired applications with live tiles perfect for Microsoft Surface, multi-screen iOS and Android apps. It’s all possible. Let’s see what develops. Download your 30-day trial at www.DevExpress.com Untitled-1 1 12/7/12 10:27 AM THE MICROSOFT JOURNAL FOR DEVELOPERS JANUARY 2013 VOL 28 NO 1 magazine Access Online Services with the Windows Runtime......36 Access Online Services with the COLUMNS Windows Runtime and OAuth CUTTING EDGE Tim Kulp .........................................................................36 Essential Facebook Programming: Building a Windows Client TypeScript: Making .NET Developers Dino Esposito, page 6 Comfortable with JavaScript WINDOWS WITH C++ The Evolution of Threads Shayne Boyer ..................................................................46 and I/O in Windows The C# Memory Model in Theory Kenny Kerr, page 12 DATA POINTS and Practice, Part 2 Shrink EF Models with Igor Ostrovsky .................................................................52 DDD Bounded Contexts Julie Lerman, page 22 Building Hypermedia Web APIs WINDOWS AZURE INSIDER with ASP.NET Web API Windows Azure Web Sites: Pablo Cibraro ..................................................................58
    [Show full text]
  • Building Apps for the Universal Windows Platform
    Building Apps for the Universal Windows Platform Explore Windows 10 Native, IoT, HoloLens, and Xamarin — Ayan Chatterjee www.allitebooks.com Building Apps for the Universal Windows Platform Explore Windows 10 Native, IoT, HoloLens, and Xamarin Ayan Chatterjee www.allitebooks.com Building Apps for the Universal Windows Platform Ayan Chatterjee Swindon, Wiltshire, United Kingdom ISBN-13 (pbk): 978-1-4842-2628-5 ISBN-13 (electronic): 978-1-4842-2629-2 DOI 10.1007/978-1-4842-2629-2 Library of Congress Control Number: 2017946340 Copyright © 2017 by Ayan Chatterjee This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights. While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made.
    [Show full text]
  • Getting T Uchy an In-Depth Review of What’S New with Windows 8, As Well As Major Upgrades to Visual Studio and the Microsoft .NET Framework
    VisualStudioMagazine.com Getting T uchy An in-depth review of what’s new with Windows 8, as well as major upgrades to Visual Studio and the Microsoft .NET Framework. PLUS Updating Browsers for HTML5 10 Reasons to Upgrade to the Windows Phone SDK 7.1 High-Performance ASP.NET Caching DECEMBER 2011 Volume 21, No. 12 Volume Write Once, Experience Many check out infragistics.com/jquery NetAdvantage® for jQuery TREE Simplify the look of hierarchical data, while offering the BUSINESS CHARTING experience, design Combine interactive and functionality Outlook style grids with your users will love! rich business charting to deliver a complete portable solution. Infragistics Sales 800 231 8588 • Infragistics Europe Sales +44 (0) 800 298 9055 • Infragistics India +91 80 4151 8042 • @infragistics Copyright 1996-2011 Infragistics, Inc. All rights reserved. Infragistics and NetAdvantage are registered trademarks of Infragistics, Inc. The Infragistics logo is a trademark of Infragistics, Inc. Untitled-5 2 10/12/11 2:55 PM HTML EDITOR Give your users a powerful HTML editing experience by incorporating the COMBO jQuery WYSIWYG The fully featured editing tool. combo box control HIERARCHICAL GRID offers intuitive An expandable data grid auto-suggest, that presents multiple auto-complete and parent-child relationships auto-filtering built in. VIDEO PLAYER is the backbone of your When a user finds data application. what they want to watch, our HTML5 video player adds streaming video right into your own apps. Untitled-5 3 10/12/11 2:55 PM techxtend.com 866-719-1528
    [Show full text]
  • Beginning Windows 8 Data Development
    For your convenience Apress has placed some of the front matter material after the index. Please use the Bookmarks and Contents at a Glance links to access them. Contents at a Glance About the Author ...............................................................................................................xiii About the Technical Reviewer ............................................................................................ xv Acknowledgments ............................................................................................................ xvii ■ Chapter 1: Introduction to Windows 8 Development .........................................................1 ■ Chapter 2: HTML5 and JavaScript Apps with MVVM and Knockout ................................13 ■ Chapter 3: Windows 8 Modern App Data Access Options ...............................................29 ■ Chapter 4: Local Data Access: I: IndexedDB ....................................................................35 ■ Chapter 5: Local Data Access I: JET API and Application Data .......................................61 ■ Chapter 6: Local Data Access III: SQLite ..........................................................................89 ■ Chapter 7: ASP.NET Web API ..........................................................................................123 ■ Chapter 8: WCF Services ...............................................................................................147 ■ Chapter 9: Windows Azure Mobile Services ..................................................................179
    [Show full text]
  • Typescript-Notları
    Contents TypeScript ...........................................................................................................................................2 Type Annotations ............................................................................................................................4 Primitive Types ...............................................................................................................................5 Arrays .............................................................................................................................................5 Enumerations .................................................................................................................................6 Bit Flag ............................................................................................................................................6 Type Assertions ...............................................................................................................................7 Operators .......................................................................................................................................7 Binary plus operator ....................................................................................................................8 Not Operator ..............................................................................................................................8 And Operatörü ............................................................................................................................9
    [Show full text]