I am new to web technologies.
Nothing comes easy.
One concept that I am mastering, but has always appealed to me is the humble web service.
To the uninitiated. A web service is like food delivery.
Want a pizza? Don't want to leave home? Order pizza!
Same with the web. Want a picture? Want it on your home page? Request it from the Flickr web service.
Great huh? I've built a few financial web services in the same vein already.
Want all the financial greeks in your spreadsheets? Use VolKills.
The client side is like the Martha Stewart approach to programming.
You write recipes so people can bake their own delicious food right in their browser.
No need to employ waiters (or servers) to bring out the food!
Client side is the ultimate in distributed computing.
Take for example an app which does some sort of mathematical analysis.
My old company offered a service which analysed risk on millions of positions for hundreds of clients a day. Once a day (not on demand) using hundreds of servers.
However, in a world where the average phone has four or more cores you could conceivably have a client log in on his phone and have his phone analyse and show results for a small complex or medium sized simple portfolio.
Millions of positions would be reduced to perhaps thousands on each
tablet desktop browser. Plus as clients are added the incremental cost of servers etc. would remain static.
The client side gives us such an elegant solution to scale. There's still a long way to go, but it's one of those solutions which is so appealing that it has to win out in the end.