We're starting up a series of articles exploring the modern Xamarin ecosystem and essential tools for making successful mobile apps.
Mobile is hard. Developers have been building for mobile form factors for years now - yet mobile strategy and choice of technology stack continues to be heavily debated. While there are justifications to build specifically for chosen mobile platforms, developers are increasingly choosing to build cross-platform mobile apps from a single code base. Thankfully, irrespective of the technology stack, developer tooling is fairly mature now. Top-notch SDKs, choice of IDEs, deployment options and access to native APIs should help most developers choose to build for mobile the way they want to.
Mobile apps also do not live in silos. The desired continuity of user experience is often best served by cloud infrastructure - public, private or hybrid. No matter what be the technology choice, it is easy to augment mobile apps with features that only the cloud can provide. Mobile app lifecycles are complicated as well - and cloud based BaaS architectures and DevOps stories can alleviate much developer frustration. The mobile app landscape is also fiercely competitive and developers will want to do everything possible to keep their users engaged. This often means making mobile apps more intelligent and plain fun to use. So the bottom line is - mobile developers need a ton of ammunition to be successful.
Cross-platform mobile development has largely been democratized for .NET developers – thanks to Xamarin. If choosing the Xamarin technology stack, you're coming into a rich developer ecosystem with polished tools and services. However, professional Xamarin development isn't a piece of cake - there is a lot one has to do to be successful. Let's do a run down of the most common tools, services and techniques that Xamarin developers should be using to fall into the pit of success.
This post is a placeholder for a series of articles aimed at understanding the Xamarin ecosystem better and knowing the essentials that make your app awesome. The list below will light up with links as content is published... here goes:
- Why Xamarin - Mobile Strategies | Understand the .NET Ecosystem
- Against Competition - Xamarin vs Flutter | Xamarin vs JS Native
- Xamarin Platform Reach - Mobile | Desktop | UWP | Wearables | Web
- Essential Tools - IDEs | Developer Utilities | MVVM Frameworks | Polished UI
- App Building Blocks - NuGet | Components | Xamarin Essentials
- App Templates - Visual Studio | MVVM | Common Screens
- UI Stack - State of XAML | Visual Tree with C#
- Blazor Love - Mobile Bindings | Custom Controls with Blazor Bindings
- Dual Screens - UX Paradigms | Xamarin for Surface Duo
- Deployment Tools - Previewer | Simulators | Hot Reload | Hot Restart | Devices
- Platform Hotness - Xamarin.Forms 4.x | Xamarin.Forms 5.0
- Cloud Data - Azure | Kinvey | AWS
- Cloud BaaS - Authentication | Push Notifications | Offline sync | Elasticity
- Serverless - Mobile specific workflows | Azure Functions | Amazon Lambdas
- App Intelligence - Cognitive Services | Vision | QnA Maker | NLP/Luis
- Real Time Apps - SignalR web backend | Xamarin SignalR client
- App Conversations - ChatBots | Bot Framework | Azure Bot Service | Integrations
- Network Stack - What's Fiddler | Fiddler for Xamarin Devs
- DevOps - VS App Center | Test Cloud | App Analytics
- Design Patterns - MVVM vs MVU
- .NET MAUI - Evolution of Xamarin.Forms | C# Visual Tree
With the modern Xamarin technology stack, your code goes places and developers have all the ammunition to light up engaging app features. Let’s recap the ecosystem, understand tools, glimpse into the future and equip ourselves to build amazing mobile apps.
Cheers to success!