What Is The Future Of .NET

 

Updated: Nov 17, 2016

Announced at the Microsoft Connect (); //2016 event this week.

The future of .NET is great. The .NET Core is open source and the community is growing rapidly. More and more companies and developers are joining .NET Core community. 
 
.NET/C# can be used to build AR/VR applications using Unity. Several AR/VR headset manufactures support Unity as a platform to build apps. 
 
Samsung releases Tizen for .NET that allows .NET developers to build apps for Samsung devices including TVs and mobile. Tizen is an open source operating system that powers Samsung TV, refrigerators, and other devices. 
 
Google joins .NET foundation to be part of .NET open source group.
 
Cross platform is key to the success of .NET. Now, .NET developers can build pretty much any kind of app they want.  
 
 
----------------------------------
 
It was 2002 when Microsoft announced its .NET, and since then it has changed the programming world. Today, Microsoft .NET has become one of the most used and mainstream platforms of software development. In 2013, I wrote an article titled, "What is the .NET Scope in the future," but since then a lot has changed.

In this article, I will talk about the future of .NET and its related technologies.

Let me start by showing this following image. Can you guess what it is? The following image is one of the very first models of the car manufacturer BMW.


Image courtesy: BMW

Now, let’s look at one more, the following image, which is BMW’s latest model, i8.


Image courtesy: BMW

Let me show you one more image. This following image is the BMW’s 3 series models since it was launched in 1975.


Image courtesy: BMW

Had you predicted in 1975 or 1983 what the BMW model would look like today? No one could have. The model changed with the needs of the market and the availability of technologies.

The same model applies to Microsoft .NET Framework. Microsoft .NET Framework is an evolving platform and each year, it gets better and better. If you look at the following image, you will see in the past 15 years how .NET has evolved.

 

The first release, .NET Framework 1.0, was introduced in 2002 and since then, as you can see, it has evolved. Every new version of .NET has introduced many new technologies and has improvements in existing technologies.

.NET Framework is still evolving…

When .NET Framework was first introduced, it supported limited applications. It started with managed and unmanaged applications but the managed area was mainly focused around Win Forms and ASP.NET. Today, if you look at the architecture of .NET Framework in the following image, you will see there is much more added to the framework, including support of JavaScript and other libraries.


Image courtesy: Microsoft

.NET application types

When .NET Framework was first introduced, it supported limited applications. Today, you can build almost any kind of app using .NET framework. Here are some of the application types we can build using .NET framework:

  • Windows client applications (WPF, Windows Forms)
  • Windows Store Apps
  • Universal Windows Apps using UWP for Windows Phone, Windows 10, HoloLens, Surface, XBox other Microsoft devices
  • Web applications using ASP.NET and/or HTML 5/JavaScript/CSS3
  • Android Mobile apps
  • Apple iOS apps
  • Cross-platform responsive web applications using HTML 5/JavaScript and CSS
  • TypeScript to build modern object based JavaScript applications
  • Enterprise applications
  • WCF and Web API services
  • SharePoint, Office, SQL Server and cloud enabled apps
  • Azure Microservices and Azure enabled apps
  • Components and libraries
  • 2D and 3D games
  • And many more

As you can see from the above list, the possibilities are endless.

Languages and .NET

C#, C++, VB.NET, and F# seem to be the most supported and used languages to build .NET applications, but there are close to 50 languages that are supported by the .NET framework. Some of these languages were developed by Microsoft and some were developed by other companies. The .NET Framework supported languages including Ada, APL, AsmL, BETA, Boo, C, C++, C#, Caml, CAT, COBOL, CULE, Eiffel, FORTRAN, Haskell, IL/MSIL, Java, JavaScript, Lexico, LISP, LOGO, Lua, Mercury, Mixal Assembly Language, Modula-2, Mondrian, Oberon, Memerle, Pan, Perl, Pascal, PHP, Processing, Prolog, Python, R, Ruby, RPG, Scala, Scheme, Smalltalk, SML, Synergy, Tcl/Tk, Visual Basic, and XAML.

When we talk about .NET, it’s unfair not to talk about C# and Roslyn. Roslyn is the .NET Compiler Platform that provides open-source C# and Visual Basic compilers with rich code analysis APIs.

Microsoft has just announced C# 7 with a few new features. Check out What Is The Future Of C#. Here is a good article that talks about What C# Can Do For You and that also means .NET framework.

Similar to .NET, C# is now open source and evolving. The following table shows the improvements made in each newer version of the language.

 
 
As you can see, unlike other languages, C# is a continuous work. Now that C# is open source, the community is growing strong and more features are being finalized for future versions.
 
.NET Today 
 
Let's look at the current ecosystem of .NET. As shown in the below image, .NET has 5 major components - Common Infrastructure, .NET Standard, .NET Framework, .NET Core, and Xamarin.
 
 
  • .NET Framework has traditional .NET libraries like WPF, Windows Forms, and ASP.NET.
  • .NET Core is open source component and supports UWP and ASP.NET Core.
  • Xamarin brings mobile development using C# and F# for iOS, Android, and Windows mobile.
  • .NET Standard library is used as common libraries for all of the common top layer components.
  • Tools, Languages, and Runtime components are all shared along the top level components. 
Universal Windows Platform

Universal Windows Platform (UWP) is a single platform to build all kind of applications for Windows 10 including Devices, IoT, Desktop, Holographic, Xbox, Console, and Surface Hub.


Image courtesy: Microsoft

.NET is the core technology to build UWP apps. And UWP is just getting started. As a part of .NET, you can use C#, VB.NET, F#, or VC++ to build UWP applications. Check out C# Corner’s Universal Windows Platform category to learn more about UWP.

.NET Core is Open Source

In 2014, Microsoft open sourced .NET by introducing .NET Core. Most of the .NET components including compilers, languages, libraries, and tools. Most of the .NET open sourced components are available in Github now.

https://dotnet.github.io/

The new component of .NET is named .NET Core, which is open source, and now developers are embracing what Microsoft is doing with .NET. Earlier this year, Microsoft acquired Xamarin and its products that are used to build Android, iOS, and Windows mobile apps using C#. Do you still wonder why .NET Core? Check out this article, Why .NET Core Is Important to learn more.  

Xamarin

Last year, Microsoft acquired Xamarin, that brings open source .NET to mobile development, enabling every developer to build truly native apps for any device in C# and F#. Yes, you can build C# or F# languages to build iOS and Android apps. Today. Xamarin has become a part of .NET ecosystem.

Conclusion

Microsoft .NET platform, which is now has an open source component to it, is an evolving platform. Not only .NET Core is open source, but it is managed by a well-managed body named the .NET Foundation. The .NET Foundation’s team comes from a strong open source background and has vast experience in building and managing several large, long-term, and successful projects. As the industry’s need grows or changes, .NET will continue to evolve based on the needs.

Recommendations

Other recommended articles