ASP.NET Core beta program
By popular demand we are working hard to bring ASP.NET Core support to Episerver in 2020. The first official beta drop is planned for the beginning of the year, if you want to see how things are shaping up and help us build a stack that works for you, sign-up for the closed beta here.
If you’ve been following the evolution of .NET Core you probably saw the announcement earlier in the year that Microsoft are consolidating all the different critters in the .NET zoo with .NET 5 which is really just the next version of .Net Core.
It has been a confusing few years in the .Net world, but it seems clear now that .Net Core is the future of .NET which begs the question if / how / when to transition to .Net Core. If you already have a significant investment in ASP.NET 4 it probably makes sense to stay there, we will continue to support you, and add new features for the foreseeable future. If you are managing multiple sites, you can choose to host some on ASP.NET Core and some on ASP.NET 4 or move all your sites to ASP.NET Core.
In two minds
Instead of porting the entire platform to ASP.NET Core, we are building a small, fast delivery platform powered by a REST layer. The delivery platform is built to serve site visitors and depends on content from the current platform which serves editors (and ASP.NET 4 sites).
This style of decoupled architecture is old news, but until now this separation of concern only existed at the infrastructure level, with the Delivery Core we are making the cut deeper, and giving you a platform that is optimized for delivery from the ground up. We have to rethink a couple of things to make this work really well, but for current Episerver developers everything will feel very familiar; if you define your models in .Net classes, you still get nice strongly typed views, but also tag helpers, razor pages, blazor etc. etc. etc. For editors everything still works as normal, we are including support for previews, on-page-editing etc. across the two stacks.
Historically we have thought of .Net as the principal API layer for developers building sites on Episerver. With ASP.NET Core we are taking a more platform agnostic stance, by building out our existing REST APIs, effectively putting the new delivery platform on level with java, js python and other stacks.
Mi casa es su casa
The “Delivery core” wants to be part of your preferred .Net stack, so we will be moving most of the “Delivery core” to github and invite you to contribute more directly in shaping that part of the platform. We still expect to distribute everything as semantically versioned nuget packages. If you want to get a foot in the door early, and help us shape the initial release you can sign-up for the closed beta here.
This is fantastic news! Excited to see where the communitry will take the "delivery core".
Exicting times, looking forward to having a play with this :)
I have so many questions around this, maybe some of the is answered in the beta program, so I signed up!
You mention that the asp.net core part is powered by a "rest" like layer, that doesn't sound very performant to me. Making one or more http calls is way way slower than hitting a database, of course we have caching (and hopefully the distributed is used for the .net core part) that can help a bit, but still I have some concerns there with regards to performance.
Having a delivery layer and an edit layer also sounds like we need to do the views twice, one for the actual site in .net core views and one for the edit site in classic mvc views so editors can do on-page-editing? what are the plans here?
If I was to choose a way to do this I would say that from version xx Episerver is pure asp.net core, but of course I don't have to worry about upgrade paths and all that boring stuff :)
Would love to see the output from .Net Portability Analyzer on the Episerver codebase!
I had similar thoughts to this too - Episerver's APIs are pretty well written and certainly follow .Net best practices to the full degree - DRY, SOLID, awesome MVC/codefirst integration and whatnot.
I guess duplicate views can be avoided if the content is delivered in a 'headless' manner from the application layer - however I agree that it would certainly raise question marks over performance, if for example endpoints need to be called when editing things in OnPageEdit mode in realtime.
Although I haven't yet tested it myself, I have seen it in action. And duplicate views are not needed.
I'm so excited by this announcement. I immediately signed up for the beta.
I'm going to hold back on most of my questions until I've had the opportunity to see this in action. But one immediate question is around Licensing and DXC.
Can you please confirm my assumption that this will require additional Web App to host the .Net Core App. Eg. One Web App for Episerver CMS and Delivery API + a new one to host the .Net Core Web App. Are there impacts licensing or DXC hosting?
.Net Core for Christmas everyone!!!
Hi Martin, I imagine the big picture is like this. All speak REST.
I'm looking forward to the BETA.
Github repo is up, now we just need some legalese before we can start inviting people in :D
As has been remarked, there is no need for redundant model or view definitions.
@Thomas, look forward to discussing performance in more detail after we kick-off the beta.
@MartinOttosen Great news! Keep up the good work! :D
Any news on when the beta program might be launched? I'm itching to get my feet wet! :)
I think we will open the gates for the next wave end of June / start July.
From what I undertsand for the LiveStream from June 15, 2020. No date for a production release and a client DEV release in July 2020?
The first dev release is out now, shared with the EMVP group. We will add another wave in July based on people that signed up for the beta here. Production release will be after the summer. On a related note, we are continuously releasing improvements to REST APIs and other existing pieces being done as part of the ASP.NET Core undertaking, e.g. Content Delivery API 2.11 will include URL-based projection, more expand controls and some other refinements. Evolution FTW :)
First time I've seen that sign-up link, thanks for sharing.
Any updates on a release date?
Please join the closed beta for more details and timelines. FYI you are more likely to be included if your world email is from a known partner / customer domain.
We tried joining the beta but never heard back. We are an EPiServer customer.
Please see separate email.
Any update on the Core release for production?
In case you missed it, we've now terminated the closed beta and moved .Net 5 support (AKA .Net Core) to public preview. Check out the post here or head straight to the preview repo here.