Waterwheel, the Drupal SDK ecosystem

09/27/2016 - 10:45 to 09/27/2016 - 11:45
Wicklow Meeting 3

As Drupal begins to be more widely used as a back end for web services and for application ecosystems by extension, developers of wildly diverse backgrounds are now consuming and manipulating data from Drupal in unprecedented ways. With Drupal 8 and core REST support providing an API-first vision for the decoupled future, it is eminently well-prepared to back a bevy of applications with divergent approaches. There's just one problem: non-Drupal developers don't speak Drupal.

That's where Waterwheel comes in. Waterwheel is an emerging ecosystem of SDKs built by the Drupal community that accelerate development of applications in other technologies. If you will momentarily forgive the flawed metaphor, Waterwheel helps non-PHP and non-Drupal developers "speak" Drupal.

Over the last quarter, a small team of contributors has been collaborating on the initial minor versions of waterwheel-js (formerly known as Hydrant), a helper SDK that helps JavaScript developers easily query and manipulate Drupal data. Development is being led by Matt GrillTed Bowman, and Preston So. waterwheel-js can be used on both server (Node.js) and client (in the browser) and in progressively decoupled or fully decoupled settings. Our longer-term vision is to facilitate the construction of application components in major JavaScript frameworks which can be easily composed to rapidly create a fully decoupled Drupal-backed single-page application.

We are also welcoming the waterwheel-swift SDK, formerly known as the Drupal iOS SDK and the work of Kyle Browning, into the ecosystem as part of a growing suite of SDKs for Drupal-backed applications. waterwheel-swift provides full support for consuming Drupal 8's core REST API as well as session management and authentication capabilities.

The purpose of this BoF is to talk about and discuss the various SDKs powering Drupal-backed application development, how to push Drupal adoption forward when it comes to those outside our community, where there are gaps or needs in our existing work, and how we can collaborate to supercharge Drupal usage by non-Drupalists!