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
I can just dream about such perfect skills in thesis title close to this topic composing. I incessantly use the assistance of the professional dissertation writing service. In my case this fits me the best.
Posted by: pQ32Sophie | December 29, 2009 at 02:52 AM
Sadly, the explanation is frequently something that is so basic it would only require a brief period of time to get into place, but is often forgotten.
Posted by: Debt Reduction | February 24, 2009 at 03:37 AM
Regretfully, the explanation is frequently an approximation that is so basic it would only need a precise instance of time to put into place, but is generally excluded.
Posted by: Debt Consolidation | February 24, 2009 at 03:37 AM