My second Drupal 8 site is live!

Now, I am not going to blog post about every new site I make (and I make lots of them), but I can't help blogging about this one, since this one was very hard and very gratifying. I have taken this task when contacted by a Stuttgart company named COBI to move their static site to Drupal 8. This was the same month when Drupal 8 just got released, so you can imagine my skepticism. The original static site was very front end rich and versatile, and the idea of reorganizing it into a set of manageable back end and front end patterns seemed daunting, especially given the freshness of Drupal 8. However, we took the risk, and I must say, Drupal 8 has not let us down. The content patterns were mostly built and themed based on the paragraphs module. This work was performed together with Kerim Hadri, a front end developer from COBI, who has joined in the project later on.

About COBI: "COBI is helping to revolutionize the overall cycling experience by connecting your smartphone to your bike. This award-winning system provides bikes with intelligent assistance. The result is more safety, convenience, and fun on any trail or bike path. Discover how COBI is shaping the future of bike-based mobility and enjoy biking to its fullest."

Lessons learned:

  1. I really got to love Drupal 8 during that project. Like I have said above, I had some strong skepticism, but I was really impressed by the flexibility that Drupal 8 allows in data architecturing, and by the flexibility that the Drupal 8 theming layer and the Twig templating engine allows.
  2. This was also when I discovered how Drupal 8 can powerfully interact with the PHP libraries using Composer Manager.
  3. The site uses many front end libraries. It was a pleasure to manage them by declaring them in the YML files.
  4. Overall, I could see, how the complexity level has increased. Url is an object. Link is an object. Sometimes, it takes three lines of code where there used to be only one (especially when dealing with urls and links). However, once you get used, it becomes acceptable, especially given the benefits of handling these things in a orderly way.
  5. Paragraphs saved my day a lot. Especially given the fact that the pages for this project consisted on multiple layers, like some lasagnia.
  6. Some things that I missed were managing images library, the ability to choose en existing image rather than upload a new copy. There have been some solutions since, like Media Entity (Used in the Thunder distribution), and the File Browser. However, none of these were used for this current project.
  7. Drupal 8 is very snappy. That was true of Drupal 8.0, even before there was BigPipe. I have had measurements some time ago (somewhere in my blog history), that showed, that Drupal 8's response times are about 2 times slower than that of Drupal 7. Something like 100ms against 50ms). However, when actually working with Drupal 8, that 50ms difference is not visible, and the way that Drupal 8 delivers content does seem smooth and robust on a perceptional level.

Overall, it was this project that convinced me, that I can work with Drupal 8, and more, that I love Drupal 8. Strategically, one big lesson that I learned, is that I can build a quite complex site with Drupal 8 already, even though many Drupal 7 modules have not been ported yet, if I don't stick to the Drupal 7's choices and instead explore the new alternatives that have appeared with Drupal 8.