A training workshop by Mediacurrent.
This is a hands-on training workshop which will walk you through the process of building components and integrate those components with Drupal 8. Component based development is typically broken down in 3 parts:
Building stand-alone components with Twig using Pattern Lab.
Building Drupal's back-end.
Integrating Components with Drupal.
Components are portions of reusable code within your system and they serve as the building blocks of your application’s interface. Components range in complexity. Reducing components to a single atom, like a button or a drop down increases flexibility, making them more reusable. More complex components, like tables for specific types of data, can serve their use cases well, but this complexity limits the number of applicable scenarios. The more reusable your components are, the less you need to maintain, and the easier scale becomes.
Contrary to the top-to-bottom theming we have been doing for years, components allow us to build and theme our websites by breaking it down into pieces. This presents several advantages over traditional theming including reusability, better CSS structure, limited CSS nesting, less risk of regressions and more.
Drupal 8's new templating system is a themer's best friend. Twig's easy to read and learn syntax can be leveraged to write powerful logic in your theme without resorting to traditional PHP templates.
While building components we are given the opportunity to architecture markup in the best way possible to ensure our components are as flexible and lightweight as possible. By using BEM to name our CSS classes and SMACSS for structuring our theme we can achieve tremendous control and organization of our themes, markup and styles.
Front-End tooling has evolved and has become a complex combination of plugins, libraries and dependencies which can add overhead to our projects.
In the process of this training you will be exposed to tools such as Node, Node Package Manager (NPM), Gulp, Node Version Manager (NVM), and several other libraries and plugins essential for an advanced and modern front-end environment. No worries though, these tools are already integrated in our custom front-end workflow so you don't have to install these tools
Laptop computer with latest versions of your favorite browser
Text editor of your choice
Basic knowledge of HTML and CSS is required
Good understanding of Twig is helpful but not required