Here we go again.
What is the future dominant platform of RIA development?
The latest discussion that triggered me to reflect on the issue again is over at ajaxinfo.com
Actually I find discussions like this quite interesting and don’t mind dissecting the pros and cons. I guess I just like a good argument
But I’m also aware of that it is impossible to judge what is the most suitable technology to use without knowing what the goals of the project is, and most of all, who’s going to develop it.
The article by Alexei White on ajaxinfo does seem to reach a similar conclusion in a way. The major drawback with Flash according to the author is that it’s hard to find developers skilled with the technology.
I do find the evaluation questionable though.
Sure there is more developers specializing in HTML and JS than ones specializing in actionscript.
But that doesn’t mean that the HTML/JS developers usually can put together a complex RIA using their existing knowledge. To get it all to work together in a way that give reliable results seems to be a skill in it’s own right.
That the developers have the “basic skill set necessary for interacting with components” for working with AJAX is not of much value if they don’t have the full skill set needed to get the job done.
They could hopefully acquire it, but they could also learn a new language.
I would not think it’s actually hard for someone already skilled in JS, Java and PHP to learn actionscript, and for sure Flex or Laszlo with their XML based markup can be worth the effort to learn if you want to be working with RIA development.
Sure finding a technology that matches the skill set available is beneficial, but I would say that there has to be a balance.
So you also have to consider finding developers that is capable of handling the technologies best suited for realising the goals.
What is the most efficient balance has to be carefully evaluated.
With large companies you of course have an inertia due to having invested in certain technologies and they can’t sack their whole IT team every time a new and better technology come along, so hence there will be a large dose of conservatism involved.
And that’s I think a big reason why AJAX is getting all the hype it has at the moment. To me it does seem like an attempt to squeeze the last drops out of a heavily invested skill set, financially by companies and intellectually by developers.
There is often much talk about all the variables one have to consider in the choice of technology. And sure many of them can be valid in very specific circumstances, but usually there is few variables that really matters and would outweigh any other benefits or disadvantages. And evaluating them properly can be hard enough without adding more to the equation.
From the perspective of the customer it’s mainly two variables:
How much will it cost to develop?
How successful will it be at achieving it’s goals?
From the developers perspective it’s more of a conflict:
How efficient are the technologies compared to each other in achieving the objectives of the project?
How comfortable do i feel using one technology over the other?
How long can I go on what I feel comfortable with and still stay in business?
The user should of course not have to reflect on the technology and one has to presume all that matters is the result they are presented with and that they can get to it.
The arguments often brought in to the discussion about Flash and FLEX being proprietary tends to be very superficial to me.
Especially considering that the swf format is open.
Alexei White mentions in his summary that Flash “suffer from the Vendor lock-in problem“.
I actually have problems understanding in what way it might been a problem for any project. Sure i prefer to support an open standard and open-source software based on my sentiments.
But if we look at the standards based formats like HTML, CSS and SVG there is a lot of real problems that will have very immediate effects on any project involving such technologies.
The “vendor lock-in problem” certainly pales in comparison to the problem of getting web standards to be standardised.