5 Striking changes I found in new architecture of Drupal 8!
I am so glad that my Dear friend Ashwini broke the ice for us. And I would
like to thank him for the same, I followed the steps and Bingo!!!
I have Drupal on my machine. I walked little further and quick look over changes.
Most striking changes I found :
1) The biggest bang, if you haven't heard of is "Symfony meets Drupal 8"
Yes, that is correct! Drupal 8 has adopted many low level components like
HttpFoundation, HttpKernel, Routing, EventDispatcher, DependencyInjection, and ClassLoader from
Symfony to achieve more structured code & semantics with the help of OOPs,
which community was waiting a while.
According to me Drupal will achive the same objects transmission through out
the flow with better encapsulation.
"By adopting HttpKernel, Drupal and Symfony projects will become more interoperable.
It means that you will be able to easily integrate your custom Symfony applications with Drupal... and vice-versa."
- Courtesy Fabien Potencier, www.symfony.com (http://symfony.com/blog/symfony2-meets-drupal-8)
2) New drupal 8 has Twig as template engine. Personally I was waiting for such change in drupal after
working for last 5 years. It was always a wish to have template engine as a part of core to speed up the
performance. I hope it will be fast, secure & flexible as it is mentioned on http://twig.sensiolabs.org/.
Thanks to Fabien Potencier. But I guess this is also because Symfony2 has it.
3) The next thing made a tick was the folder structure & separations. Now drupal has structure like
core, modules, profiles, sites, themes and index level files with ROBOT.txt. The core has drupal's
traditional file & folder structure but there you can find additional folder called as "vendor".
This is the folder where symfony components resides. You can find
Symfony classes :
Symfony framework classes
Twig :
Twig is a modern template engine for PHP
Composer :
Composer is a tool for dependency management in PHP. It allows you to declare the dependent
libraries your project needs and it will install them in your project for you.
Doctrine :
The Doctrine Project (or Doctrine) is a set of PHP libraries primarily focused on providing
persistence services and related functionality.
EasyRDF :
A PHP library designed to make it easy to consume and produce RDF.
Guzzle :
Guzzle takes the pain out of sending HTTP requests and the redundancy out of creating web service clients.
By bunch of all these, drupl 8 was never powerful than this.
4) While administration I did not find many changes than admin menu structure. But there are some modules
included in core than drupal7.
Majorly,
Views is part of core now.
ckEditor is in there, which was surprise to me as I always prefered TinyMCE for Drupal sites.
Language module is included in core for i18n.
With curasity I tried to have contents in two differant languages and it is user friendly.
Though personally I feel adding plugins in CKEditor is pain and needs improvements.
5) Last but not the least for now, documentation of hooks available for Drupal 8 is ready before
it is stabalizing core. It is at http://api.drupal.org/api/drupal/core!includes!module.inc/group/hooks/8.
And I am happy that it will really help community to conribute back to core modules/themes, core & contributed
modules/themes.
I will try to explore more and will try to share more in upcoming posts.