Recs.
Updated
A friendly and powerful open source CMS with an exceptionally strong and straightforward API.
SpecsUpdate
Pros
Pro No dedicated theme or templating system
Processwire outputs most data "as is" rather than creating a complicated theming or templating system that has to be tracked down and customised. In consequence, the dev can use any framework or any JS out of the box as if designing a static site, then use PHP and the powerful PW API to call the data.
Pro Very active community
Members are quite helpful, no question is left unanswered.
Pro A good collection of first party and third party modules (nearly all free) for adding a variety of functionality
Pro Fast without caching, small footprint (less than 2000 files) for a full featured CMS/CMF
You can optionally use Composer but you are not forced to. Upgrading can be done via the admin and it is a very easy process. Security is exceptional, no hacking incidents have been reported so far.
Pro Powerful and easy API
The API is jQuery like;
// find some pages:
$pages->find('template=skyscraper, architect=john, sort=title')->limit(4);
// mutate
$pages->get('title=Hello You')->set('title', 'HelloWorld')->save();
$pages->get('title=Old')->trash(); // trash page
// check user…
$user->isLogedin();
echo $user->name; // guest
$session->login($name, $pass);
$session->logout();
// redirect
$session->redirect($url);
Pro Template Engine agnostic
By default, ProcessWire comes with 0 assumptions on how you handle the output. You have 100% freedom on how you want to develop the frontend. Want to plain output stuff, go ahead. Want to use any number of Templating Engine, do it. Just use as Headless-CMS, okay!
Cons
Con This CMS is not for those who just want to download a frontend theme
ProcessWire has no concept of frontend themes like other CMSes have. Instead, you can customize some free frontends if you have basic HTML/CSS/PHP knowledge or hire a developer to implement a complete custom frontend according to your own needs.
Another option is to learn the basics of web development and you can implement your own frontend easily because that is one of the main strengths of the system: makes it easy to get into complex web development if you have the time to learn.
Recommendations
Comments
Flagged Pros + Cons
Pro Template Engine Agnostic
By default, ProcessWire comes with 0 assumption on how you handle the output. You have 100% freedom on how you want to develop the frontend. Want to plain output stuff, go ahead. Want to use any number of Templating Engine, do it. Just use as Headless-CMS, okay!