For the past eight(8) years Schalk Neethling has been working as a freelance developer under the pseudo of Volume4 and is now the president of Overt Strategy Consulting. During this period he has completed over 300 projects ranging from full web application development to complete branding. As president and lead developer of Overt Strategy Consulting, Schalk Neethling and his team has released a 100% Java standards based content management system called AlliedBridge and business document exchange and review system, called Doc-Central. Schalk Neethling is also actively involved on a daily basis in the open source, web standards and accessibility areas and is a current active member of the Web Standards Group. Schalk is also the co-founder and president of the non-profit The South Web Standards and Accessibility Group, which aims to actively educate and raise awareness of web standards and accessibility to both the developer society as well as business large and small. Schalk also has a long relationship with DZone and is currently zone leader for both the web builder, css.dzone.com, as well as the .NET zone, dotnet.dzone.com, and you can find a lot of his writing there as well as on his blog located at schalkneethling.alliedbridge.com. Schalk is constantly expanding on his knowledge of various aspects of technology and loves to stay in touch with the latest happenings. For Schalk web development and the internet is not just a job, it is a love, a passion and a life style. Schalk has posted 173 posts at DZone. View Full User Profile

The Top 10 Things You Should Know About Flex

09.29.2008
| 21304 views |
  • submit to reddit

Flex is getting a lot of buzz lately. A lot of people may be interested in using it just because they’ve heard good things, but they aren’t really sure if it fits in with their current skills or their project needs. In this article I’ll discuss the top 10 things you need to know about Flex, whether you’re considering using it for your personal site or for your business.

1. Flex is Web Standards, Redefined

MXML is the standard language for Flex applications, as it allows a developer to draw up the structure of the application—including not only the layout but the class structure as well—in easy-to-ready markup. This makes it easy for people coming from a web design or development background, as MXML markup is analogous to HTML. Similarly, the ActionScript within a Flex application is comparable to JavaScript, and Flex uses web-standard CSS to control layout. It’s also a great way to build the structure of an application, as the tree-like nature of the language melds perfectly with a typical application’s container-component model. Along with this, source code is easy to distribute, as it’s not a binary IDE-specific file, but simple human-readable text files.

It’s worth mentioning that MXML is a kind of shorthand for ActionScript, the ECMA-compliant scripting language. This is because MXML gets converted into ActionScript 3 at compile time. Thus, it's entirely possible to build a Flex application in ActionScript 3, without using or learning MXML. For many applications, however, MXML interspersed with ActionScript is the way to go.

2. Flex is Flash (and then some)

If you're familiar with the lightweight vector animations and advanced user interfaces that Flash has provided in the past, you're no stranger to Flex. Flex is built on top of Flash Player, the engine behind all Flash content. In this regard, there's nothing Flash can do that Flex cannot.

All of the filters, display programming, drawing API, and animations that are inherent in Flash are completely visible to Flex. However, Flex gives structure to Flash applications, providing a nice set of user interface components and containers that help developers write powerful and scalable applications.

3. Flex Just Works

Many companies are switching their software from Java to Flex. This is because Flex offers many of the same benefits as Java—namely, cross-OS "write once" abilities and a modern object-oriented architecture, but in a much smaller package and with loads of extras. Flex applications have the ability to work both as web-based software as well as desktop software (with Adobe AIR), and doing so can utilize a single code base.

Because Flex is built on top of the ubiquitous Flash Player, whatever you write will work on any machine that has the player installed. And that's a lot of machines—the vast majority of Internet-enabled computers—with Flash Player 9 reaching into the high 90th percentile. Flash Player shelters you from cross-browser inconsistencies, keeping your software free of silly bugs and bloated code, and software rewrites with new browser releases. Animations and video will play the same on one machine as they do another. When you build your code for Adobe AIR, you'll instantly have a cross-OS desktop application, running on Mac OSX, Windows, and Linux in one fell swoop.

4. Flex is Server Agnostic

