Overall Satisfaction with ExpressionEngine
I use ExpressionEngine to build websites for several clients. For anything other than a very simple blog site, I recommend ExpressionEngine. With a few essential plugins, it's easy to train clients to use; the documentation is great and once you get the hang of the templating syntax, it's very easy to crank out custom sites quickly.
- ExpressionEngine does a fantastic job in separating the content from the code, allowing you to build custom templates using only your own code and markup.
- ExpressionEngine has great documentation. It's easy to find clear and concise explanation of all of the core features.
- ExpressionEngine has a great module community. Many of the modules require a license, which will seem different from WordPress or Drupal, but many of these module developers also provide great customer service and support.
- I always seem to use a core set of modules (Structure, Matrix, Playa) when I build an ExpressionEngine site. It'd be nice if they were included in the core feature set. However, I'd hate to stop supporting the developers of these great plugins.
- As a new ExpressionEngine developer it was a little tricky to figure out the ExpressionEngine way of doing things. Coming from Drupal and WordPress, where the display was more married to the content, it took me a while to really get how ExpressionEngine handled everything. I haven't been a new ExpressionEngine developer for some time, so their documentation may well have changed in the past six years.
- I'd love to see an easier upgrade process. While upgrades aren't terribly difficult, they're enough of a hassle that I find myself wanting to put them off.
- I'm able to build easy to maintain sites quickly and easily, dramatically reducing my turnaround time.
- With the help a few plugins, I can easily turn the site over to the client for content management with minimal training.
- ExpressionEngine's templating system allows me to easily take advantage of frameworks like Foundation and Bootstrap, further increasing development speed.
Before finding ExpressionEngine, I'd always been frustrated by the shoddy, convoluted front-end code created by other content manage systems or their plugins. ExpressionEngine does a fantastic job in separating the content from the code, allowing you to build custom templates from scratch. A potential downside here is that you have to build those templates from scratch. I don't see this a downside — I'd rather write all of the markup in the sites I create than rely on someone who may do things slightly differently than I do. ExpressionEngine is nowhere near as easy to set up a simple site as WordPress, and doesn't offer the level of control through the admin panel that Drupal does — but after years of using all three, I always come back to ExpressionEngine.
For anything more complicated than a static four page site or a very simple blog, I'd always suggest ExpressionEngine. For the client, they will need to spend some money on the license, but for the developer, you'll save piles of time not wading through plugin code searching for classes and lines of code that are breaking your carefully crafted templates.