1-3 March 2019

City, University London

Frontend Components: Balancing between Reusability, Flexibility and Maintainability


Any experience with, or willing to use the Design Systems or Patterns/Component Libraries.

Session details

Everyone talks today about how to implement Frontend Components. But once you know how to implement them you most likely need to reuse them between projects, or at least between different instances within one project. And here is where this talk could help you.

This session is less about implementing the particular components and more about architecture of components as a system. In other words, we will talk about how to reuse, customize, maintain them and balance in between.

Part I: Concepts:

  • Separation of concerns (aka MVC): data, styling, functionality.
  • Inheritance and multiple inheritance.
  • Data interfaces and contracts.
  • Reusability vs Flexibility vs Maintainability.


Part II: Techniques:

  • Maintain separate components and manage their dependencies (eg: Yarn Workspaces, git submodules).
  • Control components in a declarative way and w/o js (eg: data- attrs).
  • Provide components with data and build all together (eg: Twig includes).
  • Integrate components with Drupal or other CMS.
  • Organize components in Fractal or other pattern library.


Part III: Workshop/demos:

  • Basic component.
  • Carousel: Generic, Custom by style, Custom by behavior.
  • Gallery: Generic, Custom by style, Custom by behavior.
  • Modal: Generic, Custom by style, Custom by behavior.
  • Compound: Carousel+Gallery, Gallery+Modal, Timeline (Carousel+Gallery+Custom).


In this session I want to share a real experience when designing a frontend architecture of large multi-lingual and multi-layout Drupal websites for enterprise, academics and digital.

However these techniques can be applied for almost ANY project disregarding its size and frontend/backend frameworks.

Skill Level
Session Track
Scheduled day
Session Time
12.05 - 12.50

Keynote speakers

Rowan Merewood

Developer @ Google

Saturday AM

Preston So

Director of R&I @ Acquia

Sunday AM

Sally Young

Developer @ Lullabot

Closing Keynote

Drupal apprentices

The best people to train new developers are developers

The Drupal Apprenticeship Scheme will be running a London intake in March. If you are interested in hiring an apprentice or know someone who would benefit from the scheme please get in touch via the link below.

  • Created and run by experienced developers
  • Teaches core skills and best practice
  • Extensive support for businesses and teams

We are also really keen to hear from people who might be interested in mentoring, training and helping us to develop and review training materials to make sure they stay absolutely current and relevant.

Find out more

Join the Drupal Association

The Drupal Association unites a global open source community to build and promote Drupal.

The Association is a not-for-profit organization that relies on individuals and businesses to fund everything they do for Drupal — from drupal.org to DrupalCon and community programs.

Connect with us and support our mission-driven work.

Support the Drupal Association

Hosting provided by