Flex was made for data, and it can accept data in the most common formats and interact with the most common servers. This includes XML loaded either locally or remotely, JSP, PHP, ASP, ColdFusion—you name it. You can download information via HTTP or SOAP web services, and can even hook directly up to Java server objects or transfer binary data over-the-wire. Adobe AIR has the additional ability to read and write to SQLLite databases. If you have a particular back-end service, chances are Flex is going to be able to use them—and in most cases it's going to be simple.

With a great set of service components in the framework, more often than not you'll be able to grab your data in a few lines of code, and bind it directly to UI components. If you find you need more refined control, you even have access to binary sockets and (in Flash Player 10) even local files.

5. Flex is the Look You Want

The default look-and-feel of a Flex application is highly configurable. Due to the programmatic skinning at its core, a Flex application can be styled to your heart's content—changing colors here and there, modifying opacity, or changing the shape and size of the most common UI controls. And all of this can be done through standard CSS. Although, CSS is not a requirement, as MXML also allows one to modify styles and skins through simple markup. If you're using Flex Builder, you have an entire WYSIWYG editor for your application, allowing you to draw or plug in graphics and have all of the CSS written for you. In addition to this, there's a ton of themes for Flex applications, allowing you to change the entire look with a single line of MXML code.

It's worth noting that Flex, unlike Java or JavaScript, does not inherit the UI from the operating system in which it is run. That is to say, a Flex application running in Mac OSX will not have buttons that look like Mac buttons, and calling a Flex Alert box will not display a Mac alert sheet. Flex has its own look and feel built in—but if that operating-system look is one you're going for, there are a few themes available which can closely mimic this.

6. Flex is Light, and Fast

Built on ActionScript 3, the Flex framework is surprisingly speedy. Initialization times have been improved dramatically over ActionScript 2, and built-in support for lazy instantiation helps a great deal. Using a new JIT (Just-in-Time) compiler, your code runs blazingly fast. Rich data visualization and advanced animations are entirely possible without hogging the user's CPU. While lots of 3D animations have been the bottleneck in the past, new support in Flash 10 may help. There's even hardware acceleration for video, to take advantage of modern graphics processing cards.

Although some will argue otherwise, Flex is light, as well. While using a set of UI components will definitely be larger than made-from-scratch ActionScript coding, the components are small considering how powerful they are. In fact, a typical application built using an AJAX framework can oftentimes run larger than a similar Flex application. The Flash Player itself is a download of a few megabytes, though it's often pre-installed on computers. It's also worth mentioning a new feature, called framework caching, can shave off a good part of the download for the framework components. This feature can store the standard Flex UI components on the user's machine so that other Flex applications will load instantly, without the overhead of downloading the entire framework. This can allow advanced applications that run under 100kb.

7. Flex is Accessible

There has been a fuss over the accessibility of Flash for some time, and for good reason. It's often misunderstood that Flash content is inherently not accessible, but that's far from the case. While there's a lot left to be desired, Flash has the ability to interact with screen readers. In fact, the Flex framework of components has a very good implementation for accessibility for screen readers and keyboard navigation, and all that most Flex developers will need to do is flip a switch to turn this on (it's off by default).

In comparison with many AJAX components, Flex fairs extremely well. This is because, while HTML is accessible as-is, creating a JavaScript framework around this often breaks many native accessibility features. In contrast, Flex has been built with accessibility in mind from the get-go.

8. Flex is SEO-Compatible

In the past, building a website on top of the Flash Player was a Search Engine Optimization (SEO) nightmare. This is because the software that's used to view web pages was not aware of .swf files, the binary file which Flex applications are compiled into. Modern search engines eventually added the capability to read the internals of .swf files, such as hyperlinks and blocks of text, and this helped a bit.

However, the problem with building a site completely in Flash/Flex is that the relationship of different views of the site—tabs, etc.—are not understood by the search engine bots. To them, it's just a single page (with maybe a bit of text). With the way that Flex applications are compiled, the readability of the .swf is even more difficult. Fairly recently, Adobe released a special version of Flash Player just for search engine bots which will allow the bots to go much deeper, so expect better results soon. However, if SEO is a primary goal of yours, it's not advisable to solely use Flash for your site. It's still better to use HTML interspersed with Flash content, or to have the main page in HTML with a separate section in Flash. Note that MXML code gets compiled into a .swf, and this markup isn't viewed by search engines.

