Think of a Web where people get into it and see it not like online documents or feels-like-desktop applications. Think a little bit more and try to see it as an environment, a living environment full of effects, animation, integration and interaction. Is this what we want? Is this what we are looking for? Hell yeah! But look how people are trying to get this and you will probably conclude that they (us, the IT crowd) are going on the wrong way.
We are not trying to simplify how to get this task, of creating this online environment, easy to done. Every time, every day, every where there is somebody inventing a new way to publish, to implement, to provide, to integrate and to interact every single service. What is going on is that we are just getting this whole thing of online software development more complicated. Is there anyone out there looking at the root of the problem? Really...
I know this is a little bit confusing but now I will try to explain to you where I wanna get.
Yeah, the Internet is getting smarter. Now we develop online software with RIA frameworks. Looks like we have replaced "Web Frameworks" with "RIA Frameworks". This is good! Believe me. Now, instead of 3721863 options of web frameworks, there's only three options of RIA frameworks: Silverlight, Flex and JavaFX (does anybody know any other? please comment!). This reduction of options is good because if you know Java, go for JavaFX. If you prefer .Net, Silverlight is the answer and for old guys (Flash is out there for quite a while) Flex it!
Still, where is the root of the problem? RIA solves our problems? Can we develop online software quicker? Most important: can we deliver quicker? Let's put this in other words: can we satisfy our customer's needs quicker? Because this is what is really important for the reasons we have used to chose between this or that technology.
For this new war, the RIA war, I want to tell you another thing: if Silverlight really does not run (I mean for real, without cheats) cross-platform, it will stay out of this war soon or later. And to stay in the game, it must run everywhere: Windows, Linux, Solaris, BSD, OSX, etc.
Ok, let's think about the other two players: JavaFX and Flex. Which one has more chances to be the king of Web? I would put this way: Flex is going to be the prince and JavaFX its young brother (because for now, the kingdom is split between HTML and JS.) I'm sure that Flex will be the king in the short time. But with time JavaFX will grow up and become the Web King. And I'm not telling you this because I work with Java, but because I truly believe that JavaFX's proposal is better than Flex's, technically speaking of course; and this is because I believe the answer for a quicker delivery of customer's needs is in how we develop their problem's solutions.
You see, Flex has few disadvantagens over JavaFX: it is not that cross-platform. It relies over Flash, which is proprietary software. You have to know MXML and ActionScript, plus Java of course (for real applications).
Until I continue, I want to share with you something I have been thinking about for a couple of months: the best way for an easy development software process (logicaly giving you fast delivery) is to have the least amount of software languages and technologies as possible. This is why that I chose Wicket (pure HTML and pure Java) for my online softwares; this option gives me only two languages: HTML and Java, but just for now (remember, I told you that I believe in a Web without HTML... it will have its legacy, but is going to be over soon) while there's no better option of other online environment except the browser.
Now, if you followed me till here, first: thank you. If you understand what I'm talking about: thank you again. But to finish, I have to introduce you to the new Web, a web of effects, of quicker interaction, integration, animation and delivery. I give you the WebFX. It's the combination of only two languages... Yeah, I realized that it's impossible to have only one language; you have to separate logical code from the interface. One language for each side. Continuing... the combination of two languages with a new environment: the WebFX.
Here we are... RIFA and WebFX. Applications and its environment. How would this be possible? Well, let's consider JavaFX for instance as the best option to implement this whole thing (this is my idea of how to implement this, technically speaking):
The customer installs a JWE (Java WebFX Environment), which comes with a JRE (of course) and a WebFX Browser (implemented in Java... of course!!). Then he/she opens the browser and types an URL:
What happens? The WebFX Server delivers the user a JavaFX file which represents a RIFA. This RIFA loads in a tab, over the same JVM, as an inner application (Sun, really... it's time to implement JSR 121 and give life back to Project Barcelona).
So, you have a Java application running in a Browser Tab. No back button, no Ajax cheats nor any other language except Java and JavaFX sintax. But wait, what if the customer asks the developer team to replace the application with a new interface? Well, change the application.fx file! Of course this can be implemented in any other technology, but what other technology is so cross-platform and open source as Java is?
Yeah, there are still some details to discuss about this whole new environment. But, this is now up to you. Comment, give some ideas. But I ask you: let's evolve this e-echo-system. Let's drop down old technologies.
Thank you for your attention... :-)