I'm not an experienced Java developer. I've just started studying/developing in Java 4 years ago.
But I fell in love with that language, the best practises, the design patterns and the open source frameworks.
And I'm also a big fan of Flex 2 and RIA development and I believe that Flex and can collaborate together for creating robust applications.
While reading comments sent on this post "Should Java developers learn Flex - mixed feelings " by Yakov, I noted that many Java developers don't know Flex and they think it's like Flash.
So I want to share my thoughts on why Java developers should learn and use Flex for some of their applications.
First of all Flex is not Flash. Flex is just based on the the flash Player, but the way you develop applications is totally different.
I understand Java developers who find Flash orrible. The use of the Timeline, Library, Movie Clips is a designer oriented approach. Moreover Flash IDE and Actionscript Editor are poor and it is a hard job to write complex and enterprise applications with them.
Flex and Flex Builder offer a great enviroment to develop complex applications. The Flex Builder IDE is based on Eclipse, one of the favourite IDE for many Java developers.
The approach of development is component-based, so that you drag and drop built-in components (or define them via a XML based language) and write code for handling events.
Other considerations:
1. HTML is poor. It's a great declarative language for documents but not for applications. Its limits for defining application UIs are enormous.
2. The learning curve for a developer who wants to develop AJAX applications is high. Flex is more intuitive because it's component based. Flex Builder is a powerful RAD enviroment and allows developers to use tons of built-in components just writing a XML tag-based language: MXML. These components are Actiosncript classes, so they can be extended by coding.
3. Testing and debugging HTML / AJAX apps is a very long phase of the work. Although there are a lot of pre made AJAX frameworks, you have to try your code across different operating systems and browsers. Flex compiles the application in SWF format, so the project itslef runs inside the Flash Player enviroment.
4. The request/response method does not permit to create rich interfaces that react to users' interaction. Moreover all the work is on the server, that have to reload the entire page just to update a few data. Flex, like AJAX, permit to develop one-page applications, where only the data requested to the users are requested to the server and updated on the application.
5. Flex data models are based on MVC design pattern, one of best known and most used design pattern. It permits to separate interface from business logic. Flex introduces an automatic data binding to connect an object to another and this is one of the most powerful features. Data binding in Flex, creates a listener that when the data changes updates all the objects connected to the data.
Last but no least we have to consider the wonderful asynchronous messaging system of the Flex Data Services (a J2EE application), the Data management features, the push of messages to the client, the Message Services, the possibility to extend the FlexFactory and the JAvaAdapter, the automatic mapping between remote Java classes and Actionscript classes (based on value object design pattern) an so on.
An for those who say that Flex applications are executed on the browser shell, go and read something about Apollo, the next desktop runtime developed by Adobe !
My company, Comtaste, organizes a Flex course for Java developers so I often had the chance of teaching Flex to Java developers.
People usually remain very impressed about the power of Flex 2 enviroment.
Have also a look at this article: How and Why AJAX, Not Java, Became the Favored Technology for RIAs






















