Skip to content
Matthew Leibowitz edited this page Apr 25, 2019 · 11 revisions

Welcome to the Tic-Tac-Toe Workshops!

This is going to be a short, 2-day workshop that helps you get started creating your first real Xamarin app using Xamarin.Forms and .NET.

  1. Preparation
    Get started with a new GitHub repository and an App Center CI pipeline.
  2. First Page
    First look at creating screens with XAML and XAML properties.
  3. Talking with Code
    See how the XAML screen can talk to the code and how the code can interact with the screen.
  4. Styles
    Learn how to change the appearance and behavior of controls from XAML using different types of styles and resources.
  5. Custom Fonts
    Discover how to use custom fonts and how to handle when each platform needs something different.
  6. Advanced Views
    See how to make complex screens through the use of custom controls and layouts, and, work with design-time data.
  7. Navigation
    Have a look at using multiple pages in apps, and ways to get to them.
  8. Animations
    Find ways to make the user experience more fluid with various types of animations and transitions.
  9. Data Binding
    Use data binding to separate view design and business logic.
  10. Advanced Data Binding
    Learn about more advanced data binding concepts, such as command parameters, nested properties and value converters.
  11. Completing the Game
    Add polish to to the game by adding endgame detection, colors and improved navigation.
  12. Analytics
    Improve the feedback from the app by adding crash reporting, error logging and event tracking using the App Center SDK.
  13. Cloud Data with Cosmos DB
    Make use of the Azure Cosmos DB platform to store data generated by the game, and then use that data to improve the user experience.
  14. Local Data with SQLite
    Discover what is required to make use of a local SQLite database on the device to store game information.
  15. Offline Sync and Xamarin.Essentials
    Use Xamarin.Essentials to detect when the internet is not available and then decide when to use a local database or the cloud database, and then make sure the local data gets pushed to the cloud when the internet connection returns.
  16. Dependency Injection
    Make use of dependency injection services to access instances of objects.
  17. Location Services
    Use the GPS and mapping services to enhance the data from the user.