Speaker: Hernâni Borges de Freitas
Level: Intermediate
For years we heard the most common excuse a developer can have when facing a bug that reached production: It worked on my computer!
As developers we got used to develop on our laptop, using a local IDE, push and integrate in test environments and finally deploy to production. This has been the most normal lifecycle for every line of code we wrote.
We do this, acknowledging the challenges of managing and stabilizing local developments, which degrades our development experience and reduces the time we are actively developing.
Over time, software web development became more complex and with more dependencies. Containerized solutions for local development as DDEV and Lando became the standard way to setup local Drupal developments but truth is that it is harder today to have a simple and stable local Drupal development environment that it was 10y ago.
There are growing pains on local development, including performance bottlenecks, security concerns, and the ever-present struggle with changes in operating system and dependencies.
This complicates Drupal development for beginners, adds complexity when switching project and context, and raises the barrier for quick code contributions for Drupal.
Remote development was always possible, but never felt the same as local. This has changed in recent years with progresses on remote support for most common IDEs (VSCode and PhpStorm) and the appearance of complete Cloud Development Platforms such as Gitpod.io. They make possible to use your laptop solely as a client/terminal to your powerful remote development environment. In reality you don’t even need a laptop, any device running a browser is enough.
The Drupal community rapidly understood this paradigm and we see a growing number of companies and developers opting for this option when teaching, contributing and maintaining Drupal projects.
In this session we will explore this problem and present several solutions for remote development:
- What is needed to setup a remote development environment for Drupal
- How to prepare a Drupal website for remote development
- What are the options for remote development and ephemeral environments creation
- How to have a complete toolset including xdebug, drush, phpunit and others fully working -as they do in a local setup
- Explore Gitpod.io and its potential when developing customer projects and Drupal contributions