.NET 8 and all its components are now one month from general availability as Microsoft shipped the second and final release candidates for the framework and the associated NET MAUI, ASP.NET Core and EF8.
At this point, the code is pretty much set as the dev team focused primarily on getting things into final shape for GA by refining features and fixing bugs rather than introducing major new features.
With that said, here's how Microsoft described the RC2s for its developer tooling offerings.
".NET 8 RC2 is now available," Microsoft announced today, Oct. 10. "This is our last release candidate. This release includes new NuGet package READMEs for .NET packages, simple CLI-based project evaluation for MSBuild, publishing containers to tar.gz archives, and Tensor Primitives for .NET."
Highlights of the announcement post include:
- NuGet package READMEs for .NET packages are introduced to provide important information to users and help them quickly understand what a library is and what it does. This is part of the dev team's effort to increase the adoption and quality of NuGet package READMEs.
- MSBuild has a new new, simple CLI-based project evaluation feature that makes it easier to incorporate data from MSBuild into scripts or tools using the
--getTargetResultflags in order to facilitate project analysis.
- The SDK Container Publish tooling has a new capability to create a container directly as a tar.gz archive, which can be useful for workflows that require scanning or moving the image before pushing it, thu expanding available deployment options.
- Introduction of Tensor Primitives for .NET, enhancing support for machine learning and data science operations. Tensor Primitives is a new set of APIs that introduce support for tensor operations, which are essential for AI and machine learning workloads. It provides vectorized implementations for operations like cosine similarity, dot product, matrix multiplication and more.
"Today, we take one step closer to .NET 8 general availability (GA) by shipping .NET MAUI in .NET 8 release candidate 2 (RC2)," Microsoft said. "As with RC1, this release is covered by a go-live license so you can receive support when using it in your production applications. In this release we have focused on issues that regressed throughout the previews, and regaining some performance that was lost as we improved the reliability of hot reload, visual state manager, bindings, and app themes."
Microsoft calls this framework the evolution of Xamarin.Forms because it lets devs create desktop apps in addition to traditional iOS and Android mobile targets. It has experienced development problems, and Microsoft-centric developers are watching it closely following recent news that Microsoft was killing Visual Studio for Mac, which experienced its own serious development problems. In fact, Microsoft sought to placate any sunsetting fears, as detailed in the Visual Studio Magazine article, "After Killing Visual Studio for Mac, Microsoft Reassures Fearful .NET MAUI Devs."
Highlights of the announcement post include:
- .NET MAUI is covered by a go-live license and has no breaking API changes from .NET 7.
- Several optimizations were made to boost performance of of
ActivityExtensions.GetWindowFrameon Android, and "Setter Specificity."
- The team fixed several issues related to UI elements and controls to improve consistency and visual accuracy across platforms.
- Platform-specific fixes were enacted targeting drag-and-drop functionality, tab bar appearance and certain platform behaviors for a consistent user experience across platforms.
- Microsoft shipped a service release 8 (version 7.0.96) for .NET 7 with high-priority fixes.
- Xamarin developers can use Xcode 15 and Android API 34 with Visual Studio 17.8 Preview 3 or the latest stable version of Visual Studio for Mac.
For .NET 8, Microsoft introduced an important new concept for Blazor, the ability to provide a full-stack Web UI. The company said with the release of .NET 8, Blazor is a full-stack web UI framework for developing apps that render content at either the component or page level with:
- Static server rendering to generate static HTML.
- Interactive server rendering using the Blazor Server hosting model.
- Interactive client rendering using the Blazor WebAssembly hosting model.
- Automatic interactive client rendering using Blazor Server initially and then WebAssembly on subsequent visits after the Blazor bundle is downloaded and the .NET WebAssembly runtime activates. Automatic rendering usually provides the fastest app startup experience.
Highlights of the announcement post include:
- HTTP logging middleware has new capabilities such as duration logging, combined logs and custom interceptors.
- IdentityModel libraries have been updated to version 7x, which improves performance, consistency and Native AOT compatibility.
- Form binding for minimal APIs and Blazor now supports types with
- SignalR TypeScript client now supports stateful reconnect, which reduces the downtime of clients with temporary network issues.
- Blazor Web App template has new options to enable interactive render mode globally or per page, and to use Blazor identity UI.
- Blazor WebAssembly Standalone App template has been renamed and updated to support static site hosting without an ASP.NET Core server.
@rendermodeRazor directive can now be applied at the file scope to specify a render mode on a component definition.
- Enhanced navigation and form handling for Blazor has been improved with new attributes and events to control and customize the behavior.
- Circuit closing for interactive server components has been implemented to free up server resources when there are no remaining interactive components on the page.
- Form model binding in Blazor now honors the data contract attributes for customizing how the form data is bound to the model.
HttpContextcan now be accessed as a cascading parameter from a static server component.
PersistentComponentStateservice can now be used to persist and read component state in a Blazor Web App.
[Inject]attribute now supports injecting keyed services using the
- Dialog element now supports the cancel and close events in Blazor.
EF Core 8
The announcement post for EF8 focuses on "a few of the smaller features included" in the Object-Relational Mapper (ORM) offering, though it also contains links to some 68 individual items for .NET 8 overall.
Highlights of the announcement post include:
- EF Core 8 requires .NET 8 and this RC 2 release should be used with the .NET 8 RC 2 SDK.
- EF Core 8 will align with .NET 8 as a long-term support (LTS) release.
- EF Core 8 introduces new features such as:
- Changing the sentinel value for properties with database defaults
- Supporting updates accessing multiple entity types
- Improving query translation using SQL
- Eliminating unneeded parenthesis in generated SQL
The Reasons ASP.NET Core is the Best Framework for Web Application Development
It is now quite simple to create a web application and streamline corporate procedures in our technologically advanced environment. The industry offers a wide range of technologies, tools, and frameworks for reliable web development services. However, with so many options, it will be difficult to choose which technology is ideal for web development.
Selecting the appropriate technology or framework is a perplexing issue that keeps developers up at night. However, the ASP.NET Core framework is a response to this query.
I know you're asking what ASP.NET Core is and why is it different from other frameworks. What are the benefits of utilizing ASP.NET Core for web application development may also come up.
We're going to walk you through the ASP.NET Core path so you can get your questions answered and choose the best option for your web app development. This article explores ASP.NET Core's many benefits and explains why web app developers should use it.
What is ASP.NET Core? – An Overview
With the latest launch of ASP.NET Core, Microsoft too walked the path of Windows to provide users with the option of web application development on other platforms. The high-performance, cross-platform, open-source framework features, cutting-edge functionality allows to building cloud-based web applications.
Earlier, ASP.NET 4.x has been a huge success with developers worldwide. But ASP.NET Core is an upgraded version with a more modular and leaner architectural structure. However, you can see many amazing features in the latest .NET 6 version.
Paving the way for efficient and simple web application development, ASP.NET Core is a powerhouse of advanced features that has gained immense popularity among developers. The high-performance, cross-platform framework is widely used to create cloud-based and modern applications today.
Using this advanced software, you can:
- Run web applications on .NET Framework or .NET Core.
- Develop progressive and productive web applications and services, mobile back-ends, and IoT apps.
- Support multiple platforms as it provides the option to build apps on Windows, Linux, and macOS.
- Gain flexibility to deploy the apps and services on-premises or to the cloud.
As a developer, you might have come across terms such as .NET Core and .NET Framework. But before going further, allow us to give you the difference between .NET Core and .NET Framework.
Difference Between .NET Core and .NET Framework
.NET Core and .NET Framework have a subset-superset relationship. The “Core” in .NET Core determines the core features from .NET Framework, for both the runtime and framework libraries.
For example, .NET Core and .NET Framework share the GC, the JIT, and types as
The reason behind the development of .NET Core was to make .NET open-source, cross-platform and be used in more resource-constrained environments.
The .NET Framework allows developers to create Windows desktop and server-based apps, including ASP.NET Web applications.
On the other hand, .NET Core is used to develop server applications that run on different OS – Windows, Mac, and Linux. However, it doesn’t support creating desktop applications with a user interface. In both runtimes, developers can write apps and libraries in C#, F#, and VB/NET.
Reasons to Choose ASP.NET Core for Enterprise Web App Development
ASP.NET Core is a robust and feature-rich framework that helps you develop super-fast APIs for web apps. Here are the main advantages why ASP.NET Core is the best framework for outstanding web application development.
1. Open-Source Framework
One of the foremost reasons ASP.NET has gained immense usability among web application developers is because of its Open-Source code. The framework code is now available on GitHub, where anyone can modify, review, or contribute. Additionally, the huge .NET Core community is there to support those results in fast and seamless application development.
All improvements and bug fixes are quicker and released on a regular interval so that you do not have to wait for ages to harness the latest developments.
Flexibility of Open-Source framework is another reason why ASP.NET Core is a preferred choice for developers.
Depending on the project requirement, you can add framework components, libraries, etc. Moreover, when an updated version or new package is available, you do not need to upgrade the entire framework. This helps save time.
2. Cross-Platform Support
One of the best things about NET development is its cross-platform implementation architecture. The framework is built to run on Windows only, but applications and tools developed using it can seamlessly function on other platforms such as macOS, Windows, and Linux. It features Visual Studio IDE that allows developers to build web applications on any Operating System of their choice and achieve project collaboration.
.NET Core features independent packaging and installation, and is cross-platform compatible. This makes it an excellent framework to develop cutting-edge web applications. Once the app is built, it provides the option to reuse the code again for application development, regardless of the OS or platform.
3. Sophisticated Programming Features
The ASP.NET stack has undergone a major overhaul, presenting to you the ASP.NET Core framework with a gamut of advanced features. These include:
- Automatic memory management
- Cross-platform architecture
- Package management
- Garbage collectionv
- Language independence
- Asynchronous programming
- Easy to update and customize feature-rich enterprise-grade web applications
- Flawless development of MVC web applications and RESTful APIs
- Multiple language support
These features make it easier, faster and efficient for developers to build robust and modern web applications.
4. High Performance
Superior performance is one of the most integral factors the developers consider for successful ASP.NET development. With ASP.NET Core, you can be assured of excellent performance, flexibility, and scalability that aids in writing easy-to-maintain, reusable, and efficient programming codes. This is possible with the opportunity to leverage tool optimization and core libraries.
During code compilation, the one-of-a-kind web development framework facilitates automation code optimization. This helps in improving the performance of the codes.
Additionally, new concepts, quicker release cycles, or upgrades related to memory and space allocation make it an efficient Open-Source framework for mobile, IoT, and cloud applications.
The modular framework isn’t only for developers but also offers a reliable and affordable solution through the applications. The latest introduction of the Kestrel web server further makes the dotnet core framework one of the fastest and robust web frameworks today.
*5. Simplicity is the Key to Successful ASP.NET Development
Another primary reason why the asp net core framework is going to be the next big thing is its simplicity. Key functionalities such as form submission, client authentication, or site configuration are most hassle-free and faster with this framework. It features a time-tested MVC architecture – Model, View, and Controller – those aids in making custom web applications and APIs easily testable by achieving distinctness of concerns. This allows the developers to code, test, or debug an app in any of the above architectures.
The codes are reusable in nature and this makes it easier and effortless to manage and modify web application programming. It features a server-side, event-driven programming model that is simple to maintain.
Furthermore, its built-in configuration data does not require any complex process of registering the components. Hence, it becomes easier to deploy applications successfully.
6. Razor Pages
It is a new feature incorporated in the latest Microsoft dot net core framework. The objective is to integrate greater efficiency while programming page-focused environments. The page-based coding architecture enables developers to build cutting-edge web User Interfaces with enhanced productivity.
With this advanced feature, the framework becomes less complex as every single app page can be made self-contained with its unique view. Additionally, the codes of each page can also be organized together in a prompt and efficient manner.
Razor pages make it exceptionally productive and easier to build web applications that are robust, scalable, and high-performance.
7. Outstanding Developer Tools to Work With
A nice thing about ASP.NET Core is the availability of a full-suite of excellent web developer tools, such as Resharper, Jetbrains, and numerous others that make it easier to build, test, and implement a wide variety of applications.
Furthermore, it comes with Microsoft Visual Studio, which is one of the top IDEs available to develop advanced ASP.NET applications. It aids in advanced features such as profiling, debugging, unit testing, code completion, GIT integration, and much more.
The latest version of Visual Studio is now available with a free, fully-fledged community edition. So, you can now easily code web applications for ASP.NET Core in the form of basic text files by leveraging the text editor of your choice.
8. Highly Versatile in Nature
Another vital reason why developers choose ASP.NET Core development is the versatility it offers. Using the framework, you can build modern web applications and even switch over easily to mobile or desktop apps without any inconvenience.
This gives you immense flexibility to mix up your app development work and achieve one that is high-quality, innovative, and robust. The ability to switch from one app development process to another is a fantastic quality that differentiates ASP.NET Core from other programming languages that are server-side focused.