You are previewing Exam Ref 70-482: Advanced Windows Store App Development Using HTML5 and JavaScript.
O'Reilly logo
Exam Ref 70-482: Advanced Windows Store App Development Using HTML5 and JavaScript

Book Description

Prepare for Microsoft Exam 70-482—and help demonstrate your real-world mastery of building Windows Store apps with HTML5 and JavaScript. Designed for experienced developers ready to advance their status, Exam Ref focuses on the critical-thinking and decision-making acumen needed for success at the MCSD level.

Focus on the expertise measured by these objectives:

  • Develop Windows Store apps

  • Discover and interact with devices

  • Program user interaction

  • Enhance the user interface

  • Manage data and security

  • Prepare for a solution deployment

  • This Microsoft Exam Ref:

  • Organizes its coverage by exam objectives.

  • Features strategic, what-if scenarios to challenge you.

  • Table of Contents

    1. Dedication
    2. Special Upgrade Offer
    3. Introduction
      1. Microsoft certifications
      2. Acknowledgments
      3. Errata & book support
      4. We want to hear from you
      5. Stay in touch
    4. Preparing for the exam
    5. 1. Develop Windows Store apps
      1. Objective 1.1: Create background tasks
        1. Creating a background task
        2. Declaring background task usage
        3. Enumerating registered tasks
        4. Using deferrals with tasks
        5. Objective summary
        6. Objective review
      2. Objective 1.2: Consume background tasks
        1. Understanding task triggers and conditions
        2. Progressing through and completing background tasks
        3. Understanding task constraints
        4. Cancelling a task
        5. Updating a background task
        6. Debugging tasks
        7. Understanding task usage
        8. Transferring data in the background
        9. Keeping communication channels open
        10. Objective summary
        11. Objective review
      3. Objective 1.3: Integrate WinMD components into a solution
        1. Understanding the Windows Runtime and WinMD
        2. Consuming a native WinMD library
          1. Using the Windows Runtime from a CLR Windows 8 app
          2. Using the Windows Runtime from a C++ Windows 8 app
        3. Creating a WinMD library
        4. Objective summary
        5. Objective review
      4. Chapter summary
      5. Answers
        1. Objective 1.1: Thought experiment
        2. Objective 1.1: Review
        3. Objective 1.2: Thought experiment
        4. Objective 1.2: Review
        5. Objective 1.3: Thought experiment
        6. Objective 1.3: Review
    6. 2. Discover and interact with devices
      1. Objective 2.1: Capture media with the camera and microphone
        1. Using <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>CameraCaptureUI</em></span> to capture pictures or video to capture pictures or video
        2. Using <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>MediaCapture</em></span> to capture pictures, video, or audio to capture pictures, video, or audio
        3. Objective summary
        4. Objective review
      2. Objective 2.2: Get data from sensors
        1. Understanding sensors and location data in the Windows Runtime
        2. Accessing sensors from a Windows Store app
          1. Responding to user movements with the accelerometer sensor
          2. Measuring angular velocity with the gyrometer
          3. Retrieving compass data
          4. Combining different data using the orientation sensor
          5. Getting data from the inclinometer sensor
          6. Using the light sensor
        3. Determining the user’s location
          1. Retrieving geographic data
          2. Tracking the user’s position
        4. Objective summary
        5. Objective review
      3. Objective 2.3: Enumerate and discover device capabilities
        1. Enumerating devices
        2. Using the <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>DeviceWatcher</em></span> class to be notified of changes to the device collection class to be notified of changes to the device collection
        3. Enumerating Plug and Play (PnP) devices
        4. Objective summary
        5. Objective review
      4. Chapter summary
      5. Answers
        1. Objective 2.1: Thought experiment
        2. Objective 2.1: Review
        3. Objective 2.2: Thought experiment
        4. Objective 2.2: Review
        5. Objective 2.3: Thought experiment
        6. Objective 2.3: Review
    7. 3. Program user interaction
      1. Objective 3.1: Implement printing by using contracts and charms
        1. Registering a Windows Store app for the Print contract
        2. Handling <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>PrintTask</em></span> events events
        3. Creating the user interface
        4. Creating a custom print template
        5. Understanding the print task options
        6. Choosing options to display in the preview window
        7. Reacting to print option changes
        8. Implementing in-app printing
        9. Objective summary
        10. Objective review
      2. Objective 3.2: Implement Play To by using contracts and charms
        1. Introducing the Play To contract
        2. Testing sample code using Windows Media Player on a different machine
        3. Implementing a Play To source application
        4. Registering your app as a Play To receiver
        5. Objective summary
        6. Objective review
      3. Objective 3.3: Notify users by using Windows Push Notification Service (WNS)
        1. Requesting and creating a notification channel
        2. Sending a notification to the client
        3. Objective summary
        4. Objective review
      4. Chapter summary
      5. Answers
        1. Objective 3.1: Thought experiment
        2. Objective 3.1: Review
        3. Objective 3.2: Thought experiment
        4. Objective 3.2: Review
        5. Objective 3.3: Thought experiment
        6. Objective 3.3: Review
    8. 4. Enhance the user interface
      1. Objective 4.1: Design for and implement UI responsiveness
        1. Choosing an asynchronous strategy
        2. Implementing promises and handling errors
          1. Using promises
          2. Handling errors
          3. Handling progress notifications
        3. Cancelling promises
          1. Using the <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>join</em></span> method method
          2. Using time-outs
        4. Creating your own promises
        5. Using web workers
          1. Exploring available features
          2. Stopping a web worker
          3. Handling errors
          4. Loading external scripts
        6. Objective summary
        7. Objective review
      2. Objective 4.2: Implement animations and transitions
        1. Using CSS3 transitions
          1. Adding and configuring a transition
          2. Using JavaScript to activate transitions
        2. Creating and customizing animations
          1. Understanding key frames
          2. Adding and configuring an animation
        3. Using the animation library
        4. Animating with the HTML5 <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>canvas</em></span> element element
        5. Objective summary
        6. Objective review
      3. Objective 4.3: Create custom controls
        1. Understanding how existing controls work
        2. Creating a custom control
          1. Binding to custom controls with <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>data-win-bind</em></span>
          2. Adding documentation
        3. Extending controls
          1. Changing the prototype on a control
          2. Deriving from an existing control
        4. Objective summary
        5. Objective review
      4. Objective 4.4: Design apps for globalization and localization
        1. Planning for globalization
        2. Localizing your app
          1. String data
          2. Images
          3. Dates and times
          4. Numbers and currencies
          5. Calendars
        3. Localizing your manifest
        4. Using the Multilingual App Toolkit
        5. Objective summary
        6. Objective review
      5. Chapter summary
      6. Answers
        1. Objective 4.1: Thought experiment
        2. Objective 4.1: Review
        3. Objective 4.2: Thought experiment
        4. Objective 4.2: Review
        5. Objective 4.3: Thought experiment
        6. Objective 4.3: Review
        7. Objective 4.4: Thought experiment
        8. Objective 4.4: Review
    9. 5. Manage data and security
      1. Objective 5.1: Design and implement data caching
        1. Understanding application and user data
        2. Caching application data
          1. Application data APIs
            1. Local storage
            2. Roaming storage
            3. Temporary storage
          2. IndexedDB
          3. Extensible Storage Engine (ESE)
          4. HTML5 Web Storage
        3. Understanding Microsoft rules for using roaming profiles with Windows Store apps
        4. Caching user data
          1. Libraries
          2. SkyDrive
          3. HTML5 File API
          4. HTML5 Application Cache API
          5. External service, server application, third-party database, and cloud storage
        5. Objective summary
        6. Objective review
      2. Objective 5.2: Save and retrieve files from the file system
        1. Using file pickers to save and retrieve files
        2. Accessing files and data programmatically
        3. Working with files, folders, and streams
        4. Setting file extensions and associations
        5. Compressing files to save space
        6. Objective summary
        7. Objective review
      3. Objective 5.3: Secure application data
        1. Introducing the <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>Windows.Security.Cryptography</em></span> namespaces namespaces
        2. Using hash algorithms
        3. Generating random numbers and data
        4. Encrypting messages with MAC algorithms
        5. Using digital signatures
        6. Enrolling and requesting certificates
        7. Protecting your data with the <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>DataProtectionProvider</em></span> class class
        8. Objective summary
        9. Objective review
      4. Chapter summary
      5. Answers
        1. Objective 5.1: Thought experiment
        2. Objective 5.1: Review
        3. Objective 5.2: Thought experiment
        4. Objective 5.2: Review
        5. Objective 5.3: Thought experiment
        6. Objective 5.3: Review
    10. 6. Prepare for a solution deployment
      1. Objective 6.1: Design and implement trial functionality in an app
        1. Choosing the right business model for your app
        2. Exploring the licensing state of your app
        3. Using custom license information
        4. Purchasing an app
        5. Handling errors
        6. Setting up in-app purchases
        7. Retrieving and validating the receipts for your purchases
        8. Objective summary
        9. Objective review
      2. Objective 6.2: Design for error handling
        1. Designing the app so that errors and exceptions never reach the user
        2. Handling promise errors
        3. Handling device capability errors
        4. Objective summary
        5. Objective review
      3. Objective 6.3: Design and implement a test strategy
        1. Understanding functional testing vs. unit testing
          1. Functional testing
            1. Integration testing
            2. Coded UI testing
          2. Unit testing
        2. Implementing a test project for a Windows Store app
        3. Objective summary
        4. Objective review
      4. Objective 6.4: Design a diagnostics and monitoring strategy
        1. Profiling a Windows Store app and collecting performance counters
        2. Using JavaScript analysis tools
          1. Memory Analysis tool
          2. UI Responsiveness Profiler tool
        3. Logging events in a Windows Store app written in JavaScript
          1. Event logging according to the WinJS library
          2. Tracing and event logging for WinMD components
        4. Using the Windows Store reports to improve the quality of your app
        5. Objective summary
        6. Objective review
      5. Chapter summary
      6. Answers
        1. Objective 6.1: Thought experiment
        2. Objective 6.1: Review
        3. Objective 6.2: Thought experiment
        4. Objective 6.2: Review
        5. Objective 6.3: Thought experiment
        6. Objective 6.3: Review
        7. Objective 6.4: Thought experiment
        8. Objective 6.4: Review
    11. A. About the Authors
    12. Index
    13. About the Authors
    14. Special Upgrade Offer
    15. Copyright