The demon laughs. 2018 Java neighborhood dare choice.

Since Java has a long history, there are various options for selecting various libraries and tools. That's one of the nice things about Java.

But, however. Here, I dare to try to select the items that should be selected for each item. It also describes what you should choose and what you cannot choose. It's completely subjective, it's a story and a poem. Please read it for fun.

version

Java 8 Java 9 has been released, but due to the delay in supporting various libraries in Jigsaw, it will not be fully introduced yet. Instead, the Java 8 Function Paradigm (https://www.ibm.com/developerworks/jp/java/library/j-java8idioms1/index.html) is reflected in more software and the source code is refined. It will be done.

Second runner Java 10 (18)

The Java version number will be Linked with the Christian era ~~. ~~ Lost That's right. Don't study! Advent calendar! Java will also introduce var. Come on.

Failure Java 7 or less

Let's update.

Compiler & runtime

OpenJDK It's time to start using OpenJDK in earnest. You can download it from here. There is also OpenJDK is a faster platform.

OpenJ9 IBM's OpenJ9 has been open sourced. It is expected that it will be integrated into OpenJDK and a high-quality JVM will be created. However, at the moment, there are only Linux and AIX versions, so expect it in 2018.

Failed Oracle JDK

Somehow, it is messy by the provision method, and [specific use in Docker is gray](https: // www .infoq.com/jp/news/2016/04/docker-java) But let's stop using it. Eventually, it will be integrated into OpenJDK!

Framework

Spring Boot It's the most popular) (I think) framework right now. Once you remember it, you can use it not only on the Web but also in Batch. 2.0 will be released soon and will be stable next year.

Second runner Vert.x

Will you come? Event loop that is also reactive in Java.

Failed Java EE

It's really messy. Outside the technology. You don't have it anymore. (Subjective) At least I think you should wait and see. It's still good to work internally, but I think developing directly on Java EE is outdated both as a paradigm and as a feature. It has become too profound and magnificent, and the direction of the clouds is suspicious.

Failure screen framework (JSF, Wicket)

Let's leave the client layer to JavaScript.

Build tool

Gradle This year, it's a 100x faster tool. It will be rock solid next year.

Second runner Bazel

If you think that it will be popular as a better Gradle, it will not come easily.

Failure Maven

You don't have XML anymore.

IDE IntelliJ IDEA Android Studio has also changed from Eclipse-based to IntelliJ-based, and the name of the strongest IDE is vertical.

Second runner Visual Studio Code

To be precise, it is not an IDE but a high-performance editor, but since it incorporates the latest technology such as following various front technologies, it was ranked second.

Failure Eclipse

I really want to use IntelliJ. But I have no money, so I have to use Eclipse. Currently, small jobs also use Eclipse. It's no longer an easy-to-use IDE because it can't keep up with the latest JavaScript and web frameworks. I failed with the expectation that I could use IntelliJ next year when I could spend money.

notation

Functional type

Let's adopt Lambda and Stream API. Lombok var is likely to come, but you also want to use val.

Failure for

Let's use Stream. for prohibited.

Failure if

Let's associate the value with the process.

Version control tool

Git Use Git with A successful Git branching model.

Failure Subversion

Once I use Git, I don't understand the meaning of using Subversion. Please let me know if you understand.

Failure CVS

What?

Git hosting

GitLab We are enthusiastically incorporating various functions such as CI integration. The day to overtake GitHub is near! ?? This year, there was Data loss on GitLab.com, but I was selected with the expectation of further evolution.

Runner-up GitHub

It's already the de facto standard, isn't it?

Servers without failed Pull Requests and Merge Requests

The review will be tough. How are you doing

CI Travis CI I like the managed CI service. Once you get used to the smoothness of automatic cooperation with other tools, it will be a mess.

Runner-up Jenkins

Use it when you don't have money, you can't get out of the source, or your infrastructure is on-premise. Jenkins is also 2.0, and you can now include the Build Procedure along with the source as standard.

GUI (hand)

What?

Conclusion

So, did you enjoy it? I wanted to write a forecast for 2018, but to be honest, I couldn't include such a new topic. .. .. Let's make the topic of Java in 2018 with us!

Recommended Posts

The demon laughs. 2018 Java neighborhood dare choice.
The Java neighborhood feels very good these days