There's a vast amount of CMSs out there, some more popular than others so it's difficult to pinpoint which one will best suit your needs. For me, I was fairly new to web development and coming from a front-end/web design background, I wanted something which didn't have a steep learning curve and didn't constrain me from a design point-of-view. I also wanted to learn a CMS which I knew would be versataile enough to implement on a range of websites for prospective clients.
Now to find that, I had to do a lot of research, but I eventually came across ProcessWire and haven't looked back since. If you're in a similar position to the one I was in, here are some of my overall thoughts on why ProcessWire rocks and you should use it for your next project.
1. It's easy to learn
ProcessWire is built upon three very simple foundations: 'Pages', 'Fields' and 'Templates'. Once you understand the role of each and their relation to one another, you'll be unstoppable. Here's a brief run-through of what each one is and does:
- Templates are the physical php files you have created which consist of the code you intend to render to the front-end of your website. Once you have created your PHP file, you can simply add it to ProcessWire. Templates can be specifc to one page (like a homepage) or generic and used across multiple pages (like news article pages).
- Fields are areas where you can add and edit content and these are incorporated into your template using ProcessWire's easy-to-use API which is all PHP. You create the fields within ProcessWire first and then code them into a template file.
- Pages are... pages! You set these up in ProcessWire, and when prompted select the template you want to use. You are then able to input your content into the fields that have been added to that particular page and once published, it'll render to the front-end of that page!
If you'd like to find out more about how these all work, you're in luck. ProcessWire has a boundless supply of user documentation, tutorials, and API cheatsheets to get you to grips with everything there is to know.
2. It puts design first
Coming from a web designer angle, I really wanted something which allowed me to fully incorporate my designs and ideas without limitation. ProcessWire doesn't require you to follow certain frameworks or formulas, and gives you complete control over your markup. This is great for front-end developers who aren't overly familiar with working their design into a CMS as markup can be as simplistic as you like. As you grow more accustomed to using ProcessWire you can make your markup more complex.
I also wanted something which made sense from the very start and didn't feel completely foreign. ProcessWire compares its API to jQuery and it's certainly true that there are comparables in how they function. For instance, ProcessWire uses naming conventions for its methods which are near identical to jQuery's. This lowered the learning curve too, which enabled me to put more focus on implementing my design.
3. Module Library
ProcessWire modules are basically like Wordpress plugins, although you get the impression that things aren't just built for the sake of it. This means that there isn't an endless amount of modules which can be used to do just about anything and this is definitely a good thing. As you look through the list of modules you get impression that most of them have been made because there is an actual need and purpose for them. Additionally, all the modules I've so far used have worked very well. Take the ProcessBlog module for instance; that's what I used to build out the blog you're on right now!
4. The Forums
Fortunately, I've only ever had to ask a question once in the PW forums as most the time the documentation has everything you need to know. If you do become stuck or want to know how to do something you just can't find the answer to, you can submit your question within the forums. Everyone there is really friendly and want to help you learn and understand.
There's a whole other bunch of reasons to go with ProcessWire (I didn't even mention it's free!), but these were the ones that really stood out to me. Here's even more information on ProcessWire, why it's unique and why you should use it!