DEV Community


Discussion on: Will Java Trend Towards Obscurity?

tiguchi profile image
Thomas Iguchi • Edited

I think there might be two reasons for the rise in web development questions on Stackoverflow:

First of all - and that's only from my own experience and limited POV - I believe there is growing demand for web development and the initial "mobile app gold rush" may have died down quite a bit.

It is definitely more difficult and pretty costly to reach a wide audience using mobile apps alone. I believe most people are reluctant to install yet another app. They prefer to have just a handful important ones on their phone. Also mobile app users are notoriously cheap. They even feel ripped off when charged a single Dollar for something that is probably worth at least $10.

Hidden rant incoming :-D

When I tried to sell Android mobile apps about 6 or 7 years ago it basically cost me around $1 for a single user acquisition for a free app (via ads, promo campaigns etc.). I guess it would have been easily $5 to $10 per new user for a $1 paid app. Since the market is much more over-saturated now, I guess those acquisition costs went up by quite a bit.

Profit can be only expected once the app makes it into the top 10, or gets promoted and featured by Google or Apple, and even then it's no guarantee.

A game of mine was featured and promoted by the Samsung app store. It was offered for free around the world for a whole week. It didn't make a difference and never turned into a profit. I didn't gain any extra users beyond the ones who got the game for free.

That model doesn't make much sense for most smaller companies with small (or no) marketing budget, especially if the app is free and just ad-driven. It was a losing game. Only the biggest app developers and publishers can reliably turn that into a profit with a big marketing budget and inside connections.

I think for most businesses it probably makes more sense to have primarily a website instead of an app. That also saves them all the complications that come with maintaining and publishing mobile apps:

  • 30% app store sales cut
  • customers expect apps to be for free or at least extremely cheap
  • lengthy, sometimes problematic review process
  • costly user acquisition
  • no direct way to influence store listing as promoted content (unless you have friends at Google or Apple)

end of rant :-D

It is also relatively easy to make a website appear and behave like a mobile app with a bit of CSS magic. That's probably another reason to focus on web first and have a native app as an after thought if really necessary.

But again, I didn't check if there is really a mobile down / web up trend world wide. And my whole rant here is for nothing and I'm probably totally wrong about it.

But here's the other aspect that probably has a stronger impact on web dev questions going up on SO: Vue.JS and even more so ReactJS introduced a bit of a paradigm shift in the ways we think about solving web development problems. It's a shift from imperative to declarative style, which is great in my opinion. But that also raises a lot of questions that need answers.

And then there's the tendency in web development, especially in the frontend development world, to reinvent itself repeatedly. New standards, new tool chains, frameworks and libraries are introduced all the time. Some existing ones change beyond recognition from one major version to the next. That's something I'm not used to in the more slow-paced Java development world where APIs seem to be much more stable (perhaps more thought was put into them ahead of time?).

I'm currently following the react-js tag on StackOverflow and noticed that developers run into the same kinds of problems due to the "latest" shift from component classes to function components with hooks. Function names such as useEffect and their arguments are not really self-explaining or a great example of a well designed API.

It's necessary to either read (and understand) the documentation or stumble into issues and ask for help. We're probably not running out of questions until the tech matures enough so it settles and the only thing we need to focus on is solving business needs and not battle and tame our tools.

So, I guess to sum it up, I see two things causing the rise:

  1. Maybe there's more demand for web development?
  2. Modern web development technology is constantly changing, creating new problems that need answers
Thread Thread
pancy profile image
Pan Chasinga

I really appreciate this insightful answer that I'm embarrassed for my reply. Although it's mostly your speculation it's great to hear you share your direct experience in this subject matter.

For me, I've always had friction beginning in mobile dev. I've written some libraries, but the mobile UI paradigm is far too different from the web. It demands so specific skill that iOS and Android engineers have recently become roles companies hire.

I really like the bit you analyzed about the mobile apps craziness vs the web. To add to that, I think during the earlier mobile app hypes most apps that thrived were simple enough to be used on mobile. Now there are services that aren't suitable for it and there's also a shift in the social app trend to more work and life, which require a bit more real estate than a phone's screen.

Thread Thread
tiguchi profile image
Thomas Iguchi

I can totally relate. I took a very long break from mobile app development and find it pretty hard to get back into it mostly because of the UI. I'm also professionally dwelling more in the back end for the last couple of years, mainly writing web services. So yeah those skills definitely get rusty over time.

Funny that you also mention social apps that are getting less suitable for phones. A couple years ago I teamed up with a designer and we started work on a social app / platform. We tried to target mobile devices first and we desperately tried to cram our ideas into that way to small screen real estate. I was very frustrated working on those mobile app UI prototypes, and we faced several hard problems we could not really answer thinking in terms of mobile app UI. It was really limiting. And it also caused a ton of miscommunication between the designer and me.

After a longer break we began revisiting the concept, but I insisted on targeting desktop browsers first. It was completely eye opening for the both of us. We finally got to a point where we could freely express our ideas and discover suitable interaction ways. And we started feeling like: yeah, that's it.

We're taking it from there now, and treat the mobile version as an after thought. In our case I believe that UI enhancements for accessibility will give us some ideas and answers how to handle the smaller mobile phone screen.

If we're lucky and this whole thing turns out to be something, we may end up consulting Android and iOS specialists for fixing our mobile UI writer's block 😆