9. Flex is Free, and Open

Flex is now fully open-source. The source code for the entire framework is released, and comes with every copy of the Flex SDK or Flex Builder. This means you can see how things work internally, as well as debug the framework and even modify it for your own use. What this means is a better framework, aided by you and other Flex developers, from here on out.

Flex is also free— it's free to develop with the Flex SDK and compile it using the free mxmlc compiler. Unlike earlier versions, Flex does not require a special (i.e. expensive) server to run. You simply create a compiled application and distribute this on your server of choice. Of course, a copy of Flex Builder will cost you, if you decide to develop using this Eclipse-based IDE. But the cost is not great, and prices were recently lowered on this premier development tool.

10. Flex is Easy to Learn

Flex is—dare I say it—easy to learn. MXML markup is surprisingly simple to understand, and takes away a lot of the complicated syntax of developing in pure ActionScript. If you've ever used HTML and CSS before, you're halfway there. Once you've learned the basics of MXML, you can begin to gently learn ActionScript, making your applications more interactive. The Flex framework provides a robust set of user interface components that speed up development, and learning their basic use is a manageable task.

This is true especially once you begin using ASDocs, the provided documentation for Flex. ASDocs is probably the most sophisticated and streamlined set of documentation for any programming language today. Add to this the fact that the primary development environment, Flex Builder, helps you get started quickly, letting you visually structure your applications in Design mode, and giving you the most common tasks at your fingertips. There are also a number of good books out there, ranging from absolute beginners in programming, to those switching to Flex from another language, and everything in between.

Original Author :
Alaric Cole, author of “Learning Flex 3,” published by O’Reilly Media, has been working with Flash technologies since the introduction of ActionScript. Once Flex came on the scene, he has focused primarily on Flex development, creating enterprise applications with rich data visualization, interactive media, and advanced components. Alaric continues to use Flex in his daily work at Yahoo's prestigious Flash Platform team, leading development and consulting on the newest Flash and Flex projects across the company.
Published at DZone with permission of its author, Schalk Neethling.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

Kevin Daly replied on Mon, 2008/09/29 - 11:16am

Not to take anything away from Flex, but please stop with the "Just works". This is  a classic urban myth. I've had as many crashes in my browser using Flex / Flash based web pages as I've had with the classic Java Applet Engine. And I do use both.

Flex is good technology, and is very fashionable right now, but we have to say there is a lot of intellectual dishonesty when comparing it to other rich client solutions. The Adobe flash player is becoming as unstable as the Java Plugin is as the applications become more and more complex.

Unfortunately the only hope for stable web based RIA's is building them with DHTML and Ajax.Working with a framework such as Dojo gives me most of the look of Flex, with a lot less headaches.

I was a big JavaFX fan a few months ago, but Sun has lost me with the long time to market for Update 10 and JavaFX. Right now browser based JavaScript frameworks are going to be the direction that our company will pursue for RIA apps.

Clemens Eisserer replied on Mon, 2008/09/29 - 11:22am

Why is everybody marketing flex, it almost looks like Adbobe pays people to spread good words about it.

Its true that Java applets are not trouble free, and especially older java releases (1.2/1.3) caused me a lot of troubles, but at least since 1.5 it works quite well and the new plugin hopefully will improve the situation even more.

But on the other side, Flash is also not that trouble-free too. I had many reports about crashing flash-players, taking even the whole browser with them, especially on non-windows platforms.

So I would argue from the "just works" point of view Java and Flash/Flex are pretty much equal, Flash has a better reputation because it never had the "dark ages" the java plugin had ;)

Otengi Miloskov replied on Mon, 2008/09/29 - 11:51am in response to: Clemens Eisserer

Flex is the only RIA plugin platform that works, JavaFX even we don't know when will be released and it doesn't run on Mac browsers(Silverlight 2 is running in my Mac with Firefox 3 geez), JavaFX have been just SUN hype for 2 years.

