I have been writing software for several decades now and these days everything is web.
Before the web we had Client Server apps that were basically thick client applications that spoke directly to the database. They had some disadvantages, such as deployment was cumbersome, Did not scale because DB handled all traffic. Of course back then distribution of apps was limited to being on a desktop on a corporate network. The benefits to these apps were that they had fewer layers and were quick to develop.
There are times when the requirements call for an app behind a firewall with a dedicated database and a relatively small amount of clients. I suggest (sometimes on StackOverflow) the old Client/Server type architecture and everybody looks at me like I have 3 legs and 6 arms.
With modern technologies that allow automatic deployments of apps and the tools we have today. Is there a reason this technology is not viable ? Is it that the new generation of developers only know web stuff ?
I’m sure thick clients are still being developed, even today.
Having said that, choosing a web-based architecture is not about the “new generation of developers” only knowing web stuff, you do get a lot of advantages if you can make your application web-based:
But at the end of the day, it’s all about the right tool for the job. Web applications don’t help when you want to write plugins for Office (Word, Outlook, etc), they don’t help if you have to control custom hardware (POS terminals, etc – although you could write that into the server in some cases…), and probably a few more cases as well.