6 More things to know if you are a Drupal Developer
The new year started with 6 things to read if you are a Drupal Developer and today we discuss 6 more things that should be handy for you to move up the scales with Drupal.
Command Line Interface:
Having an in-depth knowledge of Command Line Interface (CLI) brings more productivity to the developer. The one who is a CLI Ninja quickly automates repetitive tasks and also enhances the ability to use tools like Drush that perform tasks quickly without requiring a developer to navigate more than 3 mouse clicks to complete the overall process.
The CLI for Drupal is Drush - Dru for Drupal and sh for Shell.
Drush is a command line shell and Unix scripting interface for Drupal. Drush core ships with lots of useful commands for interacting with code like modules/themes/profiles. Similarly, it runs update.php, executes sql queries and DB migrations, and misc utilities like run cron or clear cache. Drush can be extended by 3rd party commandfiles.
The CLI provided by Drupal, Drush has been highly valuable and widely used feature, with the introduction of Drupal 8, Drupal console has come to light. Drupal Console gives an object-oriented interface and a myriad of utility functions provided by the Symfony Console libraries. The Drupal Console APIs are great, but presence of of two standards has lead to some duplication of functionality, which increases maintenance costs. This is mainly for features such as site install and configuration import / export, which to be adjusted occasionally to keep pace with changes made in Drupal core. This situation also creates confusion for module developers, who must decide which API will be best for their project.
If you have been learning Drupal you would know that the changes from Drupal 7 to 8 has seen major changes, and it is a very important part of development, Drupal 8 does replaced template.php with Twig. To learn and use these, it is very important for a skilled Drupal developer to understand and work on the principles of theming.
A Drupal developer should have their own base theme, and not always rely on something pre built, it helps to improve Drupal theming skill and the most effective way to learn is to practice, and make one for yourself from the scratch. D8 and D7 theming are completely different and one must know the differences
Package Managers help in installing, upgrading, configuring, and removing software, developers use package managers as an easy way of distributing reusable libraries and plugins it saves time spent to setup, upgrades or pushing to production servers. A good package manager works to be a life saver!
Composer is a dependency manager for PHP. Drupal core uses Composer to manage core dependencies like Symfony components and Guzzle.
It can be about installing Bootstrap and Sass from Node or Drush from Composer, it is necessary to know exactly what you are doing before running commands on your system.
CSS, as a language has its own set of features, but that might not always be enough to create codes which are clean and reusable. CSS Preprocessors comes handy here, it reduces a lot of css work, write once like functions and use it in many places. It is used to add new modules minify css and js files and other stuff.
CSS Preprocessors offers an advanced way of creating CSS, extending the basic functionalities. But the decision to use it should depend on your expertise level, project requirement and of the team as a whole. But you should have the knowledge where you can take the call to use it or not.
Knowledge of the CMS:
Drupal is one of the niche things publishers use that gives a good ROI from both the developer’s and Content Manager’s side, a smart developer should know the way to relate between them both. How a platform helps the author, the manager and other stakeholders and users at various stages of the product will be having a great impact on the development of the product.
Hence it is imperative for you to understand not only the development and other technicalities of Drupal but also as a CMS so that you work for the underlying business objective of the platform.
Basics of Debugging:
They say that the more experience you have building stuff in Drupal the more time you will save by Debugging. Sometimes error messages are not enough to drill down into the details of a fault and there is where experience comes handy. Delve into Devel or XDebug to find errors.
Legends say, these 6 above will be a great addition to extensive Drupal Development! ;)
In Continuation to the post we will "Meet some Drupal Developers"