The Thymeleaf User Survey 2017 ran through the month of January 2017 and was a huge success, thanks to all respondents! We received more than 160 responses, and the analysis of the data we have just performed gives us a great insight on how our users are currently using the library and what are their plans for the near future.
Let's have a look at the data then...
1. Java version being used
We wanted to ask our users about the main version of Java SE they are currently using for Thymeleaf development. The reason we asked was not just curiousity: with the upcoming Spring 5 being Java 8-only, we are evaluating the possibility to allow near-future versions of Thymeleaf to take advantage of the large amount of new features Java 8 brought, so this information was important for us. And it went like this:
So it seems the adoption of Java 8 among Thymeleaf users is already quite good with more than 80% of the responses. Which isn't really a big surprise, as it was released 3 years ago already! But hey, we needed to check anyway :)
2. Thymeleaf 3.0 adoption
Another interesting topic for us was how well the adoption of Thymeleaf 3.0 was going. And it seems to be going quite well!
So with 72% of the respondents already using Thymeleaf 3.0, almost 10% planning to do so in 2017 and an additional almost-15% waiting for Spring Boot 2.0 (which is scheduled for Q4 2017), we should be arriving into 2018 with the largest part of our user base already using the latest major version, which is definitely great news!
3. Web Frameworks used with Thymeleaf
We wanted to know which Web Frameworks Thymeleaf was most commonly used with. Judging from the download figures, we already knew that the largest part of our users were using Thymeleaf with Spring, be it Spring Boot or simply Spring MVC, and the figures definitely confirm that:
So Spring Boot is clearly in the lead, but a lot of people are also using non-Boot Spring MVC or both at the same time (both sets overlap a bit). JHipster also has some responses, but JHipster uses Spring Boot and Spring MVC, so the three most relevant sets of responses have some overlap, all adding up to the fact that most Thymeleaf uses are Spring-based.
So knowing this, let's see a clearer chart of Spring vs no-Spring-related uses:
4. Use along client-side libraries
Thymeleaf's low obtrusiveness into template code makes it ideal for integration with client-side libraries, including client-side template engines and more complex frameworks.
So we asked whether other client-side libraries were used for rendering the user interface, complementing Thymeleaf's work at the server side. And it seems more than half of the respondents do use other UI-rendering, client-side technologies with Thymeleaf:
Then we also asked about specific client-side technologies being used in Thymeleaf applications (be it for rendering or any other UI-related uses). And in this section, jQuery and Bootstrap seem to be the most popular:
5. Non-HTML uses of Thymeleaf
Another question we made was whether they were using or planning to use Thymeleaf for uses other than rendering HTML in web applications. Apparently quite a lot of people is doing just that, with email being the main scenario:
6. Plans for Reactive
"Reactive" is going to be a big word in 2017 in the Java world, and one of the main reasons for this will be Spring 5's reactive web framework, now called Spring WebFlux.
We asked our users about their plans for 2017 regarding this reactive framework and some others, and the responses showed reactive is in the TODO list of quite a lot of people...
7. Template Layout/Composition
Thymeleaf offers several possibilities for doing layout (a.k.a. template composition), and version 3.0 has improved the existing mechanisms by means of the new fragment expressions, which extend the include/replace mechanism already existing in 2.1 and makes it much more flexible.
So what are our users' preferences for layout? these are the responses we got:
8. Would you recommend Thymeleaf?
And finally, what probably was the most important question of them all: would you recommend Thymeleaf to your friends/colleagues? This is what allows us to know how satisfied our users are, and... the results were great!
Lots of 10's, 9's and 8's there, thanks! And for those that gave us lower scores... we hope we can make it better!