Also Flex SDK is made with Java and integrates somewhat good with Java, AS3 resembles a lot Java with Listeners and many more. Another option is to use Ajax/Comet with Dojo with DWR or GWT is the best bet. Have anybody seen the GWTCanvas? It is great, awesome fast!. Or another option it is getting interesting is Groovy applets with Griffon.

JavaFX is a dead project with no momentum, I don't know people really using it for real, maybe only Jim Weaver.

Cheers.

 

david gurba replied on Mon, 2008/09/29 - 11:59am

XML was never designed to be human readable. Therefore MXML is by definition not designed to be human readable or "easy to learn".

Jim Faulkner replied on Mon, 2008/09/29 - 1:35pm

I have to agree with Kevin Daly's post above. I've restricted my web development to servlets on the server side and I use jQuery on the client. My applications are snappier and I can create reusable objects in JavaScript. I don't get the unexpected crashes from the browser, either.

Otengi Miloskov replied on Mon, 2008/09/29 - 2:09pm in response to: Jim Faulkner

@Jim Faulkner: You restricted your web development to pure servlets?, why is that?. Im interested in your opinion :-)

Take a look at DWR http://directwebremoting.org/ it's simple and you could use JQuery with it. One time I did Ajax with pure servlet but then I got into DWR and I find it good to work with but Im interested in your opinion.

Cheers.

Carrie Campbell replied on Mon, 2008/09/29 - 6:52pm

If you develop using flex will your app be usable by iPhones? I think I remember reading that they didn't display flash and this would be something I would consider as the iPhone becomes a more and more popular way to surf the web.

Daz Za replied on Mon, 2008/09/29 - 7:44pm

jQuery is probably a good choice for simple websites. Good luck writing something like Photoshop Express with jQuery though. Buzzword is much better than Google Docs too. Check out Mint, Picnik, Blist, SlideRocket or for a bit of fun, you might want to check out just what's possible in Flex: http://www.smallworlds.com/

Flex is geared towards creating RIAs. I think the 'A' in that acronym is very important. If I'm going to design an application - not a glorified website - I can design it in half the time with Flex than is possible with jQuery. I usually send fully-typed objects back and forth from a PHP backend using AMFPHP. I can plug this into a Datagrid which is sortable and drag and drop enabled in a matter of minutes. If I was using a Java backend with LiveCycle, the data on my server and the Flex client would be automatically synchronised too.

jQuery probably has about 5-10% the functionality of Flex in a fully-fledged application. It so happens that this 5-10% is the functionality that is used most often in trivial RIAs so of course jQuery is often a good choice. However, if you want to design a non-trivial, data-centric RIA, Flex is a much better choice. I guess a lot of times it comes down to where you're getting your data, how complex it is, and how much you want to manipulate it on the client.

I happen to use Flex even for trivial RIAs because I think it offers me the best and fastest development environment but for this purpose, it's really a matter of personal choice. As your apps get more complex, there's really no comparison between jQuery and Flex.

Srinivas Veeravalli replied on Tue, 2008/09/30 - 12:53am

Good points on the whole, but some need to be revisited:

 

    1) If Flex is really so standards based, why (oh why) can they not render HTML properly? They have had years to fix this, and even Flash Player 10 is not going to address this issue, it appears. In our corporate application, we have had nightmares trying to work around the problem by using floatable IFRAMEs on top of Flex. And no, solving the issue in AIR by piggybacking on KHTML doesn't qualify.

 

    4) Err - what am I going to do with the HTML response that the JSP/PHP/ASP page just wrote - display it in a new window? Hardly ground-breaking. Also: Flex does NOT understand Java. You need $$ pricey middleware from (surprise) Adobe to do the data massaging at the server side, so that Flex can understand the data on the client.

 

    5) Not in the AIR mode. One of the selling points of AIR is the ability to interact with native dialogs and DLLs - whereby the OS look and feel takes over...

 

     6) I'd rephrase that: Flex is fast because it is light. The day there is feature creep, that advantage might actually reduce quite a bit.

 

    9) Not wholly true: The Flex SDK is free.  The builder (if you include charting components) is about 700USD per user - not cheap, by any means.

 

