Recently we hosted a webinar around picking the right tech stack for ASP.NET. We thought the best way to relive it for you would be with an honest Q&A about the questions facing ASP.NET devs today.
So, how do you go about picking the right tech stack for ASP.NET? This can be tricky—you do not want unwanted dependencies and only the tools that are aligned with your skills and intentions. The awesome Jeremy Likness and I tried tackling this problem head-on during a live webinar earlier this week. We had a lot of talking points and genuine developer conversations around some of the hot topics. May be the best way to relive the webinar would be through an honest Q&A about the questions facing all ASP.NET developers. So, here goes:
Q: How is the .NET Framework evolving?
After years of being a giant monolithic framework, there is a fork in the road for your beloved .NET Framework. The image above is a good representation of the change, although the naming has changed.
.NET Framework 4.6 is the next logical iteration of the whole .NET Framework and preserves the entire API canvas. All your apps and web/desktop/mobile technologies that depend on the .NET Framework will run just fine in .NET Framework 4.6. This is out now and is the most mature .NET offering.
.NET Core 1.0 is the new kid in the block—lean, modular and completely open sourced. Written from ground up, .NET Core 1.0 is optimized for specific applications and is cross-platform. Yep, this means you can now take your .NET Core 1.0 apps to other platforms, like Linux and OSX!
Q: What’s next with ASP.NET?
ASP.NET 4.6, which includes WebForms 4.6 and runs on .NET Framework 4.6, is the newest iteration of the mature ASP.NET stack. ASP.NET Core 1.0 is the new beginning of ASP.NET running on top of .NET Core 1.0. You get the same benefits—leaner stack, open source, modular components and cross-platform portability.
Q: Are there tooling improvements with ASP.NET Core 1.0?
A: Yes, lots of it. The Visual Studio development experience gets much better with Roslyn integration and on-the-fly compilation. There is a big shift with renewed focus on Command Line tools—you can scaffold, build and deploy ASP.NET apps from the terminal prompt. And this works the same way from any platform—Windows, Linux & OSX. The comfort of writing .NET code with IntelliSense is also stepping outside of Visual Studio, with the help of OmniSharp and lightweight code editors like VS Code.
Q: Is Microsoft moving my cheese with ASP.NET?
A: In a way, yes. But this was also much needed. We cannot let the past and present comforts hold us back from a better future. Microsoft had to lower the barrier to entry into ASP.NET and make tools for every type of developer, irrespective of platform. Make no mistake though—your development experience in Visual Studio will be maintained and is actually getting much better.
Q: Is WebForms dead?
Q: What’s new in ASP.NET Core MVC 1.0?
A: Lots. There is the merger of MVC and Web API runtimes. There is the new rendering paradigm with TagHelpers and Dependency Injection everywhere. Additionally, the new MVC sees a routing overhaul, new ways to configure dependencies and an overall leaner footprint for modern web apps.
Q: Are there MVC project upgrade routes?
A: If you have existing MVC 4/5 projects, you can anticipate a lot of code re-use going to ASP.NET Core MVC 1.0. Just don’t expect magic tools to upgrade your project, since the underlying frameworks are changed big time. It may almost be better to start a new project and slowly bring over assets from your older projects. Watch for changed way to do configurations, pick your runtime judiciously and clean up namespaces/APIs that are not available with ASP.NET Core 1.0.
Q: Where are things with TypeScript?
Q: Why should I consider a Core JS Framework in ASP.NET stack?
Quite simply—reusability of established frameworks and flexibility of client-side code. Popular Core JS frameworks give you a lot out of the box—easy data binding, separation of concerns and well-oiled rendering engines. And all of this JS tooling works right inside of Visual Studio for the best of both worlds. A few major JS frameworks to consider: Angular, React, Aurelia, Backbone, Knockout, Durandal, etc.
Q: Do I need a UI focused JS Framework?
Yes. We developers need to stop re-inventing the wheel for UI widgets. Popular JS frameworks have it all worked out—cross browser compatibility, polished UI controls and device responsiveness. A few popular ones to consider: Bootstrap, Kendo UI and jQuery.
Q: What about Package Management?
With ever increasing project dependencies, the choice of package manager becomes an important one for ASP.NET developers. Thankfully, you get an assortment of riches—NuGet, Bower and NPM. While NuGet faithfully delivers most of the .NET and server side external libraries, it is really refreshing to see VS tooling embrace the web side of doing things. Direct integration with Bower and NPM means VS developers can now utilize any available client-side libraries from inside Visual Studio, and also manage versions of each dependency.
Q: What’s happening with Task runners?
Q: Any place for NodeJS in ASP.NET stack?
Q: Can I take my JS code places?
Q: Is the new modern ASP.NET stack too complicated?
What’s a Telerik webinar without some cool prizes? Here are the winners, picked randomly:
Note: Some images courtesy of Microsoft. Logos used for representational purposes only.
Sam Basu is a technologist, author, speaker, Microsoft MVP, gadget-lover and Progress Developer Advocate for Telerik products. With a long developer background, he now spends much of his time advocating modern web/mobile/cloud development platforms on Microsoft/Telerik technology stacks. His spare times call for travel, fast cars, cricket and culinary adventures with the family. You can find him on the internet.