.NET DEVELOPMENT SOLUTIONS
  • Blog
Picture

.NET Core - Develop and Host .NET Applications on any platform Windows, Linux and Mac!

9/26/2018

0 Comments

 

Microsoft’s .NET Framework runs primarily on Windows and provides language interoperability across several programming languages. Sharing many of the same .NET Framework components, .NET Core can build today’s open, cloud-based applications ― such as web apps, Internet of Things apps, and mobile backends - and optimizes the development framework for apps that are deployed to the cloud or run on-premises. It includes the MVC framework, which now combines the features of .NET MVC development and Web API into a single web programming framework.

Picture

.NET Framework is a mature platform, which is why it is still popular and preferable for many .NET application development services. So when do you use .NET Framework and when do you use .NET Core? Here are some fundamental differences between .NET Framework and .NET Core from a high-level perspective.

.NET Framework .NET Core
Originally released as a proprietary software framework and although Microsoft has subsequently made certain components of .NET Framework open source, enterprise and individual developers are required to pay licensing fees Introduced as an open-source software framework from the start so enterprise and individual developers can build apps with .NET Core without paying any licensing fees
Build applications for a single platform  (Windows) Supports cross-platform applications (Windows, OS X, and Linux)
Installed as a single package and runtime environment for Windows Packaged and installed independent of the underlying operating system
Application model includes Windows Forms, ASP.NET, and Windows Presentation Foundation Application model includes ASP .NET Core and Windows Universal Apps
Deploys web applications only on internet information servers Deploys web applications on multi-platform hosts
Not optimized for cloud-based systems Simplifies development and deployment of cloud-based applications
Not optimized for mobile app development Simplifies mobile app development
Unable to enhance the performance and scalability of applications Enables developers to enhance the performance of applications drastically without deploying additional hardware or infrastructure
Existing application(s) use .NET Framework; employs third-party .NET libraries or NuGet packages not available for .NET Core; deploys .NET technologies that aren't available for .NET Core; or resides on a platform that doesn’t support .NET Core Cross-platform needs; is targeting microservices and/or using Docker containers; needs high-performance and scalable systems; or requires side-by-side .NET versions per application

You probably won’t use .NET Core to run existing workloads because it is a tool that is optimized to run as cloud workloads or as part of a microservice. Support for UWP and for Xamarin Forms means that you can build GUI applications on small devices. Also, although .NET Core is lightweight and fast, it doesn’t support many familiar libraries and extensions. This results in a learning curve as compared to existing .NET Framework development, which is not yet addressed in the existing documentation.

In terms of portability, .NET application development runtimes support different levels of the .NET Standard APIs so code that needs to run on different versions of .NET software development will have to be targeted at the lowest common version of the standard libraries. Because libraries are delivered via NuGet, you just must make sure that you target the right version of .NET Standard for your choice of devices. The lower and more widely applicable the version, the fewer the features.

All in all, though, .NET Core offers flexible deployment on Windows, macOS, and Linux that can be ported to other operating systems, CPUs, and applications, which will continue to grow over time. Compatible with .NET Framework, Xamarin, and Mono via the .NET Standard Library, the .NET Core platform is open source, using MIT and Apache 2 licenses. Documentation is licensed under CC-BY. .NET Core is a .NET Foundation project.

0 Comments



Leave a Reply.

    AllianceTek

    Custom software, web development and IT business solutions provider company USA, 14 years’ experience in building mobile, cloud & web solutions.

    RSS Feed

Powered by Create your own unique website with customizable templates.
  • Blog