I believe Flex is a good technology, but to say that it is flawless is a bit of an exaggeration. After all, the competition is not exactly sleeping ;-)

Daz Za replied on Tue, 2008/09/30 - 1:25am in response to: Srinivas Veeravalli

@ Srivinas,

4) Why would you send HTML to Flex? Flex is (amongst other things) a framework for a presentation layer - why would you send it data already formatted to be displayed in a completely different presentation layer? The point is that you send Flex the raw, unformatted data. Also, the statement "You need $$ pricey middleware from (surprise) Adobe to do the data massaging at the server side, so that Flex can understand the data on the client" is just not true. Even Adobe provides a free solution in BlazeDS that does most of what LiveCycle does. There's also GraniteDS which is free and has a feature set similar to LiveCycle.

9) Flex *is* free. If you choose to use an expensive IDE, that's your choice. There's plenty of developers creating Flex apps without paying a cent.

Srinivas Veeravalli replied on Tue, 2008/09/30 - 1:51am in response to: Daz Za

4) I was merely responding to the statement in point 4 in the original post, which was:

 

"This includes XML loaded either locally or remotely, JSP, PHP, ASP"

 

  I presume all these scripting languages spit out just HTML? Or maybe I am missing something here...

  On the BlazeDS topic - would you host a production quality app on it? Even if you did, would your corporation allow it?

 

9) Sure. But I think it is reasonable to assume that developing with Eclipse is far more productive than developing with Notepad?

 

Peace :-)

Jakob Jenkov replied on Tue, 2008/09/30 - 4:03am

just a few comments while I am waiting for an SVN update...

 

1) Flex vs. Applets:
A Flex UI is a lot faster to put together than using either SWT, Swing or AWT.
In addition, the event model is a lot more advanced! Something Swing and SWT could learn a few things from.

 

> "I presume all these scripting languages spit out just HTML? Or maybe I am missing something here..."

These scripting languages output whatever you tell them to output. When working with Flex you would normally output raw data as XML, and have Flex style it. No HTML.

 

I have studied Flex for a while, and have worked with both SWT and Swing too. Its been a while since I have been impressed by any new technology, but Flex impress me! In Flex I have found the single client GUI platform I have been looking for, which allow me to both write small client side games, as well as client-server applications, and even desktop applications. Java doesn't do that nearly as easily and elegant as Flex does. It's just a more advanced platform. I still keep the server side in Java. Flex might be unstabl, I still don't know enough about that, but so is Java. And so was JavaScript some years ago. Flex will probably stabilize over time.

 

I am currently writing a small Tetris game in Flex, and plan to release a tutorial about it. Flex allows me to draw pretty much anywhere on the screen - 2D and 3D, and has advanced vector graphics, video capabilities etc.  I don't get nearly any of this with JavaScript. Personally I consider JavaScript a thing of the past, but I might be wrong :-)

Jim Faulkner replied on Tue, 2008/09/30 - 8:09am in response to: Otengi Miloskov

@OtengiM - I hope this answers your question.

 

I use pure servlets in my web applications to generate XML over HTTP. I chose jQuery for a JavaScript framework after testing / researching several other frameworks for my HTML interfaces, however, the clients I develop are not always HTML. I develop Windows / Linux / Solaris GUI's in c++ and use the same web applications to serve my data in XML and parse them on these clients as well.   

To be honest, I have not looked at DWR. I recall looking at their website some time ago and for whatever reason I passed over it. After looking at their website this morning, I do admit that it's peeked my interest. 

 

 

Mark Unknown replied on Tue, 2008/09/30 - 11:00am in response to: Jakob Jenkov

"A Flex UI is a lot faster to put together than using either SWT, Swing or AWT." True. But that is comparing apples and oranges.

Mark Unknown replied on Tue, 2008/09/30 - 11:01am in response to: Srinivas Veeravalli

"On the BlazeDS topic - would you host a production quality app on it?" Yes

 "Even if you did, would your corporation allow it?" Yes

Jakob Jenkov replied on Tue, 2008/09/30 - 1:54pm