Marco,
Why just Java? What is it about Flex that would limit it only to Java developers? And why is there such a special focus on Java developers? Is it because FDS is a java-only solution? Or is it because Java developers have trouble grasping the concept of Flex? (That would be a ridiculous reason, wouldn't it?)
I think that kind of thinking, which in my mind is very narrow-minded, could significantly cripple wide adoption of Flex. Flex is for EVERYONE, it does not matter what language you write in, Java, C#, VB.Net, PHP or Ruby. That kind of special treatment of Java developers is quite annoying and baseless. All the reasons you listed in your post would be applicable for everyone.
Stop pushing Flex for Java and promote Flex for Everyone!
Cheers,
Mark
Posted by: Mark Piller | February 21, 2007 at 01:47 PM
I'm not a Java developer either but I know very well both Flash and Flex, during the 3GSM World Congress I was introduced to NetBeans and in particolar to the extensions offered by the Wireless Toolkit 2.5, which includes advanced SVG handling and I was blown away by the sheer power and semplicity of the IDE, if you're not religious about anything not coming from Adobe give it a go and follow this 10 minutes tutorial from http://wiki.netbeans.org/wiki/view/NBDemoSVG . Of course the entire toolchain is completely free.
Flex is very... Flexible in a lot of aspects, but it is hardly for everybody, its main limitation, speaking of mobile devices, is the fact that it requires the Flahs Player to run applications, which compared to the adoption of J2ME is very very tiny in installed based. That's probably why their are targeting Java developers rather the whole shebang.
Just my 0.2$
BR,
Steph
Posted by: Stephan Lachance | February 21, 2007 at 02:07 PM
Mark: Totally agree with you :
Flex for Everyone ;)
Posted by: Marco Casario | March 01, 2007 at 10:11 AM
Mark,
Flex is being marketed to Java developers because that *is* the software development industry.
Java is the most popular language in the world:
http://www.tiobe.com/tpci.htm
It is the most used language on sourceforge:
http://www.cs.berkeley.edu/~flab/languages.html (notice the trend)
It is the most desired language skill:
Dice.com: 15,951 Java jobs
Java's Swing is the most used GUI toolkit in North America:
http://weblogs.java.net/blog/hansmuller/archive/2005/10/official_swing.html
ActionScript is also very java-ish. Adobe is being smart by going after the clear dominator in the software developement industry.
-Bryan
Posted by: Bryan | March 01, 2007 at 11:16 PM
Does Flex support SEO in any way?
Posted by: Salim Ansari | May 09, 2007 at 08:14 AM
Good site. Thanks:-)
http://gift10.freehostia.com/nike_golf_sun_glasses.html nike golf sun glasses
Posted by: nike golf sun glasses | July 30, 2007 at 09:58 AM
Very good site. Thank you:-)
http://gift10.freehostia.com/residential_painter.html residential painter
Posted by: residential painter | July 30, 2007 at 12:46 PM
Cool site. Thanks!
http://gift10.freehostia.com/ringtone_verizon_wirless.html ringtone verizon wirless
Posted by: ringtone verizon wirless | July 30, 2007 at 02:18 PM
Good site. Thank you!!!
http://gift10.freehostia.com/sony_notebook_case.html sony notebook case
Posted by: sony notebook case | July 30, 2007 at 04:38 PM
Good site. Thank you!!!
http://gift10.freehostia.com/sony_notebook_case.html sony notebook case
Posted by: sony notebook case | July 30, 2007 at 04:38 PM
Very good site. Thanks.
http://gift10.freehostia.com/sony_notebook_case.html sony notebook case
Posted by: sony notebook case | July 30, 2007 at 05:27 PM
Very good site. Thank you!!!
http://tungkkk.t35.com/cod_only_order_phentermine.html cod only order phentermine
Posted by: cod only order phentermine | July 30, 2007 at 09:19 PM
Good site. Thank you:-)
http://tungkkk.t35.com/free_shipping_with_phentermine_order.html free shipping with phentermine order
Posted by: free shipping with phentermine order | July 31, 2007 at 11:22 AM
Very good site. Thanks:-)
http://tungkkk.t35.com/gmc_part_pierre.html gmc part pierre
Posted by: gmc part pierre | July 31, 2007 at 07:57 PM
Nice site. Thanks!!!
http://tungkkk.t35.com/gmc_part_pierre.html gmc part pierre
Posted by: gmc part pierre | July 31, 2007 at 08:17 PM
Nice site. Thanks.
http://tungkkk.t35.com/gmc_safari_part.html gmc safari part
Posted by: gmc safari part | July 31, 2007 at 09:30 PM
Nice site. Thank you!
http://tungkkk.t35.com/gmc_suburban_part.html gmc suburban part
Posted by: gmc suburban part | July 31, 2007 at 11:19 PM
Very good site. Thank you!!!
http://tungkkk.t35.com/gmc_van_part.html gmc van part
Posted by: gmc van part | August 01, 2007 at 02:13 AM
Good site. Thank you.
http://tungkkk.t35.com/mk_wet_saw.html mk wet saw
Posted by: mk wet saw | August 01, 2007 at 06:54 AM
Nice site. Thanks:-)
http://tungkkk.t35.com/online_dating_arizona.html online dating arizona
Posted by: online dating arizona | August 01, 2007 at 11:03 AM
Very good site. Thank you.
http://tungkkk.t35.com/sun_lamp_the_rapy.html sun lamp the rapy
Posted by: sun lamp the rapy | August 02, 2007 at 01:45 AM
Nice site. Thank you!!!
http://tungkkk.t35.com/wet_saw_blade.html wet saw blade
Posted by: wet saw blade | August 02, 2007 at 06:28 AM
Nice site. Thanks:-)
http://gift10.freehostia.com/caribbean_travel_vacation.html caribbean travel vacation
Posted by: caribbean travel vacation | August 02, 2007 at 08:55 PM
Nice site. Thank you!
http://gift10.freehostia.com/caribbean_rental_vacation_villa.html caribbean rental vacation villa
Posted by: caribbean rental vacation villa | August 03, 2007 at 03:27 AM
Cool site. Thank you!
http://gift10.freehostia.com/caribbean_property_rental_vacation.html caribbean property rental vacation
Posted by: caribbean property rental vacation | August 03, 2007 at 01:39 PM