📜 ⬆️ ⬇️

Drupal 8 released - critical look


After four years of development, a stable version of Drupal 8 finally came out. At the same time, the community’s reaction was quite divided, some believe that this release has every chance of completely overthrowing and replacing Wordpress, others that after so many years Drupal has lost most of its user base and is unlikely to collect it back. The whole reason is in a different ideology than in other CMS, Drupal 8 focuses on extensibility and ease of development instead of just editing the content. As a result, it will be possible to truly appreciate it only in two years, when the module base has already been filled. But once it has already been released, we will try to look at the functionality that is in terms of development today.

Symfony 2
From the very beginning, the most sensational news was about switching to Symfony 2 components. This greatly simplifies the entry threshold for those developers who are already familiar with them, but can scare away many people who are accustomed to functional Wordpress programming. But the assortment of plug-ins depends on the size of the community and is an important factor when choosing a CMS. By the way, it is worth noting that Symfony2 is not the fastest framework, which leads to the next item.

Work speed
The beta benchmarks showed a 3-4-fold drop in speed compared to Drupal 7, which itself was much slower than Wordpress.

image
')
But infanty convinced me to try to make a separate benchmark, I created DigitalOcean a droplet for $ 5 / month and here are its results:

Cache on

#siege -b -c20 -t60S http://xxxxxxxx/drupal7/taxonomy/term/1 Transactions: 11892 hits Availability: 100.00 % Elapsed time: 59.10 secs Data transferred: 36.69 MB Response time: 0.10 secs Transaction rate: 201.22 trans/sec Throughput: 0.62 MB/sec Concurrency: 19.93 Successful transactions: 11892 Failed transactions: 0 Longest transaction: 1.31 Shortest transaction: 0.03 #siege -b -c20 -t60S http://xxxxxxxx/drupal8/taxonomy/term/1 Transactions: 5843 hits Availability: 100.00 % Elapsed time: 59.84 secs Data transferred: 20.48 MB Response time: 0.20 secs Transaction rate: 97.64 trans/sec Throughput: 0.34 MB/sec Concurrency: 19.96 Successful transactions: 5843 Failed transactions: 0 Longest transaction: 1.36 Shortest transaction: 0.07 


More than two times slower compared to the previous version!
Another benchmark born thanks to chilic from today's holivor: devhell.ru/drupal-7-vs-drupal-8-performance

Built-in CKEditor
Finding a beautiful WYSIWYG editor for Drupal 7 has always been a challenge. The standard editor had a very severely curtailed functionality and looked like a child of the 90s, especially against the background of the built-in Wordpress editor. Today's CKEditor looks much better.

image

Further there is no picture manager
You can upload a picture to the article, but the functionality is significantly truncated. Wordpress has a download manager, automatic resize for several sizes, even a banal deletion. In Drupal 8, you can simply load and paste. Of course, over time, someone will make a module with the necessary functionality, but so far nothing has happened.

Quickedit
This is a new opportunity to edit the text directly on the page, which is very convenient for quick edits, looks beautiful and is easily sold to customers.

image

Views out of the box
The most popular plugin from Drupal 7 that allows you to build arbitrary lists of content, widgets and stuff is now available out of the box. In fact, he was a killer feature, so that his inclusion in the Core can not but rejoice.

Twig
Drupal 8 now uses the same template engine as Symfony2. A good decision, I think, many will like it.

Built-in multilanguage
It looks very good and may well become the point of choice for Drupal 8 for many sites.

Under the hood



REST API
A very interesting feature that opens up many opportunities for a bunch of site, for example, with mobile applications.

Own code style
I really hoped that if they decided to take Symfony2 as a basis, they would use their standard code, but no. Instead of the usual PSR-2, our style of code is based on the old PEAR standard.

Not exactly OOP
If you were annoyed by all sorts of hooks, arrays and magic lines in Drupal 7 that you should know by heart and you expected a beautiful OOP approach, then there is also a bit of a disappointment. The code still runs around the arrays, the magic lines migrated from the hooks to the .yml configuration files. But there is a DI container.

Own ORM
The idea to build Drupal 8 on Doctrine was only partially completed, only a parser for annotations is used from it. At least it was possible to take also DBAL. In any case, just the ORM is the most frequently used part after a templating, it would be good not to reinvent the new bike.

My thoughts


I do not think it will shake Wordpress. The speed of work and development are critical factors for many companies that make sites for the order. Most likely, it will occupy a niche framework for more complex sites, maybe even slightly replacing Symfony2 on the market.

You can try Drupal 8 here (registration is required, but you do not need to confirm email).

Source: https://habr.com/ru/post/271323/


All Articles