How to Build Java Applications Today: #50
I think Eclipse IDE is in trouble, my app store adventures, Git 2.33, Spring Boot 2.5.4 & 2.4.10, Micronaut 3.0, Quarkus 2.1.3, Payara CE 5.2021.6 & EE 5.30.0, and Spring Tools 4.11.1
Welcome to my weekly newsletter “How To Build Java Applications Today”! I read all the Java newsletters so you don’t have to! And it’s “Java news with a smile”.
If you like my newsletter, then subscribe to it on Substack! Or read it on dev.to, the Java Cafe, or Medium. Even better: Share it with people who may be interested.
Quote of the Week
A man’s silence is wonderful to listen to.
Amazingly, Thomas Hardy, a British writer, described a silence before everybody stared at their phones.
Last week I submitted the apps from my start-up for app store review. How did it go? Read on below!
My wife & I also booked a vacation week in the sun (i.e., outside England) for September. Let’s hope that we can actually go! But fear not - I’ll publish my little newsletter during our vacation, too!
22 YEARS OF FULL-STACK JAVA FOR HIRE NEXT JANUARY
I’m a full-stack Java developer with 22 years of experience, looking for a project in January 2022, in Milton Keynes, London, or remote. I’ll work as a contractor or fixed-term employee but don’t take permanent positions.
Interested? Then check out my resume & work samples!
Check out my resume & work samples
I think Eclipse IDE is in Trouble
Why do I think that the Eclipse IDE is in trouble? Because they changed. Most organizations don‘t like change, especially the “70 projects under one roof” ones like Eclipse IDE. So they only change when they are in a crisis. So what‘s the crisis, and what‘s the change?
The crisis is competition from Microsoft‘s free cross-platform and cross-language IDE Visual Studio Code (VS Code). And the change is the establishment of a Working Group (WG) “to ensure the continued sustainability, integrity, evolution and adoption of the Eclipse IDE’. The press release quotes a founding WG member: ”We believe the IDE needs to be more relevant and attractive for end users, committers, tool developers, and those who build applications upon it."
Look, I‘m rooting for Eclipse IDE here. I used it daily for about fifteen years, starting way back in 2001 when Eclipse won a shoot-out against Netbeans in our team. But I switched to the paid IntelliJ version a couple of years ago because it was a better Java IDE for me, and it had better web development support.
Now I already wrote about the Eclipse IDE Working Group in issue #41. But the research for my InfoQ article made it look worse:
Comparing the 2021–06 release with the 2020–06 one shows a marked decline in the sub-project activity: “The overall number of sub-projects shrank by 7%, the sub-projects with a release decreased from 63% to 47%, and the sub-projects with a release one year or older nearly tripled from 8% to 22%.” Now we don’t know how much the COVID pandemic contributed here. But VS Code grew a lot in the timeframe (see below).
Frequent readers know that I complain about the Eclipse IDE „What‘s New" page loudly. But rightfully so: It‘s a mess, and it’s worse than I thought. The 2021–06 version touts 70 projects but only lists 68. Only 14 out of 32 projects with a new release are included, but also 10 that didn’t have a release. And the links we do get? Here’s what I said before: “Some look like it’s 1995, some lost the links altogether, some don’t know that strike-through text is hard to read, some look Eclipse-like, and some don’t.” There are dozens, maybe hundreds of developers working on a release - and then the first impression gets ruined so radically & ruefully. 😞
Stack Overflow asked 83,500 developers about collaboration tools: 69% of 12,955 respondents dread using Eclipse IDE; only NetBeans scored worse. Now 79% of 58,026 developers love VS Code - strong numbers, both absolute and relative.
VS Code boosted its Java capabilities earlier this year and plans to do more, including Gradle support (see the last issue).
According to recent Snyk and JRebel surveys, about a quarter of all Java developers already use VS Code, growing rapidly year-over-year (see issue #41 and issue #27).
From what I can see, VS Code is rapidly becoming one thing we never had - the default IDE for all developers. Microsoft claimed 14 million users half a year ago, up 5 million in 2020. And now that flywheel is in motion and hard to stop because every technology/tool vendor will ensure that they have a VS Code plugin. That makes VS Code more useful which attracts more users, and so on.
Now I think (hope!) that Eclipse is still a better Java IDE than VS Code. A cross-language IDE like VS Code will probably be worse than specialized IDEs - at least initially. But VS Code doesn’t have to be better: As a free product, we can always use it in addition to our specialized IDEs. That’s how it snuck into my life: As a WebStorm replacement for building static websites. And once we’re getting used to using VS Code, we’re asking ourselves: “Well, why can’t I use that for Java, too? Let me try…”
A product that’s dreaded by users, a decline in sub-projects, a rapidly growing competitor that’s becoming the industry standard - I don’t envy the Eclipse IDE WG. But change takes time, so we shouldn’t expect big changes this year. What will they do? What can they do? I’ll keep you posted!
Over the Fence
My App Store Adventures
I’m the technical co-founder of a UK start-up. We offer an app to organize a cat-sitter business. It’s actually two apps: A web app to manage customers, bookings, and visits. And iOS/Android apps to do the visits. Our apps aren’t fully open for business yet, but we still wanted to be in the app stores.
I’ve never put an app into an app store before. So I was a bit nervous before I submitted our app for review last week. I mean the news is full of app store review horror stories, mostly about Apple: Vague & nit-picky rules, inconsistent rule application, delays of weeks or months, rejections that crush businesses.
We tested the apps lot. We also created test accounts for the app reviewers with fake customer data and detailed instructions for the web application. And all that was on top of the usual app launch tasks - screenshots in various sizes, app description, privacy statements, etc.
So, how did it go?
Splendidly, I’m relieved to say. Our iOS app was approved within 12 hours, the Android one in 4.5 days (which included a weekend). Neither submission needed a single change to our app!
I can only guess why it went so smoothly. First of all, I think we were just lucky. Maybe our cat Max charmed the socks off of our reviewers - we used him as the example for adding notes. Perhaps a business-to-business app like ours attracts less scrutiny than consumer offerings. Or it’s the summer. I’m sure I’ll suffer from “review rage” in the future, but for now, I’m a happy camper!
I was surprised by some faulty app store details:
Our app is only in Apple’s UK iOS App Store. Now my Apple user account is tied to a different App Store country. And on iOS, opening the link to our UK App Store page tells me that it’s in a different App Store country. On the Mac, it just shows a blank page, as if the link was broken.
The Google Play Store dashboard gave us a Play Story link immediately once the review process started. The problem: The link didn’t work at all until the app was in the Play Store - it was broken for 4.5 days! At least Apple was so clever to only show the link after the app was approved. And it still took about 30 minutes before that link worked!
Git releases typically have few changes that affect our daily coding lives. Version 2.33 is no different. It’s actually versions 2.33 and 2.32 because the latter never received a proper highlight reel.
Two things caught my attention: A new merge algorithm called
merge-ort “is likely to become the default strategy in a future version of Git”. It’s faster and supposedly less buggy. Now being the only developer in my current projects, merge conflicts rarely raise their ugly heads. 😏
The other thing is a speed-up of checkouts through parallelization. You can configure the number of threads to use, set to “auto” here:
git config --global checkout.workers 0.
Spring Boot 2.5.4 & 2.4.10
The Spring Boot releases that were foreshadowed by last week’s Spring Data releases are here. They have 35 changes (2.5.4) and 29 (2.4.10).
Announcement 2.5.4, announcement 2.4.10
Quarkus isn’t the only new Java framework nipping at the heels of Spring Boot - Micronaut is another one. And it just released version 3.0. The biggest change is that Project Reactor is the new reactive framework instead of RxJava2. Or, as Oracle would say: “You swapped out the thing that will be killed by Project Loom!” (see last week’s issue).
What else? Annotations aren’t automatically inherited anymore, a migration away from Oracle’s
javax.annoatation namespace, and improvements in Inversion of Control (IOC), server filters, and GraalVM support.
Everybody’s favorite “supersonic” Java framework has the fourth release in as many weeks. We’re getting 41 changes this time.
Payara CE 5.2021.6 & EE 5.30.0
Payara started as the commercially supported version of Oracle’s GlassFish Java EE application server back in 2014. These days, it’s a Jakarta EE & MicroProfile application server.
The monthly release brought 13 changes to the open-source Community Edition (CE) and 16 changes to the Enterprise Edition (EE). Both versions are now compatible with MicroProfile 4.1 (see issue #48).
Spring Tools 4.11.1
The first maintenance release drops eight weeks after version 4.11 (see issue #42) and fixes bugs.
Karsten Silz is the author of this newsletter. He is a full-stack web & mobile developer with 22 years of Java experience, author, speaker, and marathon runner. Karsten got a Master’s degree in Computer Science at the Dresden University of Technology (Germany) in 1996.
Karsten has worked in Europe and the US. He co-founded a software start-up in the US in 2004. Karsten led product development for 13 years and left after the company was sold successfully. He co-founded the UK SaaS start-up “Your Home in Good Hands” as CTO in 2020. Since 2019, Karsten also works as a contractor in the UK.
Karsten has this newsletter, a developer website, and a contractor site. He’s on LinkedIn, Twitter, and GitHub. Karsten is also an author at InfoQ.