The Future of .NET

dotnet_future_header

Are you a .NET developer? If so, I’m sure you are hearing a lot of buzz lately, but may feel a little befuddled by all that’s going on. Major changes bring initial uncertainty and hesitancy is only normal.

However, allow me to prove to you why this is one of the best times to be a .NET developer. This is no fluff – just a developer-to-developer breakdown of what’s in store. The future of .NET is awesome and I think you’ll be glad you’re a part of it.

Open Source

As you are probably aware, Open Source Software (OSS) means that the software’s source code is available publicly and usable (study/change/distribute) under a variety of license constraints. One fundamental trait of OSS is that it is often developed in a collaborative manner, thus leveraging continuous feedback. Don’t like something? Pull down the source code and make changes to fit your needs. OSS benefits tremendously from developer community involvement – meaningful changes can be accepted back into the primary source code and thus made available to all users or projects can be forked, creating entirely new offshoots.

Some of you may believe that managing OSS is tricky or that it’s often just a marketing gimmick. It can be true that managing open source projects presents new challenges and that some companies have cynically open sourced projects while not wholeheartedly buying into the spirit of open source software. Also, enterprises need to consider the legal implications of OSS in their development stacks. However, I believe the overall benefits of open source far outweigh anything else.

.NET goes Open Source

Nov 12th will be marked as a day of monumental shift in Microsoft development stacks. At the Connect() event in NYC, it was announced that the core of your beloved .NET Framework is now entirely open sourced and usable under a MIT license. This will include everything needed to execute .NET code – including the Common Language Runtime (CLR), Just-In-Time Compiler (JIT), Garbage Collector (GC), and core .NET base class libraries.

So, let’s embrace this openness and grab the source code, use it, build it or fork it. Microsoft is committed to accepting meaningful community contributions, and you can be assured of the quality of the .NET base classes. Every .NET developer is encouraged to check out the keynote and breakout sessions now available on demand at the Connect() website – it’s good stuff.

10K Feet View

Image courtesy - Microsoft

Image courtesy – Microsoft

The above representation of .NET vNext depicts how the framework is moving forward – it is very familiar and different at the same time. Fundamentally, it is the role and usage of .NET that is changing to offer increased flexibility. .NET used to be this behemoth – serving desktop, web or mobile app development and server installations with equal footing. Moving forward, .NET will be much more specialized serving cloud, devices and servers with optimizations. Powering .NET will be a common set of features (runtime, compilers and base libraries), but you get to pick and choose exactly what you want to use. Are you waiting on IT or have an elaborate process before you upgrade the .NET Framework on your server? Well, now you can roll in the .NET framework self-contained into your apps and have multiple versions side-by-side.

.NET Goodies

The .NET Framework vNext packs a punch when it comes to some new language and compiler level enhancements. For starters, there is Roslyn – the .NET compiler platform. Roslyn allows for innovative C# or VB compilations in the cloud and has loads of benefits inside IDEs like Visual Studio, as well as, third party integrations. Windows Store apps benefit from .NET Native ahead-of-time compilation – this results in significant performance improvements with quicker app start up times and lower memory footprint. Desktop and server apps benefit from next generation 64-bit RyuJIT (Just In Time) compilers. All this goodness for .NET is spreading to all application types and a leading to a convergence of development experiences.

.NET Foundation

Back at BUILD 2014 conference, Scott Guthrie announced the .NET Foundation. Quoting the Home page

The .NET Foundation was created as an independent forum to foster open development and collaboration around the growing collection of open source technologies for .NET.

The Foundation has since garnered a lot of support to host an impressive array of OSS projects, both from Microsoft and supporting partners, and serves as the de facto stewards for open source repositories for .NET.

Cross-Platform

We do not live in a silo and Windows isn’t the only thing in the world – this mindset change within Microsoft is very evident in what’s next for the .NET Framework. Official distributions of .NET will be available for Linux and OS X! Want me to repeat that? Let this sink in, because it is a big deal.

Cross-platform developers are now welcome to use the .NET framework on a platform of their choice. Web, desktop, cloud or mobile development on almost any platform can now be targeted with the .NET framework. You can build native ASP.NET web applications on a Mac. You can build native iOS or Android applications using C#, along with Windows counterparts. And you can build Hybrid single-codebase cross-platform mobile apps using plain HTML/CSS/JS and the Apache Cordova open source framework. This is a huge and welcome change and can potentially spread the use of .NET to non-Microsoft developers!

