Perhaps a bit early, but there are some things that I'm excited about in the coming year that I want to share, the following topics pique my interest:

  • Rapid application development;
    • Standarization,
    • Acceleration,
  • Reactive programming;
    • Event driven applications,
    • Reactive in enterprise applications,
    • Message brokers in the web,
  • Docker and related.
First of all, rapid application development is something that we've seen a lot of last year. Mostly driven by DevOps gaining (a lot of...) popularity. Primarily, we've seen the rise of Spring Boot, by quickly starting up users with good documentation and easy-, well-accessible-tools. I suspect other big players doing similar things with their respective platforms. There is nothing fundamentally changing here, just providing better access to everything that's already there. Something that is changing is standardization. SpringIO is a good example of this, by providing a tested set of a working dependency tree, we can improve the reliability of our applications and should make subsequent upgrades easier. By pre-packaging what the open-source community is providing, others can work much more effectively.

Typesafe has done it's very best to make reactive programming a hot topic, relatively successfully. Although I'm not sure that the approach that Scala & Play offer works well for the enterprise, where more stability is needed than they (can?) offer. Some other cool stuff is happening though to make this more relevant. In an increasingly distributed world, cutting up logic in smaller bits and ensuring these can be distributed is a principle that's becoming more popular. Although, again, DevOps is part of the popularity here. But in enterprise development, these concepts are not applied a lot yet, as it requires a much more product centered approach. Enterprise development is still project oriented. For reactive programming to break through in the enterprise, it'll have to fit in a project oriented approach. Making your logic smaller invites a more event-driven approach. This (event driven) approach is supported by Akka in Play (with Scala), in a more JavaEE oriented environment, a message broker tends to fulfill this role. This is the part that I'm really excited about, as I think it's really a game changer, is putting these together. Exposing message brokers in web applications to allow (proper!) event driven web applications.

Last but not least, Docker is immensely popular, although it's being received critically, so alternatives are popping up, like Rocket. I'm really curious to see where containers such as Docker and Rocket are going to. Most of all, I'm curious to see if there's some strong competition for the traditional rpm/deb style of packaging.

Lot's of exciting new things waiting for us then!