I really thought that this would be a simple question. The answer is obviously Java. We have Java skills from using XPages so it just makes sense to answer this question with Java…
Except then you look at the java world and realize that there are different flavors of Java, you have standard plain Java, you have JavaEE and then there is the Spring ecosystem. You might even think about Scala, Kotlin or even Groovy with Grails as java based frameworks to pick from.
However, before you even answer the question another one will pop up and that is what sort of applications are you going to be building? Will you be building big monolithic applications where all the code for the entire application is in one big code-base or are you going to look at the much more popular microservice approach to building applications? This is where you have a bunch of small applications that each do a unique task or function.
The microservice approach seems to be the most recommended method of writing new applications and may also be a good solution if you are going to convert an old Domino application as you probably know the old application inside out and can easily break it down in to a set of microservices.
One big advantage of selecting the microservice approach is that you are no longer tied to any particular language for your backend code, sure you might write most of your services in Java but if you wanted to you could also write some in .Net, C++, GoLang, Python, Ruby etc. etc. Each microservice is an independent entity and they don’t care what language any other service it talks to has been written in as long as they can both speak to each other via REST. This opens up a lot more doors for your development team…
For our development we are going to be using the Spring Boot framework for the majority of our backend services. The Spring Boot framework makes it very easy to create REST services and can be packaged up in to self-contained jars.
Of course that is just the backend…
Thanks Declan, It would be great to hear about your your front end choice. It would also be interesting to hear your thoughts on how much of your XPages JAVA you might be able to port to Spring.
There is a lot more to come including frontend.