ASP.NET vNext

Perhaps the biggest shift in mindset is evident in what’s next for ASP.NET. Don’t fret though, as it’s just offering flexibility. Let me explain with few points:

  1. Per the trend, ASP.NET vNext is entirely open source, most of which is available in the .NET Foundation. You need not have insider access anymore – go look at the source code, build, change, pull or fork.
  2. ASP.NET vNext sees the convergence of several frameworks into a unified programming model for MVC 6 – this includes latest MVC, WebPages, Web API, SignalR and Entity Framework. You can now have a single controller that returns both MVC views and formatted Web API responses, on the same HTTP verb.
  3. ASP.NET is completely modular – you pick the pieces you need and get them through NuGet. The future of .NET on the server looks interesting, to say the least.
  4. There is a brand new HTTP processing pipeline with terrific throughput. The new KRuntime is the core of ASP.NET vNext – it comes with built-in Version and Package managers along with loads of other tooling.
  5. ASP.NET applications can be hosted in IIS or outside in its own processes. Yes, it runs on Mono in Mac and Linux.
  6. There are a lot of tooling improvements for ASP.NET in Visual Studio. But you can also build ASP.NET applications natively on a Mac! Simply use the Command Line Interfaces (CLI) and tools like Sublime Text.
  7. Web Forms live and they are healthy. Let nobody tell you that they are dying! Instead of using the modular .NET framework, you simply use the whole, just like old times. All your tools and extensions for web forms still carry forward.
  8. ASP.NET vNext is cloud ready! Features like Session State and Caching provide consistent APIs and adjust themselves with behavior well suited for cloud hosting versus traditional servers. Dependency Injection is rampant within ASP.NET – plug and play to your heart’s desire.
  9. Skip the Build step – simply make code changes and refresh your browser to see changes! This comes courtesy of JIT compilation from Roslyn – the new .NET compiler platform.
  10. ASP.NET MVC syntax gets these little magical things called Tag Helpers – learn about them, since they are quite powerful.

Tooling

There are lots of tooling improvements for .NET developers inside Visual Studio, but the big news about a brand new Visual Studio SKU trumps everything else. Remember the VS Express editions? They were free for sure, but you could only develop one type of application with each specific VS Express editions. Now, there is the new Visual Studio Community Edition – the one SKU to rule them all! Yes, it’s free and you can develop any type of .NET application with it – web, cloud, desktop or mobile. It is a full-featured IDE (Integrated Development Environment) and supports advanced features like Plugins or Extensions.

What’s Ahead?

Lots. Microsoft is focusing on the convergence of the Operating Systems (OS) and developer platforms, and .NET is your best bet. Windows 10 represents the next generation OS for most things that you are used to running Windows on and then some – namely desktops, laptops, phones, Internet of Things and Embedded devices. Windows 10 Tech Preview is already out and Windows Universal apps are your best bet going forward. Other application stacks or technologies you have used with .NET in the past all move forward – you simply choose the modular or complete .NET framework based on needs. Check out the recently published roadmap and tooling improvements for WPF, which was met with much fanfare from the .NET development community.

Telerik Control Suites

Now, .NET developers have always loved Telerik Controls. To provide an idea of scale – the Telerik DevCraft bundle (which includes all our .NET tooling) is used by 1.4 Million developers! That’s a lot of love and we are honored. As .NET evolves into its next generation, so will we. You will find us adopting the best features, making performance enhancements and innovating more with specialized controls for each platform, as well as building on the already-present cross-platform story.

Here are few of our major products that stand out right away with .NET vNext and help you build awesome UIs for the next generation of .NET applications:

  • Telerik UI for ASP.NET Ajax – Richest server side web framework with 80+ controls and support for every device.
  • Telerik UI for ASP.NET MVC – Wrappers for rich HTML5 rendering powered by Kendo UI and mobile support with responsiveness.
  • Telerik UI for Windows Universal – Tooling for your next-generation of Windows and Windows Phone apps, using single codebase.
  • Telerik UI for WPF – Yes, we know the high demand for WPF in Enterprises and this suite has everything you need to supercharge your WPF development.

Conclusion

I know this was a long read, but I hope I have convinced you that the future of .NET development is looking awesome. Let’s embrace the changes and gear up for a flexible better tomorrow. Best in-class tooling and open source cross-platform approach to building the next generation of amazing apps for any platform – that’s .NET. Now, let’s go code!

Header image courtesy of JD Hancock

CLI reinvented for modern developers

Comments