> But that is comparing apples and oranges.

 ??? I can do desktop apps in Flex, and I can do Internet apps in Swing and SWT. I can't see how that can be "apples and oranges".  You could as welll have said "yes, but Flex isn't Java"... it makes as little sense as your statement :-)

 In my opinion (yes, that is just MY opinion), Flex just does a better job from a design point of view, than both Swing and SWT. It is easier to put UI's together, and the internal design is more advanced, yet simpler to work with. A lot of the features I have implemented for Swing / SWT, or wanted to implement, comes standard in Flex. CSS styling of GUI components. Skinning of components. A simple XML format for laying out GUI components (I implemented that for SWT, and it worked like a charm!). Simple remoting (SOAP, REST, RMI). It's all just there. Runs in both browser or desktop. Browser agnostic. Platform independent. 

... so... its more like comparing the flower on an apple tree (Swing / SWT), with a ripe apple (Flex).

Mark Unknown replied on Tue, 2008/09/30 - 2:05pm

What I meant is that you need to compare ActionScript to Swing/SWT.  So yes Flex DOES do a better job than Swing/SWT because they are at a lower level.  Now compare Flex to Netbeans Platform, Eclipse RCP/RAP, Swing Application Framework ... .  Some things Flex still does better. But in other instances the others are better.  

 Depending on the project i might use 1 or more.  (currently using Flex and Eclipse RCP on one project).

Jakob Jenkov replied on Tue, 2008/09/30 - 2:15pm

Now you make more sense :-)  ... I get your points!

Ferdinand Johnson replied on Wed, 2008/10/01 - 3:29pm

One of the problems with Flex is that it is very hard to developed Flex based application without using the Adobe Flex Builder which is not free and is relatively expensive.  Also, the integration between Flex and J2EE (including Spring/Hibernate) is not yet well documented and verified in the enterprise setting. For example, all of the new books on Flex 3 do not say anything about integration with the J2EE web  or portal frameworks.

 So if a developer working for a large firm wants to experiment with Flex and replace the current web front end with Flex, it is hard to do because the documentation for that is scarce. It would be nice if Flex was well integrated with Spring MVC and could be developed using some free Eclipse plugin (even if if was less powerful than Flex Builder).

Otengi Miloskov replied on Thu, 2008/10/02 - 8:54am in response to: Ferdinand Johnson

Try Intellij IDEA 7 or 8,  It have great support for Flex Development. It is not a Gui Builder, IntelliJ IDEA Flex facet follow the traditional Java coding way but you get lots of features and refactorings. For Flex coders use Intellij IDEA. For Flex designers yes maybe Flex Builder.

Me I do all my Flex development with IntelliJ, Also Intellij IDEA 8 will have ActionScript and Javascript debuger.

Mark Unknown replied on Thu, 2008/10/02 - 9:00am in response to: Otengi Miloskov

Might as well get the Flex plugin.  It is cheaper and has the GUI builder.

Otengi Miloskov replied on Thu, 2008/10/02 - 9:01am in response to: Ferdinand Johnson

You said "the integration between Flex and J2EE (including Spring/Hibernate) is not yet well documented and verified in the enterprise setting", The best is to use the AMF protocol but me I will use JAX-WS Jersey implementation and spit webservices to Flex and Air clients, it is very easy with this solution. For my services I will use EJB3. It is not hard to get started with this it is pretty easy actually, Are just POJO's with a few annotations and thats all.

Otengi Miloskov replied on Thu, 2008/10/02 - 9:04am in response to: Mark Unknown

Yeah that will do it also but  me personaly I detest gui builders so maybe for people that likes more coding IDEA is a better option.

Mark Unknown replied on Thu, 2008/10/02 - 10:29am in response to: Otengi Miloskov

True. And options are good. Keeps people on their toes.

Software Nuts replied on Wed, 2008/10/08 - 11:27pm

Normal 0 MicrosoftInternetExplorer4 /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman";}

1. Even in Java world people pay money for Intellij (new version 8 has support for flex)

2. BlazeDS with Flex builder is perfect for development. I have setup where you run code from Flex builder and it will compile and dump code on Tomcat apps directory + it will open browser window so you can test your changes without doing anything else. (off course you have to develop your server side code in different IDE or use Eclipse or Intellij for 2 in 1)

