Xamarin Xamarin.Forms Mobile Development DevOps & Automation Prism MVVM .NET MAUI Xamarin Forms - MAUI Mobile Testing Automated Testing
San Diego, California, United States
Dan is a Microsoft/Xamarin MVP, an avid OSS Contributor and Author best known as for his work as a maintainer of the immensely popular Prism Library. He is a Consultant specializing in Cloud, Mobile and DevOps with perhaps one of the most unique backgrounds of any programmer you'll ever meet. He loves to share his passion for developing mobile apps with developers around the world, and is the organizer of the Xamarin Developer Summit.
In those arguably rare moments he's not busy slinging code you may find him out Scuba Diving, Off-Roading or through hiking in the remote wilderness.
Gone are the days of needing to Right-Click-Publish. Mobile DevOps bring certain challenges not faced by desktop and web. Learn about the best practices for Mobile DevOps and explore how to set up your own CI/CD pipelines with Azure DevOps and App Center.
Have you ever wanted to have a dynamic onboarding experience, load content into a Carousel one view at a time, or reuse the same View component across multiple pages in your app? You can't afford to miss this talk as you learn about Prism 8's powerful new Regions API for Xamarin.Forms! One thing is sure, once you start using Regions, you'll wonder how you ever built an app without them.
In this talk we'll discuss how you can build more modular UI's that allow you to dynamically change the content on your pages, share UI components across multiple pages while maintaining a friendly MVVM design pattern and reducing code duplication.
Prism has been a fan favorite within the WPF community for well over a decade. From mission critical emergency services to financial services, there isn't an industry that hasn't benefited from helping developers deliver highly modular, highly testable, apps that are easier to maintain. In this talk we'll look at how you can now use the tried and true Prism Library to build your apps with Uno Platform and reach target platforms like iOS, Android, macOS, UWP, Linux, Web Assembly and more!
You'll get to learn how Prism for Uno Platform will help you:
- Write modular apps
- Apply the MVVM Design pattern to your Uno Platform app
- Add custom Dialogs
- Use Prism's RegionManager to build dynamic experiences
Building apps can be hard. So much energy is poured into "Hello World". It leaves any reasonable developer confused and wondering how do you build a real app? As a long time consultant I've worked on a lot of projects, seen a lot of mistakes and even made plenty of my own along the way. Leave the sample apps on GitHub, we'll be learning how to build real apps that are Enterprise ready.
In this session we will discuss how I actually build my apps. We'll look at how I structure my projects, considerations and recommendations I have for those on teams small and large alike. Next we'll look at the tools and processes I use to go from an app a developer can test from Visual Studio to an app a Stakeholder can install on their device. Finally we'll look at common Open Source libraries I lean on to write and maintain less code. As a bonus you will see how to leverage the power of Dependency Injection, Unit Tests and UI Testing to ensure consistent quality deliverables.
MVVM often gets tossed around as one of those buzz words. Too often the fear of a "Heavy Framework" leads developers down bad paths or into "rolling their own". While you may hear leading developers talk about the need to use MVVM in your apps, it can be hard trying to figure out where to start. How do you link your View and your ViewModel? How do you handle Events? How do you write code that is testable? What happens when there is a bug? We'll see how Dependency Injection patterns with a proper MVVM framework like Prism will help us write loosely coupled, highly testable code bases that are consistently reliable for the Enterprise and beyond.
Developing Xamarin Apps can be challenging. But what do you do once you've developed something locally. How do we handle tasks like ensuring that our codebases remain free of sensitive information like app secrets and client id's? How can we efficiently build apps that are aware of the runtime environment they need to work with for Dev/QA/Prod without hard coding everything in our repo?
In this talk we'll look at common security issues as well as how we can leverage resources like App Center and Azure DevOps to help us validate our PR's, and move our app from Dev to QA and finally to Production.
Developing apps can be hard, there's a lot to learn to start developing apps. When working in Enterprise or Team environments though the complexities just start compounding. How do you reuse components from one app to the next? How can you have multiple developers or teams working on an app without constantly running into Merge Conflicts? We'll look at how you can harness the tremendous code sharing power of Xamarin.Forms together with Prism to architect beautiful and loosely coupled apps that are Enterprise Ready.
We've all been there, the entire Senior staff clears their Friday, Saturday, and probably Sunday for the "Monthly Deployment". It all went wrong... now what do we do? Perhaps you've heard how DevOps is the solution but how does it all work?
In this talk we'll look at some Open Source projects and how DevOps help them to provide consistent updates with instant feedback on whether a PR may be "Safe" to merge. We'll then take what we've learned to build on our knowledge and see how we can apply this to our internal Support Libraries, Web, Desktop and Mobile solutions.
DevOps can be intimidating, but it doesn't have to be. In this talk we'll look at how we can utilize tools in the Xamarin ecosystem to supercharge our build pipelines:
- Minimize work for App Icons / Image Resources
- Customize builds for Environments
- White Label apps
- Ensure testability on PRs
- Deploy to Internal Testers
- Deployment gates for builds to go to Google Play / App Store
- And more...
Depending on when this session is presented and time allotments we may show live builds, setting up UI Tests, use of Mobile.BuildTools, and some custom IDE tooling in development.