SpyderTL wrote:
Over the past 10 years or so, the front end JavaScript developers have been trying to find a platform that is stable enough to use as a core framework to build feature rich client side applications, which moves almost all of the business logic from the web server to the clients browser.
In fact the goal was very different. May be there even was no goal at all. First there was an option to change some UI elements without page reloading. It's really nice feature, because the reload bound blinking is annoying. Next there were some calculations and validations on the client side, which is also the same reload efficient approach. Also the communication option was shifted from reload time to the page interaction period. But after it all the fancy stuff was introduced. The flying captions, buttons, images, all those fading in and out elements and so on. For the fancy stuff to be easily programmable it is a wise decision to have a library for it. So, now there are a lot of libraries with fancy stuff support and a small part related to the validation and calculation. Communication option also has evolved into a nightmare of different formats and libraries with a lot of different names and often very different architectures. But server side hasn't stopped and keeps going further in this race to nowhere. First there was CGI, next Java and ASP, next all those PHPs, pythons, rubies, perls, scalas, Cold Fusions, server side Java Scripts and even Go. But every language should be efficient enough to be useful and now there are a lot of libraries for EVERY language and all the libraries are pretending they make programmer's life easier. So, we have tenths of languages multiplied by hundreds libraries, frameworks, widget collections and many more.
What a mess we have now!
And of course, there are no serious developers who even try to use all the mess from above. No serious developers means there's no serious projects. No quality. But a lot of user level testing.
People invent their OSes just for fun, but some other people invent all those languages and frameworks just for fun and next they manage to get some profit from it. And of course, the profit is mostly going to the IT stuff while the business usually has a heaviest ever seen credit to profit ratio. All those facebooks claim their cost is hundreds of billions while profit is a few hundreds of millions per year. So, some "investors" have spent hundreds of billions buying facebook's shares and they can return their money just after a few hundred years.
Really, what a mess we have!
SpyderTL wrote:
But it has one major advantage over server side business logic: Scalability.
Disagree.
Would the server side used for the fancy stuff generation (page reload approach) then yes, it's a huge waste of processor's power. But the business logic is very different. First it requires only trivial calculations. And second - the cost of storing and retrieving data from disks is much more viable here. However, all the XML related mess with the same hundreds of frameworks, but now on the server side, works at it's best speed for the servers to be loaded with endless calculations like parsing and marshalling of the XML and many similar tasks.
It means there's a simple architectural issue on the server and client sides. It can be resolved, but the need for fancy stuff and experimenting with all those frameworks makes both sides suck in the game of efficiency.
SpyderTL wrote:
But now the problem is that the industry has chosen to go completely open source on this front
No. It's just a freedom to experiment with frameworks. Would all the frameworks cost money, then businesses never allowed to developers to try "something new". But because the frameworks are "free", the business people just don't understand the consequence - the costs are just moved in the future. And businesses are ready to let the developers play with another framework in another language, because it's free! Why not? If you don't see the cost then there's no cost, right?
SpyderTL wrote:
So I try to stay out of it as much as possible, whenever possible. I use IE 11, and my iPhone for everything web related, and if those don't work, I just don't use that site.
It's better to pay some attention to the new "technologies". Just to be more competitive on the market. But it's hard because it's a mess.