3. Cairngorm MVC + Transfer Object Pattern is perfect way to communicate from Flex to Java. You create simple Actionscript Object & map them to server side POJO. Instead of using plain XML or HTML transfer your DTO from Client to Server to get best performance.

4. GWT is good alternate in case you don't want plugin base but ready to loose Flex Module, built-in cool component, better SEO, deep linking & very easy to communicate with server side Java using BlazeDS. GWT-RPC is very raw in sense do everything from start compare to Flex where it is easy to map AS objects to POJO (makes life easy)

I mean you can argue on this forever &nobody wins in the end but let us say Flex looks promising compare to other RIA platforms.

BTW: I have compare to Appcelerator, ZK, GWT, Flex & Lazal. I think JS framework comparision will be unfair because they are not going to convert web 1.0 into pure RIA (again others may differ)

 

 

 

 

 

 

 

 

 

darryl west replied on Thu, 2008/10/09 - 1:36am

As a long time java programmer, I have to agree with the author that "flex just works".  unless you are willing to write and re-write code for the endless nuances in vendor based javascript (not what I consider coding, and definately not engineering), dhtml is a complete dead end.  I have yet to see any form-based web application written in anything less than flex, javafx, or java applets worthy of public consumption.

adobe offers flex as open source, but what makes the whole thing work is that the flash player is single sourced, and ubiquitous.  not to say that javascript is bad, it's just un-controlled which makes it un-usable.

 

Simon Massey replied on Mon, 2009/09/28 - 12:09pm

How about if one were to use ZK which does all of the same stuff but as pure java on the server with xml and script describing the UI. It has things like databinding to your java: http://ria.dzone.com/articles/using-desktop-model-view jQuery is mentioned on the discussions here. ZK5 uses jQuery at the browser and is LGPL licensed. You can use any IDE you want (although there is a commercial one) and any java server that you want. It is plug-in free. IT Mill seems to do the same thing and is also opensource with dhtml at the browser (but on GWT): http://www.itmill.com/

Alex Cook replied on Tue, 2009/11/03 - 4:25am

Yeah... I have to disagree with ALOT of the naysayers here.

"Flex is just as buggy as java applets"
That's just not true. It all depends on the programmer who built the application. In production applications (like Pandora, kuler.adobe.com, Grooveshark, and more) I've honestly never had a browser crash. Furthermore, downloading and installing java is a pain in the ass. Sure, Flash Player can be a pain to download and install, but it's nowhere near as difficult and time consuming as getting java. Adobe's going to win the battle against java applets (well, they already have) because Flash Player is more easily spreadable, and thus more viral. And guess what? Whether you want to learn Flex or not, you probably should learn it, because for the above reasons it's probably not going anywhere.

"Flex doesn't just work"
Flex is setup for rapid application development. You can go from paper prototyping to high-res mockups incredibly fast. I've seen usability teams using Flex for mockups, because the builder "just works" for them. Once the usability and design guys are done with a mockup, it literally can take under an hour to be connected to your database and testing a working application.

"XML was never designed to be human readable"
Umm... that's not what Flex is trying to do. You obviously haven't even tried using Flex. The beauty of Flex is you have the design view and code view. The code itself is written in ActionScript 3, which is almost exactly the same as java. No one's claiming that the mxml is supposed to be "human readable" - however... when the mxml is written by Flex Builder as you drag and drop components, you'll see that it actually is pretty damn easy to read and edit.

"If you develop using flex will your app be usable by iPhones?"
This isn't really a negative comment, but if your answer is no, think again. Yes, Flash Player isn't available on the iPhone, and probably won't be any time soon. But, Adobe recently announced that Flex and Flash will in fact publish to iPhone applications in their next version (2010).

That's it. I think this site is geared towards old-school java programmers who haven't really given Flex a try. Try it out. You can download the builder for free for 90 days, and if you're a student you can get a free full license from Adobe.

Lastly, juts want to say that I don't work for Adobe, I'm just a long time user and I teach a class on Flex.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.