dotNetConf kicked off yesterday, and the big news was that ASP.NET Core will be officially RTM June 27! I asked developers John Juback and Prabhakar Mishra about what to expect from .NET and ASP.NET, respectively. NET Core is an open source, cross-platform implementation of .NET. A set of runtime, library, and compiler components, it is supported by Microsoft on Windows, Linux, and Mac OS X.
JOHN (.NET): Over the years, .NET has evolved into a set of distinct platforms: Windows Forms, Silverlight, ASP.NET, and Windows Phone, to name a few. Although each platform supports similar APIs that handle file I/O, for example, there can be subtle differences from one platform to the next. .NET Core implements a consistent subset of the .NET Framework that works the same on any deployment, from back end servers to desktop clients to mobile applications. PRABHAKAR (ASP.NET): In the past, ASP.NET consisted of Web Forms, MVC and Web API. AlThough MVC and Web API had some common features, they had different APIs. With ASP.NET Core, those APIs have been unified. ASP.NET Core runtime is a modular framework with a small footprint that's included and deployed with the application. Its pay-for-what-you-use model makes ASP.NET Core apps lean and a new Http pipeline with improved performance. Modern client side frameworks are easy to integrate and dependency injection is built-in.
JOHN (.NET): .NET Core is ideally suited for implementing non-graphical web applications and console applications. There is no equivalent to the System.Windows.Forms namespace, nor is there XAML markup as in WPF and Silverlight. So while you can’t use .NET Core to develop an end-user application that runs on a phone or on a desktop, you can prototype a Node.js web application on a Mac, then take the same code and deploy it on a Linux server. PRABHAKAR (ASP.NET): It's the concentrated effort on making .NET development easy for everyone on any platform that stands out as the most exciting thing of ASP.NET Core and specifically, .NET Core. Anyone can get .NET on his or her choice of operating system and start using it to develop great applications in no time.
JOHN (.NET): The answer to this question may very well depend on your current skill set. For Windows developers, .NET Core provides a familiar path to targeting other processor types without having to learn new languages or development tools. For non-Windows developers, .NET Core delivers modern language features like generics, Language Integrated Query (LINQ), and async support, backed by a managed compiler that is exposed to the runtime. PRABHAKAR (ASP.NET): Among a number of changes, few top features stand out:
JOHN (.NET): Internally, we've implemented proof-of-concept versions of non-graphical components, such as C1Excel, that can be built and run on both Windows and Mac OS X. This has allowed us to identify common scenarios that should expedite the porting of other components in the future. PRABHAKAR (ASP.NET): C1 has been supporting ASP.NET Core since Beta 4. Our MVC Edition controls are fully compatible with the platform and allow seamless integration. The controls are easy to use and have powerful APIs for both server and client-side. One of the big new features of ASP.NET core is TagHelpers—they enable easy developer-designer collaboration and solve issues that hindered HtmlHelpers. C1 controls were the first to offer TagHelpers for the full control set, TagHelpers makes the controls very easy to use and integrate in ASP.NET Core MVC applications. We'll be publishing an introductory white paper on TagHelpers soon, and our MVC controls are fully RC2-compatible.
JOHN (.NET): C1 is committed to supporting .NET Core by providing cross-platform versions of key non-graphical assemblies, in particular those that manage file formats and data access. PRABHAKAR (ASP.NET): We believe that most of the future enterprise development would be based on this technology, and so we're committed to the ASP.NET Core story. Existing controls and products would be ported to .NET Core, and all new web controls will be compatible with ASP.NET Core. The extensible model of C1 products is aligned with pay-for-what-you-use model of ASP.NET Core, so the apps using them are fast and highly performant. C1 controls will be compatible across platforms, and developers will be able to build amazing apps on their choice of OS.