Slashdot Log In
The Future of Rich Internet Applications
Posted by
kdawson
on Tue Sep 12, 2006 12:55 PM
from the does-ajax-tell-flex? dept.
from the does-ajax-tell-flex? dept.
Can't Get Enough Ajax writes "While Ajax continues to get most of the attention these days in the space of rich Internet apps, the future 'face' of Web applications may consist of a combination of Ajax and plug-in technologies based on the new Flash development platforms or other plug-in models. Why? The challenges of building and maintaining sophisticated software in Javascript and the lack of support for audio and video are just two reasons that any RIA strategy will involve a mixture of Ajax and one or more technologies like Flex, Laszlo, or others. But while there are significant advantages to the new RIA technologies, there are also important trade-offs including breaking the model of the Web, lack of HTML support, and more. ZDNet's Dion Hinchcliffe has a round-up of the latest generation of RIA technologies, pros and cons of each, and why there is likely a 'war' brewing among them."
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.
The future is in the Stack (Score:4, Interesting)
I want a full unification of the front and backend. That is why Rails, Turbogears and Cake appear to be more exciting.
Jim http://www.runfatboy.net/ [runfatboy.net] - Fitness for web 2.0.
Re: (Score:2, Insightful)
While what can be done with Ajax is pretty amazing, the unfortunate truth is that the developer generally has to jump through hoops to get everything working. Simply the lack of stateful information is a major problem. What's needed is another protocol (Application Transfer Protocol?) that would provide state information to the server, true client-server event handling, etc.
Re:The future is in the Stack (Score:5, Insightful)
I dunno, at some point I think we're going to have to ask ourselves if the web/browser is really the best way to get the kind of richness people are expencting from internet applications. By the tiem you add statefulness, better UI toolkits, better event model, etc, you don't really have a "browser" anymore. You just have a virtual machine and you find that you've just reinvented Java applets.
-matthew
Parent
Re:The future is in the Stack (Score:5, Insightful)
Rails, Cake, and Turbogears can't provide the sort of rich interaction that flash/activex/java can, no matter how great their frameworks may be. Why?
The problem is not the stateless nature of the web as much as it is the medium with which the web is presented. HTML was designed as a document language, for the static display of information. It was never designed for any sort of interactivity other than hyperlinking. Everything else that has come along is a hack on top of a simple static display medium. Even arguably solid frameworks like Rails are nothing more than a hack to provide dynamic interactivity to a system that was designed against another way of doing things.
If we really want remotely obtained rich interactivity, we need to rethink the medium. We need to drop HTML/Javascript and plugins like activex and flash. We need a new platform designed from the ground up to provide dynamic rich interactivity. That includes both the display medium *and* the means by which it is obtained. XUL was a baby step. The concepts behind XAML seem to go much further -- especially in the display department -- but still relies on stateless HTTP.
All levels of the stack need fixing, not just server-side. We need more than just hacks.
Parent
SVG (Score:3, Insightful)
SVG is designed to fix that. It is an open standard, it looks promising but unfortunately browser support isn't quite there yet...
Re: (Score:2, Interesting)
One sweet duo is SVG + Ajax, that can vastly improve the interface with the end-user, without eating up a lot of bandwidth and most important
Re: (Score:3, Interesting)
Not from what I can see. SVG is basically as designed for static display of information as HTML now is. The same "hack" for dynamism is used for both, a Javascript-exposed DOM (or DOM exposed to some other language), and the same basic set of events are available to both.
From what I can see, it really wouldn't take a hell of a lot of work to merge XHTML and SVG into one specification with a richer layout model than XHTML currently has.
SVG gets you no new interactivity, just the a
Re: (Score:2)
Don't shoot!
Seriously, though. If X were replaced with something with the same goal, but without the same "mechanism, not policy" policy, and a lot of the good design elements of News and NeXT, wouldn't that be ideal? Add some auto-launch features and SSL encryption, and you're all set. Hell, you could even have an abstraction layer to use and XML schema to control the toolkit.
Re:The future is in the Stack (Score:4, Interesting)
I want a full unification of the front and backend. That is why Rails, Turbogears and Cake appear to be more exciting.
Sounds like you're talking about ASP.NET and Atlas with Visual Studio ...
Parent
Re: (Score:2)
Flash failed (Score:2, Interesting)
Re:Flash failed (Score:4, Informative)
Try Flex Builder 2. It's a much better Flash IDE for application development than Flash 8 is.
Flash 8 strikes me as more for content and multimedia development. Flex, on the other hand, is geared towards web developers for web applications.
We've started using it here at work for some smaller scale applications and really enjoy working in it. It's consistent, stable, and you can put together some really kick ass apps with it.
Parent
Re: (Score:3, Interesting)
And for the language aficionados among you, MTASC itself is written in Ocaml. News for nerds...
Re: (Score:2)
Re: (Score:2)
Hmm... I'm looking for flash support in Firefox on my Linux box and can't seem to get anything beyond 7.
Some cross platform support huh? Adobe has really screwed with flash IMO by doing that...
Re: (Score:2)
When did Flash fail in your mind?
Re: (Score:2)
AND they wouldn't alienate operating systems like Linux. I don't take flash seriously if they are two versions behind with a linux viewer. It was a good cross platform tool, now it's a pile of crap IMO that only supports Windows and Mac.
Well, at least he mentions (Score:3, Insightful)
Of course, none of them want to deal with the disabled-accessability part, despite a recent Court decision [slashdot.org] that's going to make this kind of stuff a very low priority for a long time.
Well in my opinion, (Score:4, Funny)
B.G.
Re: (Score:2, Funny)
Telcos have been doing this for years. (Score:3, Interesting)
Its been common to run a backend server (tomcat/apache/oracle/Java) and use the phone as the frontend, and allow webaccess for easier changes.
AJAX is free, easy to use, and people are using it now. Not even going into first revisions of software and bugs that are associated with new software, or licensing fees.
That Adobe flex uses coldfusion, we stopped using that and migrated to Tomcat.
Re: (Score:2, Informative)
Flex is free (the compiler), ease of use is a subjective measure, and people are using Flex now too.
Negative. Flex has no reliance on ColdFusion. There are numerous ways for Flex (front-end) to talk to the server (back-end), ColdFusion being ONE of the ways. It can also talk to Java via Tomcat. For that matter, I can run ColdFusion ON Tomcat.
Note that I've never written a Flex
Re: (Score:2)
Prediction.... (Score:4, Interesting)
Unlike ActiveX and other things from MS in the past, WPF/E is very secure, easy to deploy, and brings a new level of functionality that surpasses JAVA/Flash/AJAX.
It will be a few years off, but it has potential to bring an XML based applicaiton model to the web where others have failed.
(Part of the reason behind this prediction is that WPF/E is far easier to develop applications for than JAVA/Flash/AJAX... So in a weird way, it will be like the VB of the early 90s and less 'technical' people will be able to write rather rich web applications easily.)
Re: (Score:2)
That's what I don't get about XAML and such: it's really just the Microsoft alternative to XUL and SVG+SMIL. Both of which have an excellent implementation that by most current estimates is used by about 10% of the surfers out there (I mean, of course, Firefox).
Now, I'll concede that last I checked Firefox didn't have a working SMIL implementation in their SVG stuff, but my point is this: it's already here, it does what WPE is supposed to do (which I haven't seen in the wild at all), and it's an open stan
Re: (Score:3, Interesting)
Well, a lot of people go this route in thinking, but if you take the time to look at XAML and its capabilities, you will easily find that 80% of things it is doing or can do are not supported with the technologies you mention.
XAML is not only present
Event Streaming to Browsers (Score:2)
Another technology to look at is Server-Sent Events (SSE), which takes AJAX one step further.
Opera 9 added support for SSE.
With the traditional AJAX implementation, the browser continually polls the server, sending requests to the server, asking to get data back, making new HTTP requests for every single poll, putting more strain on the server than needed.
In Opera 9 you can instead open a persistent connection to the server, sending data to the client when new information is available, eliminating the
Comet vs. SSE (Score:2)
Re: (Score:3, Interesting)
The best thing about AJAX (Score:4, Interesting)
I turned on free tagging on my website to set up categories (for use with Drupal Views [revis.co.uk] to get a view-content-by-category system) and all of a sudden noticed that the tag input box had a find as you type feature to match against existing tags/categories.
Highly useful, very unobtrusive and just a regualar part of the system getting on with it's job with a gracefull fallback if client side scripting isn't available. 10/10.
"Comet" is the newest (Score:2)
Dump Flash (Score:2, Interesting)
What I REALLY do not understand about the web 2.0 (Score:4, Insightful)
There are cross-platform thin-client network solutions like VNC [realvnc.com] or Nomachine's NX [nomachine.com]. They do exactly what the web x.0 wants to do, they do it fast and they do it without all the bloat and packing/unpacking of (essentially very simple) data.
Do not bring up the bandwidth argument before looking at NX first. It runs over really small links.
I also do not think that it allows additional security breaches in principle, as a web browser with all the additional plug-ins is also similar to a very high-level shell to a remote server.
Re:What I REALLY do not understand about the web 2 (Score:3, Informative)
There are cross-platform thin-client network solutions like VNC or Nomachine's NX. They do exactly what the web x.0 wants to do, they do it fast and they do it without all the bloat and packing/unpacking of (essentially very simple) data.
You've got it backwards. VNC and the like send bitmaps across the wire. Bitmaps, even with compression, are more bloated and take more packing and unpacking than simple data. Other reasons to prefer AJAX, Flex [macromedia.com], Laszlo [openlaszlo.org], Altio [altio.com], Nexaweb [nexaweb.com] or other similar frameworks rather
Re: (Score:2)
This is why application level firewalls are developed. Until all sides finally realize that they are just repeating history and that constraints on certain types of SOAP queries are not really different to constraints on certain TCP ports. In the meantime, a lot of those 'internet security consultants' got a lot of money in salaries for implementing such firewalls and the web traffic volume (and there
Save Applets (Score:3, Interesting)
If we could drag applets to our toolbars for local installation, rather than trapping them in their website context, they'd be a lot more useable. Hopefully this early stage of their development will incorporate that now/soon, rather than later when retrofitting and incompatibility will make problems last forever.
The answer is WebStart (Score:4, Informative)
I wrote a quantum computing 3D visualization program in Java3D. The user can just click on the link in the browser and Java3D native libraries will be automatically downloaded and installed on the users' machine (of course after asking the user for permissions to do it) after that my application can use the native OpenGL drivers for fast 3D graphics. So it is both an Internet application (although it presently doesn't talk to a server in real time but it would also be possible) and it takes advantage of the fast native OpenGL graphics and the rich Swing GUI.
Parent
Stuff like that oftens break with complexity (Score:3, Interesting)
This isn't to say that Web 2.0 isn't wonderful. I'm doing a lot of contracts at the moment recoding old systems into browser-based ones and AJAX and partners are a joy to work with. My workbench at present is a mix of PHP using TinyButStrong http://www.tinybutstrong.com/ [tinybutstrong.com] templates, AJAX using the xajax framework http://www.xajaxproject.org/ [xajaxproject.org], as much CSS 2.x as I can deploy that doesn't break on all common browsers, and whatever javascript widgets that meet the needs.
I can't recommend the two core tools in here highly enough - xajax is really nicely designed and I've only found one bug in it so far (when running a window modal), tiny-but-strong is even better - if you do any coding with PHP and havn't found this yet then you are missing the best templating system yet devised.
Some quick insights and clarifications (Score:5, Informative)
The AJAX vs. Proprietary Debate
Isn't really a debate, which the article kind of notes but doesn't really state. AJAX doesn't compete directly with any of these tools... Asynchronous Javascript and XML is a data delivery mechanism, NOT a presentation layer (if I hear one more person use AJAX to refer to DHTML I'm gonna scream). Flex, Lazlo, Nexaweb, etc. have aspects that compete with AJAX (Real-time Push in Flex/Flash being one that competes and bests AJAX), but drawing them in parallel is misleading. With SVG more or less dead in the water (yeah, AdobeMacromedia doesn't have much of an interest in further developing an OSS competitor to Flex) and no SVG support for IE 7.0, there is no viable presentation component for AJAX to make this argument viable.
What the article gets right is that future application solutions are a combo approach that leverage a number of different technologies. For example, portals leverage AJAX/DHTML where possible to reduce page refreshes and increase basic interactive behavior (maybe with a framework to do the heavy lifting, though that has its own drawbacks) and something like Flex to supply visualization tools and whiz-bang interactive components on a more selection "superportlet" basis.
Cost Effectiveness of Proprietary Solutions
This is right on the money and a BIG reason to favor things like Flex. You'll actually spend more money developing and debugging tools in javascript and html than you will implementing with a robust end to end solution like Flex. From a UE perspective you're married to certain interactive behaviors the components you leverage (Flex isn't very good at exposing the underpinnings, read "Gold Support" here), but you get the benefit of tested methods and basic patterns that are generally at least "acceptable" from a usability perspective.
Java for Visualization
God help us all. I went there once on a trip... lost my granny, my dog got run over, and I came back with only 8 fingers.
Plug-in Limitations of Approach
Here we're mostly talking about Flash/Flex. I did an analysis not too long ago when I led a project doing a Flex 1.5 implementation (which sucked btw... don't even consider 1.5, not that Adobe would sell you on it anyway). What it comes down to is that Flash 9.0, which is the latest plug-in required to drive Flex 2.0, is at the beginning of its adoption, making this argument somewhat ligitimate. However, typical adoption patterns are a STEEP yield curve... you get to around 80%-85% within a year, get the next 10%-15% shortly thereafter (4-6 months), and pin down the final %5 over the next 5 years. Flickr has a good graphic to illustrate this.
http://www.flickr.com/photos/mannu/148867953/ [flickr.com]
The Flash 9.0 plug-in came out a couple months ago. What this means is that if you were to start developing an application now you'd likely launch with 80% adoption. So is it REALLY an issue right now? No, not unless you're developing a very targeted application on a very short timline. Additionally its worth noting that the generally plug-in updating architecture has improved dramatically after 6.0, so most users are now able to seamlessly update their players when prompted.
Basically I would say this is a legitimate concern if you're audience profile/segmentation indicates very old hardware/software with virtually no technically ability (and I mean NONE here, even more than a web neophyte) then you may need to reconsider your approach.
Application Accessibility
This subject is left only partially discussed, and its the real 800lb gorilla in the room. Last week a US court handed down a decision against Target.com (it was on Slashdot). The gist is that Target was found to be inviolation of the ADA for their use of non-accessible content formats in their web site. This was the first t
Re: (Score:3, Insightful)
God help us all. I went there once on a trip... lost my granny, my dog got run over, and I came back with only 8 fingers.
That's what happens when you are not prepared for travel!
How good are you Java programming skills? What were your expectations? Have you tried WebStart?
I think Java still has a place for specialized rich clients. I have recently released a Java3D scientific visualization application that uses WebStart. It automatically downloads all the Java3D libraries it n
MS vs. SVG (Score:2)
Yeah, they could have. However, there are at least three big show-stoppers to that idea:
AJAX Sucks (Score:2)
If what we want is truly interactive, desktop-like apps on the web, then let's make something that does that, not kludge together something that approximates that, using today's fast (really fast) hardware and enormous memories to give it
Re: (Score:2)
Flash 9 is coded using ActionScript 3 [adobe.com], which is tracking the still-in-progress ECMAScript 4 [mozilla.org] standard.
Re: (Score:2)
There are no one size fits all solutions, but XUL could be a decent platform for some projects.
Breaking the Model of the Web (Score:2)
The World Wide Web is (ostensibly) a network of hyperlinked documents. Dynamically-generated pages pulled as requests from a database is a bit of a stretch but still basically within that model, as a database record is not so different from a traditional stand-alone document: it's still just data.
But cramming fancy interactive applications (games, etc) into this model is already a bastardization of it,
"Flash-player does not include XML capabilities" (Score:2)
Flash has supported XML parsing back to version 6, I think.
Flash 9 includes E4X [wikipedia.org] support as part of ActionScript 3, which puts it far ahead of most other solutions.
MochiKit makes AJAX suck less (Score:2)
One way to reduce the challenges of using Javascript and AJAX across browsers is to use a library that abstracts away many of the differences from one browser to another. One such library is MochiKit [mochikit.com], which provides AJAX / remote scripting support, functional language tools, portable DOM manipulation, and event signalling. It's even got some cool flashy visual effects.
Anyway, I'm not affiliated with the MochiKit at all; I'm just a very satisfied user and even use it on my own site [coderific.com].
Diagrams (Score:2)
Coverage of WinFx was woeful.... (Score:2)
Re: (Score:2, Insightful)