As my current MCSD - Store Apps (Win 8.1) certification will expire at the end of August I started looking at the next step MCSD - Universal Windows Platform certification.
I quickly passed the first one MS 70-354 but then I got stuck at the second and more difficult one - MS 70-355.
Not only the syllabus for the exam is way more extensive, but the lack of an official study guide makes it hard to study for it.
So I’ve attempted to dissect the skills measured section, broke it down 3 level deep down to the base topic for each chapter, and provide links to documentation for each section (where’ there’s a missing link, I did not find any relevant official documentation on that particular topic. I will update the post as I find them)
Skills measured
1. Recognize and apply a specified design pattern
- Describe the relationship between architecture, design pattern, and framework
- Recognize common architectures and when they should be used
- Recognize common design patterns and when a pattern can be applied to make programming tasks faster and easier
- Describe traditional Microsoft .NET design patterns
- Describe the Gang of Four design patterns, including creational patterns, structural patterns, and behavioral patterns
- Describe 3-tier/N-tier patterns
- Describe enterprise patterns
- Describe cloud design patterns
- Describe head first patterns
- Describe repository patterns (service locator, trusted façade, MVC)
- Describe unit of work patterns
- Apply the Model-View-ViewModel (MVVM) Prism pattern
Develop app and business logic, code that interfaces with other line-of-business (LOB) apps, and LOB Server Services (AD, SP)
- Develop code for app-specific processes and computations
- Create an asynchronous method or process managing the return value from an asynchronous method debugging and error handling for an asynchronous method
- Develop storyboards and custom animations for an object
- Represent 3-D models as code objects, manage 2-D projections of 3-D objects
- use Task, ThreadPool, and background transfers
- Implement background tasks Index
- Create and register a background task
- set and respond to triggers
- debug a background task
- implement a lock screen app
- share data/events between an app and its background tasks
- directly calling a background task
- Manage app lifecycle events
- Prepare for suspension, resume from suspension or termination
- implement an extended splash screen
- extend execution and monitor suspension errors
- Implement interactions with other apps
- Integrate a share contract to share content with another app
- integrate contact and appointment functionality
- implement mapping and navigation (geolocation, geofencing, and Bing Maps)
- exchange data/file between apps, including launch for result
- use drag and drop
- Implement notifications and Windows Push Notification Services (WNS)
- Implement and manage notifications
- Support Live Tile updates, including toasts and badges
- Support Action Center
- Support Secondary tiles
- Implement interactions with devices
- Develop code for camera and microphone, including photo, video, and audio index
- Implement screen capture
- Implement printing and Play To
- Integrate HoloLens sensors and services
- Support wireless communication
- Develop class libraries (code libraries, DLLs)
- Naming assemblies, namespaces, types, and members in class libraries
- using static and abstract classes, interfaces, enumerations, structures, and other types
- designing and using properties, methods, constructors, fields, events, operators, and parameters
- implementing extensibility mechanisms such as subclassing, using events, virtual members, and callbacks
- designing, throwing, and catching exceptions
Develop code for implementing secure cloud data services and storage
- Design and implement data roaming
- Roaming user settings and preferences, roaming app session info
- Design and implement a RESTful data solution (oData, JSON)
- Using the ASP.NET Web API
- Implementing JSON serialization
- Adding a service reference to the project
- Using Windows.Web.Http.HttpClient objects
- Design and implement Azure and cloud data sources Index
- Implement offline data sync
- Implement caching
- Support OneDrive integration
- Implement file access and management (including File Picker and file access APIs)
- Upload images to Azure Storage
- Integrate Azure data services
- References in a following chapter
- Design and implement removable and embedded local data sources
Develop code to implement authentication and business security requirements
- Implement code to manage authentication and identity
- Web authentication broker
- Azure authentication
- implement code to manage identity
- implement biometric identity verification, including Windows Hello
- implement Credential Locker, implement single sign-on
- Implement code to manage authorization and access to resources
- Implement authentication requests
- authorize users and apps
- manage authorization IDs
- restrict access to resources, including data, files, folders, and devices
- Implement cryptography within an app
- Create cryptographic keys
- Hash and sign content
- Create message authentication codes
- Encrypt and decrypt data
- Support enterprise security considerations
WindowsPrincipal
Impersonating- Implement security transparency
- Implement code access security
- Implement role-based security
Integrate cloud services and Azure App Service services
!!! The Mobile Services product that is referenced in the syllabus is now obsolete, replaced by the new Azure Mobile Apps component.
[Obsolete]Mobile Services documentation
Azure Mobile Apps documentation
- Build native and cross-platform apps using services
- Integrate Azure App Service mobile app functionality within an existing mobile app
- Use a .NET client with Mobile Services
- [Obsolete] Get started with Mobile Services
- Call a custom API from a client
- Connect to your enterprise systems using services
- Build a service that uses an existing SQL database
- [Obsolete] Using existing SQL database
- Connect to an on-premises SQL Server from an Azure mobile service using hybrid connections
- Scale mobile services backed by Azure SQL database
- [Obsolete] Connect to SQL database
- Authenticate your app with Active Directory Authentication Library single sign-on
- Add role-based access control to mobile services with Azure Active Directory
- Access Microsoft SharePoint on behalf of the user
- Schedule backend jobs in mobile services
- [Obsolete]Mobile services recurring tasks
- Troubleshoot a mobile services .NET backend
- Build a service that uses an existing SQL database
- Connect to SaaS APIs using services
- Implement single sign-on using credentials from third-party identity providers
- Build a service that uses MongoDB as a data store
- Build offline-ready apps with sync using services
- Allow employees to work offline when connectivity is not available
- Synchronize with your enterprise backend systems when devices comes back online
- [Obsolete] Offline Data
- Offline Data
- Recover in the event of a disaster
- [Obsolete] Disaster recovery
- Push notifications to users using services
- Add push notifications to your app
- [Obsolete]Push notifications
- Push notifications
- Send push notifications to authenticated users
- Add push notifications to your app
Develop code that is maintainable and that supports app versioning, compatibility, and coexistence
- Develop code using version control (TFVC or Git)
- Develop code using a standardized coding convention
- Implement best practices for assembly versioning
- Implement best practices for assemblies and side-by-side execution
- Use strong-named assemblies
- Including version, culture, and publisher
- Use the GAC to provide version-aware storage
- Create an app that runs in isolation
- Implement best practices for assembly placement and the GAC
- Using an app configuration file
- Using codebases
- Providing a binding context