What 2017 brings for a Java developer?
The New Year and Christmas it’s a good time for Java developers to wear a warm sweater with deers. And of course it’s an excellent moment to summarize the previous year and make some plans and forecasts for the next 2017. Personally for me, it’s almost tradition, I’m going to continue it and write a couple of thoughts about 2017 for Java developers.
But before this, let’s try to recall what has happened in 2016.
Cloud of Events in 2016
Java 9 hasn’t been released yet. But at least we know that it will have HTTP/2 support and JShell for experiments with a code. Microservices have become something absolutely normal, whereas monoliths sound like something ancient. Streams… You know, reactive streams were exposed on all conferences this year! Data engineers, data scientists, data pipelines… Of course Java isn’t relevant to all of these “data” phrases, but JVM-platform provides so amazing ecosystem for data: Kafka, Spark, Flink, Cassandra… This amazing Apache “squad” has made a significant progress in the last year.
I remember about spreading of functional programming onto object oriented territories of Java kingdom 🙂 In support of this, just take a look at number of conference talks about ReactiveX, Akka or Javaslang. This circumstance shows us a direction where Java developers have to look.
So that’s how I remember 2016. Write in comments your memories from the last year. It would be interesting to read what impressed you in JVM world in 2016.
General Java Forecast 2017
So what 2017 brings for a Java developer? It will be definitely rich on events, releases and news. But let’s be consistent. The most dramatic moment in 2017 should happen in July. I’m talking about Java 9 release. And this means that you have not so much time, to start finally use lambdas from Java 8. I hope you have already learned how to use them, otherwise shame on you Jon Snow!
Looking at JDK 9 features, it’s not hard to predict that Java developers will need to learn how to use at least two of them: HTTP/2 client and Modules. As for me, the rest of features like micro-benchmarking or system processes API wouldn’t be so popular among Java developers.
Web Java Forecast 2017
When someone from Java community starts speaking about web development, I bet, there is 99% chance that Spring framework is discussed. Here is a good illustration of this:
So what to expect from Spring Framework in 2017? You won’t believe me but Spring will become functional and reactive this year! So you have no any chances to avoid functional programming, at all 🙂
Ehhh… Stop, but what about Java EE? This is a good idea to stay in good relationships with OOP: use Servlets and JSPs for web apps. Say NO to functional programming.
In order, to complete the web forecast, I have to mention Lagom. I don’t know have you ever heard about it, but this is a new player in JVM web-game. I can not say that this is a game changer, but its ideology looks pretty modern. Its main purpose is to help Java developers to decompose monoliths into microservices. Lagom already has multiple releases of Java API. But what I’m waiting for, is first release of Lagom Scala API.
Play Framework also looks promising. Since its release 2.0, a web development remains productive 🙂
Plans for 2017
As you probably noticed, this article is published on my blog. So it makes sense to write about my plans for 2017, in order to notify you about content which will be released here over this year.
I’m planning to complete the Scala specialization on Coursera. I have already completed 3 out of 5 courses. Why I have chosen Scala specialization? Well, I’ve already explained this decision in another blog post. If to be concise: a functional programming displaces OOP more and more, hence it’s a good idea to know a suitable programming language for this purpose.
The 4th course from Scala specialization is dedicated to Spark. So definitely I’ll write some posts about Apache Spark.
Apart from this I want to work more with some tools for reactive programming. I mentioned some of such tools above. Probably I’d choose Akka.
That’s pretty all, what I wanted to say. Now you know what to expect from this blog in 2017. Of course I’ve prepared an extra surprise content for my readers. This year will be definitely interesting for those of you who are ready to learn something new and functional!
And what about your plans for 2017?