I recently wrote this article and published on LinkedIn. I've reproduced the article here after obtaining permission from the author (that's me)...
There's no argument.
If you are building a business application today, then it must be a web application. Not a web site, but a web application.
I found this tongue-in-cheek article on the web (tilomatra.com)...
I agree, I can’t keep up. I just finished learning backbone.js and now I’ve found out that it’s old news, and I should use ember.js, cross that, it has opinions, I should use Meteor, no, AngularJS, no, Tower.js (on node.js), and for html templates I need handlebars, no mustache, wait, DoT.js is better, hang on, why do I need an HTML parser inside the browser? isn’t that what the browser for? so no HTML templates? ok, DOM snippets, fine, Web Components you say? W3C are in the game too? you mean write REGULAR JavaScript like the Google guys? yuck, oh, I just should write it with CoffeeScript and it will look ok, not Coffee? Coco? LiveScript? DART? GWT? ok, let me just go back to Ruby on Rails, oh it doesn’t scale? Grails? Groovy? Roo? too “Springy?” ok, what about node.js? doesn’t scale either?? but I can write client side, server side and mongodb side code in the same language? (but does it have to be JavaScript?) ok, what about PHP, you say it’s not really thread safe? they lie?? ok, let me go back to server coding, it’s still Java right? no? Lisp? oh it’s called Clojure? well, it has a Bridge / protocol buffers / thrift implementation so we can be language agnostic, so we can support our Haskell developers. or just go with Scala/Lift/Play it’s the BEST framework (Foresquare use it, so it has to be good). of course we won’t do SOAP and will use only JSON RESTful services cause it’s only for banks and Walmart, and god forbid to use a SQL database it will never scale...Whilst it is obviously a humorous article, the underpinning facts are true - there is a myriad of web technologies available and the rate of change is not slowing. So building a business-grade web application is very challenging because you require developers with many skills (see infographic below) and once the application is in production, it will need to be maintained and that's where I see massive cost. Why? Because developers like to have new stuff to learn and use. Once an application is in Production, its technology profile is set and, in a year's time, the developers will be using the latest shiny hubcaps - so the business is faced with "instant legacy systems" and perhaps a lack of developers with the requisite skills.
The above infographic is from http://www.skilledup.com/articles/web-developer-job-descriptions-skills-they-require based on a study of over 28 million online job postings from the period of May 2013 to September 2014.
So it's no joke, web developers need up to a dozen languages/technologies to do their job. Or do they?
But maybe there is a different approach...
I work for LANSA, so I'm putting that out there. However, LANSA has always produced development tools that provide "technology insurance" for the business. This means that with the one technology - Visual LANSA - you build your modern, business-grade application for the web. This will not be popular with web developers, who will argue until the cows come home that they absolutely must have this widget or that framework - it simply is not true.
Developers who want to deliver the best outcomes for their business - fast, robust, modern and maintainable - will see the value in this approach.
On the business side, the answer has been to outsource the problem - sometimes overseas. This may address cost, but not time-to-market, high quality, maintainability, etc.
Take a moment to think outside the box about what your business needs when developing and maintaining their applications - whether it's for use within the organisation or with their customers.
nuff sed...