Get to know .NET MAUI, successor to Xamarin
- September 28
- 8 min
.NET is Microsoft’s developer platform for building web, desktop, cloud, and mobile applications with languages such as C#, F#, and Visual Basic.
Choosing a software stack shapes hiring, hosting cost, release cadence, and how easily you can extend the product later. Teams ask whether .NET still earns a place on that shortlist, especially with .NET Framework in maintenance and modern .NET running cross platform. This article maps what .NET is today, how .NET Framework relates to modern .NET, where the platform fits common project types, and which advantages and limits show up in production. You get a single narrative you can use in a technical review or vendor conversation.
Key Takeaways
.NET is a free, open source developer platform for building many application types on Windows, Linux, macOS, and in the cloud. According to Microsoft’s overview of .NET, the ecosystem includes compilers, runtimes, libraries, and tooling that share a common intermediate language. C# is the most widely used language on the platform, with F# and Visual Basic as fully supported alternatives.
Microsoft launched .NET Framework and Visual Studio .NET in February 2002 after several years of development that started in the late 1990s. Early adopters such as GoDaddy and Dell used the stack for web applications before broader market attention picked up around 2007. Today the name .NET covers both the original Windows framework and the cross platform runtime that replaced .NET Core from version 5 onward.
Teams use .NET software development for web APIs, desktop clients, mobile apps through .NET MAUI, games with Unity, IoT firmware, and cloud native services. The same language skills transfer across those shapes when you stay inside the shared base libraries and tooling.
.NET Framework was Microsoft’s first shipping implementation. It targets Windows and ships with a large set of Windows specific APIs for desktop and server workloads. Its first release arrived in 2002. The last major version in that product line, .NET Framework 4.8, shipped on April 18, 2019 and remains in maintenance for applications that still depend on it.
Modern .NET, previously called .NET Core, is the cross platform, open source implementation Microsoft uses for new feature work. It runs on Windows, Linux, and macOS and shares much of the base library surface with .NET Framework through .NET Standard. From .NET 5 onward Microsoft dropped the Core name and treats .NET as one product line with an annual release cadence.
Existing .NET Framework applications can stay on Windows while new services and greenfield products move to modern .NET. Porting guides on Microsoft Learn describe which APIs moved cleanly and which Windows only dependencies need replacements. Many teams run both stacks in parallel during a multi year migration.
At the core of .NET Framework sit two components described in Microsoft’s architecture documentation: the Common Language Runtime (CLR) and the Framework Class Library (FCL). The CLR executes compiled assemblies, manages memory through garbage collection, enforces type safety, and handles threads and exceptions. The FCL supplies reusable types for file access, networking, XML, collections, and web programming.
Source code in C#, F#, or Visual Basic compiles to Common Intermediate Language stored in assemblies. At runtime the CLR just in time compiles that IL to native instructions for the host CPU. That pipeline lets multiple languages call the same libraries without rewriting them for each language front end.
Windows desktop teams still rely on .NET Framework for WinForms and WPF applications tied to Windows APIs. Web teams on Framework use ASP.NET Web Forms or MVC where legacy hosting constraints apply. New desktop and web work on Windows increasingly targets modern .NET instead, especially when Linux or container hosting enters the picture.
.NET Core enables teams to build and run the same project on Windows, Linux, and macOS from one codebase. Microsoft ships ASP.NET Core for web APIs and sites, worker services for background jobs, and .NET MAUI for cross platform client apps. NuGet supplies third party libraries, and the CLI supports local builds and CI pipelines without requiring Visual Studio on the build agent.
Modern .NET includes ASP.NET Core and tooling for containerized deployment. Docker images published by Microsoft fit Kubernetes and Azure Container Apps workflows. Universal Windows Platform apps remain on the Windows specific track, while most new cloud and API work standardizes on ASP.NET Core and minimal APIs for smaller services.
According to Microsoft’s official .NET overview, the NuGet gallery hosts over 300,000 packages and the open source community has contributed more than 100,000 changes to the platform repositories. That scale matters when you evaluate library coverage for integrations, auth, messaging, and data access.
.NET fits projects where you want strongly typed languages, mature IDE support, and long term vendor backing from Microsoft. C# is the default choice for new application code because hiring pools, library samples, and documentation skew heavily toward it. F# suits data oriented and functional workloads. Visual Basic remains available for teams with existing VB skills.
Microservices and web APIs. ASP.NET Core handles high throughput HTTP services with built in dependency injection, configuration, and middleware. Teams running many small services benefit from consistent hosting models and shared observability hooks.
Line of business and enterprise integrations. .NET connects cleanly to SQL Server, Azure services, Active Directory, and Microsoft 365 APIs. Organizations already standardized on Azure often pick .NET to reduce friction between application code and cloud resources.
Cross platform server and container workloads. Modern .NET runs Linux containers in production while developers use Windows or macOS locally. Docker plus .NET supports modular deployment when you outgrow a single monolith.
Desktop and internal tools. WPF and WinForms on .NET Framework still carry legacy ERP and operations tools. New cross platform desktop apps can target .NET MAUI or web hybrid shells backed by ASP.NET Core APIs.
According to Microsoft’s language independence documentation, components built in one .NET language can expose libraries consumed from others through the Common Language Specification. First class Microsoft support covers C#, F#, and Visual Basic, while additional CLI compatible languages compile to the same runtime when teams need them.
Azure and .NET share tooling in Visual Studio and GitHub Actions templates published by Microsoft. Azure App Service, Azure Functions, and Azure Kubernetes Service all host .NET workloads with first party diagnostics. Azure DevOps and GitHub provide pipelines that build, test, and deploy .NET solutions with minimal custom scripting.
Managed identity, Key Vault integration, and Application Insights map directly onto ASP.NET Core configuration patterns. Teams that already pay for Visual Studio subscriptions often reuse included Azure credits for dev and test environments. Production cost still depends on instance sizing, storage, and egress, so cloud math belongs in the same review as framework choice.
Security work starts in the application layer with authentication, authorization, and secret storage. ASP.NET Core middleware enforces HTTPS, role policies, and API keys in a predictable pipeline. Azure Key Vault and managed identity reduce hard coded connection strings when you deploy to Microsoft cloud.
Scaling follows the same patterns as other web stacks: horizontal replicas behind a load balancer, cached reads, and asynchronous I/O for database calls. .NET supports both vertical scaling on larger VMs and container orchestration when traffic grows beyond a single node. Application Insights and OpenTelemetry exporters integrate with the runtime for latency and error tracking.
Database centric applications use Entity Framework Core to map tables to objects, which speeds CRUD features and keeps schema changes in migrations. Teams with heavy reporting workloads often combine EF for writes with raw SQL or materialized views for read models.
.NET earns a place when your roadmap includes Windows integrations, Azure hosting, or long lived business applications that benefit from static typing and mature tooling. Product companies gain predictable release trains through Microsoft’s annual .NET versions and monthly patch Tuesdays. Internal IT groups gain a single stack for portals, APIs, and desktop utilities that share authentication and logging.
The platform also supports incremental modernization. Teams can extract APIs from a .NET Framework monolith, host them on Linux containers, and leave legacy UI on Windows until a replacement screen is ready. Shared libraries packaged as .NET Standard assemblies reduce duplicate business rules during that transition.
Partnering with a team that ships .NET in production reduces ramp up risk. At Hicron Software we build and migrate .NET applications for clients who need architecture review, cloud deployment, or integration with ERP and line of business systems. You can review a .NET case study or explore C# development services when you want an external delivery team on the same stack.
Yes for teams that want Microsoft backed tooling, strong typing, and Azure integration. Modern .NET receives active feature releases, while .NET Framework remains supported for existing Windows applications.
Choose .NET when you prioritize integration with Microsoft cloud and identity, need cross platform server containers with C#, or maintain a portfolio of Windows and web applications that already run on the stack.
Microsoft documents first class support for C#, F#, and Visual Basic. Other languages can target the CLI when compilers produce compatible assemblies.
According to Microsoft, the .NET runtime and SDK carry no licensing fees for commercial applications. Visual Studio subscriptions and cloud hosting are separate line items.
.NET Framework is the original Windows implementation shipped since 2002. Modern .NET is the cross platform successor formerly named .NET Core. New projects should target modern .NET unless a legacy dependency requires .NET Framework.