After a bit of pre-conf hype building ...
... the 1st day of NDC conference in London has brought a very interesting .NET-related announcement from JetBrains - the company is working on a new product - cross-platform, IntelliJ-based IDE for .NET, powered by ReSharper guts. Current code name: Project Rider.
NDC's orgs were blazing fast with publishing the announcement session, so it's already available on-line:
If you're not have spare 40 mins, official JetBrains blog post is available here.
Sounds like a really great idea (personally I'm a fan of both ReSharper & IntelliJ), but let's try to answer a basic question:
What does it REALLY mean?
… for devs, for JetBrains & for Microsoft (& its products, like VS or Code).
Let's start with the easy party ...
First, they are securing their investment in .NET platform. The future of ReSharper (& dotCover, rest is rather more safe) depended heavily on Visual Studio. As we all know, Microsoft can be … quite unpredictable with their decisions. What is more, JetBrains has decided (& confirmed yesterday) to not switch ReSharper to Roslyn - that would decrease dependency on VS, but it's just too much of rewrite (plus: Hadi Hariri claims their stuff serves their needs better than Roslyn would).
So having their own IDE, built on proven, stable foundation & dependent on .NET framework only, seems like a great idea. And the timing is perfect -> community has just started to believe that .NET can truly be cross-platform & it seems that open sourcing .NET really gets (gradually, step by step) the good vibe back to Microsoft stack.
Obviously, it doesn't mean that JetBrains is going to kill ReSharper for VS -> it'd be a very risky commitment to the new product & JetBrains does need to force devs to choose between VS & Project Rider. It's much more safe to provide a cheap alternative to VS & wait until you're sure your product is better (or at least equivalent in terms of usability & quality). Maybe one day ...
What about Microsoft?
I believe that Microsoft has fully realized that the Visual Studio license fees are not nearly as important as popularizing & commoditizing .NET platform in dev community. Hence the introduction of Personal version (free of charge) & the appearance of Code. But until now it Microsoft was covering pretty much whole spectrum of .NET IDEs on their own - they were free to adjust the balance (functionality VS pricing) to control cannibalization or user confusion.
Now they have another player in game & a very serious one. On one hand - it's very likely to help a lot with increasing .NET popularity (especially out of Windows), but it may heavily impact profitability of VS team in Microsoft. Microsoft may be forced either to decrease the price of commercial licenses or to go for some kind of bold move (new "selling point") that will distinguish "big" VS from Project Rider. Knowing them, they will most likely go for another thousands of wizard-like windows for service integration (Azure, SQL Server, etc.) ;/
That's not the end - looking on screens / listening to Hadi, JetBrains's new IDE will definitely focus on cross-platform stuff (but it won't be restricted to DNX - that's important!). It means (probably):
- no XAML
- no WinForms
- other / custom designers (WF, etc.) as community plug-ins (at best;P), etc.
Looks like another hit for UWP (aka universal apps) - if Project Rider gets a significant popularity, people won't use the option that don't even have available, right? Just keep in mind that we're speaking about one of key Microsoft ideas to generate income ...
And finally - devs!
It's simple - it's always better to have a choice than not to.
In this case -> we pretty much know what we can expect (I mean: "we" = these ones who have used IDEA, WebStorm, etc.). Not much will change for Windows development (except of having a choice & potential price drop), but Project Rider may be a game-changer for non-Windows .NET development. Full-blown, feature-rich IDE (instead of neat, but still crude & simple Code) may make .NET on Linux/OSX a valid, "enterprise-ready" (yea, I hate this phrase too) alternative for JVM.
It won't be the .NET we've known & loved, but who knows - we may love it even more, due to higher degree of freedom in shaping solutions of tomorrow.
The most important facts (for now)
Well, let's keep the heads cool - Project Rider won't hit the market until Autumn 2016 (unless you want to go with EAP, which should be available not earlier than late Feb). We still don't know anything about licensing (but separate product license is quite possible, with an option of discount for ReSharper users) & the range of supported project types (but we already know that "traditional" msbuild/csproj projects will be supported - that is already more than what Code does).
Few additional, meaningful details about v.1.0 (RTM, when it appears):
- Language-wise (.NET languages): only C# for now, sorry for VB, F# & all the two Iron Python people
- There will be a full NuGet support (which is not ready yet).
- IntelliJ tooling for unit testing framework support will work.
- Vast majority of ReSharper functionality will be available (incl. refactorings, navigation, even plugins - maybe not all though)
- Strong support for web development will be available (incl. TypeScript) - but this is not a big surprise as JB are gonna re-utilize what's already available for IntelliJ.
What will also already know (& I find it quite ironic) is that pretty soon many of us may end writing .NET code using a tool written in (& running on) Java :)
Pic: © Dudarev Mikhail - Fotolia.com