Grav vs ProcessWire
When comparing Grav vs ProcessWire, the Slant community recommends ProcessWire for most people. In the question“What is the best PHP CMS?” ProcessWire is ranked 1st while Grav is ranked 12th. The most important reason people chose ProcessWire is:
You will always find one to respond politely in the forums. Sometimes even the creator Ryan Cramer himself.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Can be hosted with any provider
Since Grav is built with PHP, it can be hosted on almost all web hosting providers. If the provider supports Wordpress, they also support Grav.
Pro Easy creation of templates and content
Supports Twig for templating with Parsedown for fast Markdown and Markdown Extra support.
Pro Easy to use admin panel
Well designed, easily usable and modern admin panel is a boost as it lets Clients edit the content easily.
Pro Custom fields for content
YAML-based page headers allow you easily add custom dynamic fields to your content.
Pro Open-source and free
Pro Extensive Documentation
Documentation is not an afterthought! Grav has a dedicated documentation site plus loads of tutorials and guides.
Pro Extensive documentation
Documentation is not an afterthought. Grav has a dedicated documentation site plus loads of tutorials and guides.
Pro Built-in package manager
Pro CLI Tools
Command line tools such as dependency installation, cache clearing, user creation, and backups.
Pro Nice and helpful growing community
You will always find one to respond politely in the forums. Sometimes even the creator Ryan Cramer himself.
Pro Custom Fields on steroids
ProcessWire is heavily based on custom fields. All objects (Pages) inside ProcessWire are based on extensible templates comprised of fields that can be easily defined. Many useful fields come prebuilt and they can be extended with modules.
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.
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 Powerful selector engine
The way you fetch, access and manipulate objects (Pages) in ProcessWire is extremely powerful and easy. You can receive any page and its custom fields, filter, travers, add…
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 Extensible
Either using the modules already available or writing your own module, using the jQuery-like API.
Pro Open source
Source available on GitHub.