You are previewing Exam Ref 70-484: Essentials of Developing Windows Store Apps Using C#.
O'Reilly logo
Exam Ref 70-484: Essentials of Developing Windows Store Apps Using C#

Book Description

Prepare for Microsoft Exam 70-484—and help demonstrate your real-world mastery of programming Windows Store apps using C#. Designed for experienced software 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:

  • Design Windows Store Apps

  • Develop Windows Store Apps

  • Create the User Interface

  • Program the User Interaction

  • Manage Security and Data

  • This Microsoft Exam Ref:

  • Organizes its coverage by exam objectives.

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

  • Table of Contents

    1. Exam Ref 70-484: Essentials of Developing Windows Store Apps Using C#
    2. Dedication
    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. Design Windows Store apps
      1. Objective 1.1: Design the UI layout and structure
        1. Evaluating the conceptual design and deciding how the UI will be composed
          1. Decide which features will make your app great
          2. Assess user scenarios
          3. Decide on your app’s features
          4. Design a great user interface for your app
        2. Designing for the inheritance and reuse of visual elements
        3. Designing for accessibility
        4. Deciding when custom controls are needed
        5. Objective summary
        6. Objective review
      2. Objective 1.2: Design for separation of concerns (SOC)
        1. Planning the logical layers of your solution to meet app requirements
        2. Designing loosely coupled layers
        3. Incorporating WinMD components
        4. Objective summary
        5. Objective review
      3. Objective 1.3: Apply the MVVM pattern to your app design
        1. Designing and implementing the appropriate data model to support business entities
          1. Model-View-ViewModel pattern
            1. The View
            2. The Viewmodel
            3. The Model
          2. Data binding
          3. Design and implement the model
        2. Designing a viewmodel to support the view based on your model
        3. Developing a view to meet data-binding requirements
        4. Creating viewmodels using NotifyPropertyChanged, ObservableCollection, and CollectionViewSource
        5. Objective summary
        6. Objective review
      4. Objective 1.4: Design and implement Process Lifetime Management (PLM)
        1. Choosing a state management strategy
        2. Handling the Suspending event and preparing for app termination
        3. Handling the Resuming event
        4. Handling the OnActivated events
        5. Checking the ActivationKind and previous state
        6. Objective summary
        7. Objective review
      5. Objective 1.5: Plan for an app deployment
        1. Planning a deployment based on Windows Store app certification requirements
        2. Preparing an application manifest
        3. Signing an application
        4. Planning the requirements for an enterprise deployment
        5. Objective summary
        6. Objective review
      6. Chapter summary
      7. 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
        7. Objective 1.4: Thought experiment
        8. Objective 1.4: Review
        9. Objective 1.5: Thought experiment
        10. Objective 1.5: Review
    6. 2. Develop Windows Store apps
      1. Objective 2.1: Access and display contacts
        1. Calling the ContactPicker class
        2. Filtering which contacts to display
        3. Selecting specific contact data
        4. Displaying a set number of contacts
        5. Creating and modifying contact information
        6. Objective summary
        7. Objective review
      2. Objective 2.2: Design for charms and contracts
        1. Choosing the appropriate charm based on app requirements
        2. Designing your app in a charm-aware and contract-aware manner
          1. Design guidelines for the Search charm
          2. Design guidelines for the Share charm
          3. Design guidelines for the Settings charm
        3. Configuring the app manifest for correct permissions
        4. Objective summary
        5. Objective review
      3. Objective 2.3: Implement search
        1. Providing and constraining search within an app
        2. Providing search result previews
        3. Providing search suggestions using the SearchPane class
        4. Implementing activation from within search
        5. Searching for and launching other apps
        6. Objective summary
        7. Objective review
      4. Objective 2.4: Implement Share in an app
        1. Using the DataTransferManager class to share data with other apps
        2. Accepting sharing requests by implementing activation within the Share charm
        3. Limiting the scope of sharing using the DataPackage object
        4. Implementing in-app share outside the Share charm
        5. Objective summary
        6. Objective review
      5. Objective 2.5: Manage app settings and preferences
        1. Choosing which app features are accessed in AppSettings
        2. Adding entry points for AppSettings in the Settings window
        3. Creating settings flyouts using the Popup control
        4. Adding settings to Popup
        5. Storing and retrieving settings from the roaming app data store
        6. Objective summary
        7. Objective review
      6. Chapter summary
      7. 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. Objective 2.4: Thought experiment
        8. Objective 2.4: Review
        9. Objective 2.5: Thought experiment
        10. Objective 2.5: Review
    7. 3. Create the user interface
      1. Objective 3.1: Create layout aware apps to handle view states
        1. Handling view state events from ViewStateManager
        2. Choosing between style patterns for different view states
        3. Setting up app orientation in the manifest
        4. Objective summary
        5. Objective review
      2. Objective 3.2: Implement layout controls
        1. Implementing the Grid control to structure the app layout
        2. Setting the number of rows/columns and size
        3. Enabling scroll and zoom capabilities in layout controls
        4. Managing text flow and presentation
        5. Objective summary
        6. Objective review
      3. Objective 3.3: Design and implement the app bar
        1. Determining what to put on the app bar based on app requirements
        2. Designing the placement of controls on the app bar
        3. Styling and positioning app bar items
        4. Handling AppBar events
        5. Objective summary
        6. Objective review
      4. Objective 3.4: Design and implement data presentation
        1. Choosing and implementing data controls to meet app requirements
          1. The GridView control
          2. The ListView control
          3. The FlipView control
        2. Creating data templates to meet app requirements
        3. Objective summary
        4. Objective review
      5. Objective 3.5: Create and manage XAML styles and templates
        1. Implementing and extending styles and templates
        2. Implementing gradients
        3. Modifying styles based on event and property triggers
        4. Creating shared resources and themes
        5. Objective summary
        6. Objective review
      6. Chapter summary
      7. 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
        7. Objective 3.4: Thought experiment
        8. Objective 3.4: Review
        9. Objective 3.5: Thought experiment
        10. Objective 3.5: Review
    8. 4. Program the user interaction
      1. Objective 4.1: Create and manage tiles
        1. Creating and updating tiles and tile contents
          1. Working with primary tiles
          2. Working with secondary tiles
        2. Creating and updating badges using the TileUpdateManager class
        3. Responding to notification requests
          1. Configuring tile and badge updates for the lock screen
          2. Using PC Settings to remove an app from the lock screen
        4. Choosing an appropriate tile update schedule based on app requirements
        5. Objective summary
        6. Objective review
      2. Objective 4.2: Notify users by using toast
        1. Enabling an app for toast notifications
        2. Populating toast notifications with images and text using the ToastUpdateManager class
        3. Controlling toast duration
        4. Playing sounds with toast notifications
        5. Responding to toast events
        6. Objective summary
        7. Objective review
      3. Objective 4.3: Manage input devices
        1. Capturing gesture library events
          1. Pointer events
          2. Gesture events
          3. Manipulation events
        2. Creating custom gesture recognizers
        3. Listening to mouse events or touch gestures
        4. Managing stylus input and inking
        5. Objective summary
        6. Objective review
      4. Objective 4.4: Design and implement navigation in an app
        1. Designing navigation to meet app requirements
        2. Working with navigation events, properties, and functions
        3. Using Semantic Zoom in your app
        4. Objective summary
        5. 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 security and data
      1. Objective 5.1: Choose an appropriate data access strategy
        1. Choosing the appropriate data access strategy based on app requirements
          1. Local application data
          2. Roaming application data
          3. Temporary application data
        2. Managing application data
          1. Local and remote files
          2. File pickers
          3. Most recently used and future access lists
        3. Storing and retrieving data from a remote location
        4. Objective summary
        5. Objective review
      2. Objective 5.2: Retrieve data remotely
        1. Using HttpClient to retrieve data from web services
        2. Setting the appropriate HTTP verb for REST
        3. Consuming SOAP/WCF services
        4. Using WebSockets for bidirectional communication
        5. Handling the progress of data requests
        6. Objective summary
        7. Objective review
      3. Objective 5.3: Implement data binding
        1. Choosing and implementing data-bound controls
        2. Binding collections to items controls
        3. Implementing the IValueConverter interface
        4. Creating and setting dependency properties
        5. Validating user input
        6. Enabling data filtering, grouping, and sorting in the user interface
        7. Objective summary
        8. Objective review
      4. Objective 5.4: Manage Windows Authentication
        1. Retrieving a user’s roles and claims
        2. Storing and retrieving credentials with the PasswordVault class
        3. Implementing the CredentialPicker class
        4. Objective summary
        5. Objective review
      5. Objective 5.5: Manage web authentication
        1. Using the Windows.Security.Authentication.Web namespace
        2. Implementing the WebAuthenticationBroker class
        3. Setting up OAuth2 for authentication
        4. Setting up single sign-on (SSO)
        5. Implementing the CredentialPicker class
        6. Implementing credential roaming
        7. Objective summary
        8. Objective review
      6. Chapter summary
      7. 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
        7. Objective 5.4: Thought experiment
        8. Objective 5.4: Review
        9. Objective 5.5: Thought experiment
        10. Objective 5.5: Review
    10. A. About the Author
    11. Index
    12. About the Author
    13. Copyright