Drupal 8 Module of the Week: Services

Each day more Drupal 7 modules are being migrated over to Drupal 8. In this series, the Acquia Developer Center is profiling some of the most prominent, useful modules that have crossed the chasm. This week: Services.

Kyle Browning, Drupalist since 2006 and Technical Consultant at Acquia, provides some insight on this Top 150 Drupal module he maintains.

What does the Services module do?

Services module provides a standard way for Drupal site builders and engineers to enable and build an API, which allows external clients to communicate with Drupal. Based on Drupal.org data, Services is in use on more than 37,000 sites.

Services is an important module for developers because it provides a standard way to build APIs. This consistent implementation, in turn, allows them to collaborate faster and more easily across projects, and build more extensible APIs. It is also a key component for building today’s web-services-based digital businesses with Drupal; helping it power native mobile applications, sites built with front end frameworks like Angular.js, and more.

PAW, an HTTP Client for Mac OS X, calling a Services endpoint

When was Services created?

I personally took over development when it was in the 2.x stage. This happened in October of 2010. A few months later I took Services from 2.x to 3.x and have done the same for 4.x which is Drupal 8 only. I was constantly building iOS apps that communicated with Drupal and needed a standard way to access Drupal content. Eventually I built the Drupal iOS SDK as well.

Has Drupal 8 changed this module?

Yes, drastically! Drupal 8’s web-services-focused core takes over a lot of heavy-lifting for us and lets us focus more on providing a great, standard implementation. D8’s serialization support in core helped reduce the amount of code and complexity we have to maintain in the module, compared to the 7.x-3.x version.