As organizations move to the Universal Windows Platform, their developers need to master one of the most complex but powerful user interface technology platforms ever created. Teams using XAML-based user interface
technology typically flounder for months before producing applications that leverage the platform. Some never do - they simply use XAML to spoof older technologies, thereby forfeiting the value of the platform
and miring their organizations in last generation user experiences. Billy Hollis brings together all the concepts developers need most to create compelling, high value applications with the Universal Windows
Platform. For both experience XAML developers and those relatively new to the platform, he helps them build a conceptual skeleton, understand what the platform can do, and how to put all those pieces together to
make users more productive, more easily trained, and more satisfied. Numerous examples will show developers possibilities they have never imagined for their applications.
The overall goal of the class is to equip developers with the essentials to create world-class applications.
The class begins with coverage of the fundamental concepts behind XAML and the Universal Windows Platform, but progresses to intermediate and advanced topics needed for real-world applications. The focus is on capabilities and concepts – what can the platform do and what is the conceptual model that developers need to have to use the platform effectively.
The fundamentals include layout and composition concepts, data binding, detailed syntax of XAML, basic data templates, and using Visual Studio effectively. These concepts are covered in considerable depth, and even the vast majority of experienced XAML developers will benefit by presentation of these topics as a unified conceptual skeleton for all that will follow.
The class then moves to intermediate topics, going into more depth on data templates and list controls, and then adding control templating, styling, and animation. The emphasis of the intermediate section is on using XAML to create applications that help users enter, visualize, and locate the complex data in a modern business application, and provide a modern app experience from a visual perspective.
To use those capabilities, the next stage is a discussion of basic user experience design principles, and a lightweight process for designing next generation user experiences for the Universal Windows platform. This section includes fundamentals of the design guidelines created by Microsoft for the platform.
The last section of the class goes into advanced topics. Useful but rarely known capabilities of visual elements are discussed, and more depth is added on composing elements into highly functional and compelling interfaces. The internals of the XAML object model are discussed, including developing elements and components with dependency properties and attached properties. Architectural considerations are discussed, including essentials for using the most common pattern for data handling, the Model-View-Viewmodel (MVVM) pattern and considerations for creating application shells to dramatically reduce development time for typical complex corporate applications.
The class can significantly reduce the time required for developers to gain the expertise for production quality work in XAML, and help them leverage the technology to produce software applications that are more productive, more intuitive, and contain more business value.
A combination of presentation and many hands-on practice.
This class is for developers targeting the Universal Windows Platform (UWP) as their UI technology stack, XAML as their markup language, and relying on Windows 10 as their user operating system.
5 inspiring days.
for additional information.
- Syntax of XAML
- The UI composition model
- The layout system and how panels work
- The base set of commonly used visual elements
- Application and page navigation model for UWP
- ContentControls and XAML content model
Intermediate XAML Concepts
- Deep dive on panels and layout, Canvas and RelativePanel
- Nesting of panels
- Responsive design techniques
- Advanced techniques for content controls
Working with Data
- Data binding in depth
- Compile time binding
- Binding for responsive interfaces
- Basics of data templates
- Using data templates for data visualization
- Using data templates for hierarchical data
- Advanced data template techniques
- Deep dive on list-oriented controls
- Using SplitView for dynamic menuing
- Semantic Zoom
Graphical elements for visualization and aesthetics
- Brushes: solid, gradient, image-based and other brushes
- Opacity and layering of elements
- Basics of commonly used shapes
- Techniques for using ARGB colors and gradients
Styles, control templates, and related capabilities
- Basics of control templates
- Visual states in control templates
- Using Blend on control templates
- The styling system
- Advanced and custom visual states, and data validation
- Basic animation with transitions
- Writing animations in code
- Basics of transforms
- Transforms common application techniques
- Management of styles
- Themes and skins
- Deep dive on additional useful controls: Pivot, Popup, RichTextBlock, RichEditBox, WebView, InkCanvas
- Asynchronous operations
- Pickers for file management
- When and how to use Blend
- Blend for editing templates
- Blend for working with visual states
- Blend for resource/style management
- Deployment through the Windows Store
- Side loading to deploy apps without the store
- Enterprise stores
- The app manifest
- Deployment limitations
- The dependency property system
- Creation of dependency and attached properties
- Creating controls and components for XAML
- Advanced techniques for default control templates
- Commonly controls that are not present in the UWP control set
- The dispatch system
- Creating your own markup expressions
Architecture of XAML-based Applications
- Architecture of UWP apps
- Leveraging the XAML composition in your architecture
- Navigation shell design and architecture
- Building framework to speed up a team’s development
- URI navigation of views
- Basics of the MVVM pattern and architectural considerations
- Using viewmodels to simplify support of multiple views
- Localization of UWP apps
- Single executables for multiple devices and form factors
UX Design Considerations
- Windows 10 / UWP design guidelines
- Important principles of UI design
- Lightweight design process for developers
- Interaction and navigation patterns
- Designing touch-based interfaces
- Cortana integration for voice interfaces
- Bing Maps integration for geographical applications
- Using device sensors
- Using UWP for other devices, including Xbox and Hololens
- Best practices for UWP development for Visual Studio and Blend
- Moving older XAML apps in WPF or Silverlight to UWP
Nothing planned for the next six months.
Subscribe to the offerings feed