EPiServer vs. Umbraco, purpose of this post
Both developers and clients have on numerous occasions asked me what the differences are between EPiServer and Umbraco, which one is the “best”, why choose “costly” EPiServer when Umbraco is “free”, which one would make the better prom date, etc.
In this post I’ll share some high-level notes on key differences between these two CMS’.
This post is a high-level subjective comparison of EPiServer vs Umbraco. It is not a detailed features comparison.
What are we really comparing?
Know this: when you compare EPiServer and Umbraco you compare quite different products. Sure they are both built on ASP.NET and both of them are built around hierarchical page structures stored inside a relational database, but the comparison is similar to comparing an experimental aircraft with a commercially used and fully licensed airplane model:
The two airplanes depicted are both fantastic in their own right, but they have different applications and they’re suitable for different requirements.
The symbolism here isn’t 100%: Umbraco is free, the Velocity build-it-yourself-kit airplane isn’t. Also, EPiServer doesn’t cost nearly as much as a Beech Baron.
But the symbolism isn’t totally off either: the Velocity is agile, you can get your hands on it despite a low budget, it can easily be changed since you get the full blueprints, and it’s really sleek. So, that’s Umbraco.
The Beech Baron is a trustworthy workhorse, it has steadily evolved since it was first introduced, it’s maintained by a solid manufacturer, and it’s also great to look at. However, it costs a bit more to buy (it’s fully assembled, though) and it costs a little more to operate.
So, the question isn’t really which one is the best, the question is which one best fits your needs?
General impression of Umbraco vs EPiServer
Umbraco is an open source content management system. It is developed at a fast pace and there’s a great community of developers which makes it easy to find help when you need it. However, even though new features are rapidly added – both by the core team and the community – Umbraco doesn’t appear as stable and solid as EPiServer.
The UI of Umbraco works well and can be customized through custom page properties, but it’s not as customizable and polished as the EPiServer UI.
On paper most features of EPiServer are also covered by Umbraco, but it feels like everything is working a little better in EPiServer.
So does this mean EPiServer is better than Umbraco? No. It does not. It all depends on the project, its budget and requirements. Both CMS tools provide editors with a user-friendly UI and both of them provide developers with powerful APIs and configuration options.
However, I’ll stick my neck out and say that almost everything Umbraco does, EPiServer does better. And there’s nearly nothing Umbraco can do that EPiServer can’t.
So why would you choose Umbraco?
Well, most of it comes down to cost. Umbraco can be downloaded for commercial use at no cost. EPiServer CMS starts at €10k and upwards. This fact alone eliminates several smaller websites since the license cost would make up too much of the overall project budget. There’s no reason investing in EPiServer if you don’t invest enough in development resources to actually make use of it.
If your project budget is €20k - €30k then you should probably consider a free CMS alternative.
Some key differences that developers should know
- Umbraco templates, stylesheets, scripts, and more are all managed through the Umbraco UI (although a Visual Studio plugin exists) whereas EPiServer is based around a standard ASP.NET website or web application project
Editing template markup through the Umbraco UI
- Umbraco uses one site structure per language, EPiServer maintains language versions of pages
- EPiServer offers versioning for its built-in file and document management, Umbraco doesn’t
- Umbraco uses TinyMCE as its WYSIWYG editor, EPiServer uses a proprietary one which requires Internet Explorer (although EPiServer will most probably incorporate TinyMCE in the next major release)
- There are several website “packages” for Umbraco to get you started, EPiServer only comes with a single, fairly trivial, example website
- Umbraco is open source, EPiServer is proprietary
- Umbraco supports page type inheritance natively (this can be accomplished in EPiServer using the PageTypeBuilder project)
- EPiServer has a more extensive plugin system for extending and adapting the CMS UI
Versioning and collaboration in Umbraco projects
EPiServer is built around standard ASP.NET concepts, all markup and logic is edited through Visual Studio. This makes versioning and collaboration through systems such as Team Foundation Server really easy.
Umbraco projects are usually made up of website files in one location and a separate Visual Studio project. The Visual Studio project then usually contains some form of post-build script or equivalent to copy user controls and binaries to the Umbraco website location.
Update: I've gotten some great feedback on this post, and I'd like to stress the fact that Umbraco nowadays uses the file system as the master for templates, scripts, and stylesheets - not the database. This allows for greater possibilities in terms of using Visual Studio and versioning tools. Also, make sure to have a look at this video so see an example of Umbraco/Visual Studio integration.