As we all know, D8 is a major rethinking of Drupal APIs, and little to no code can be expected to remain basically unchanged when updating to D8.

Which is a problem for all "serious" Drupal (i.e. "several months long") projects these days: it is not yet time to launch them on D8 alpha, and developing them from scratch on the soon-to-be-replaced D7 API seems like a major waste of time.

What if there was a better way ?

Turns out there is: most of the changes in D8 rest upon a change in code architecture, regardless of the actual way it is implemented: hook-heavy procedural modules with Drupal custom autoloading, are replaced by decoupled components working together in a service model via dependency injection, implemented as classes autoloaded according to PSR-(0|4).

And this is a technique which can be implemented today, even on Drupal/Pressflow 6. Using it, developers can expect a minimal rewriting work when reusing their components on D8, or possibly on non-Drupal code bases, especially ones based on the Symfony2 components like Drupal 8 (think Silex framework, for web services).

In a similar vein, Twig templating, one of the hallmarks of D8, is available today on D7 too, DBTNG changed very little from D7 to D8, and is available on D6. And more such future-proof techniques are already available on our dear ageing platforms, where they provide a low-cost migration path to the shiny future of D8.

This presentation will review these techniques.

Who should attend: D6/D7 developers (i.e. coder, not site builders) not yet familiar with D8. Those already familiar will D8 are unlikely to learn much there.

(note: I'm not sure whether is should be 20 or 40 minutes: the talk itself is likely on the shorter side, but questions might be long).