Recs.
Updated
SpecsUpdate
Pros
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!
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 Easy to learn
Processwire is extremely easy to learn. Consider this:
echo $pages->get('title=Hello World')->title; // "Hello World"
echo $pages->get('title=Hello World')->parent->title; // "Home"
echo $pages->find('Template=Category')->count; // 126
echo $pages->find('Template=Category')->each('title'); // ['Audio', 'Video' …]
Selectors are so powerful but yet so easy.
Check out the cheatsheet.