Tapestry for Nonbelievers
A new article by I. Drobiazko and R. Zubairov introduces v. 5 of the Apache Tapestry component-oriented web framework. The tutorial shows how to create a component and covers IoC in Tapestry and Ajax.
- Java,
Tracking change and innovation in the enterprise software development community
Posted by Jon Rose on Apr 17, 2008 01:06 AM
In this post, Adobe’s James Ward teams up with InfoQ.com to bring you another Flex Top 10 (our most recent Flex Top 10). Flex is an open source application development framework for building rich Internet applications that run in the web with Flash Player, or on the desktop with Adobe AIR. Overall, Flex is a powerful framework that is easy to use, but today let's focus on some of the common mistakes that are made when building Flex applications.As a Java developer, learning Object Oriented ActionScript and the UI markup language is really a walk in the park. The challenge however for (Java) developers is that we're not designers, and with RIA technologies these two skills are very much needed.
The biggest Flex performance danger is yielding to the temptation to use containers randomly. Deeply nesting too many containers hinders the performance of your application. This is the number one performance danger that Flex developers succumb to—and luckily it is 100 percent avoidable.
Most animations are simply TOO LONG. They are long, and slow, and boring, and excessive. Tone it down. If there is one thing I have found, its that I hate waiting for stupid animations to finish so I can do something else.
Don’t get me wrong I am not bashing animations. I am simply bashing animations that are simply too long or too extravagant for their purpose. Every animation can be broken down to having a purpose. Figure out the purpose of your animation and apply accordingly.
You can shrink the size of your application's resulting SWF file by externalizing shared assets into standalone files that you can separately download and cache on the client. Multiple Flex applications can load these shared assets at runtime, but each client need only to download them once. These shared files are called Runtime Shared Libraries.Another under used feature of the framework is the built in accessibility features. You can read more about the accessibility features of Flex in Adobe’s livedocs. In addition to built in accessibility, the framework provides built in features for localization. For the latest Flex 3 framework features, checkout Adobe’s Getting Started introduction page.
Info 2.0: IBM's vision for the world of Web 2.0 and enterprise mashups (Webcast)
IBM Web 2.0 Developer eKit: Free Tutorials, Webcasts, Whitepapers
Hibernate without Database Bottlenecks
A Technical Introduction to Terracotta
IBM software architect eKit: Grady Booch podcast, whitepapers, articles
Having already gained some experience in struts 1.x, it easy to get on with struts 2.0. Does Flex provide anything better than struts 2.0 for applications which do not need animation and are not required to run offline (means they dont need to be RIA)?
Is there any GUI testing framework (of the likes of Selenium and Canoo Webtest) for Flex that can allow recording some test scripts that can be run in a continuous integration environment ? I am considering porting one of my past JSF+EJB based application to Flex+Spring(for learning Flex stuff), I noticed most of the testing frameworks are available except for this last piece that I have not heard about (yet)? Just wondering if there's any progress made on this front ?
Can I add a few things,
Letting script tags get out of control. Or using code behind methods for MXML. Only using mxml for visual components and writing everything else in ActionScript.
Using a framework for structuring your application, pureMVC, caringum, etc. The flex "framework" is mostly component set.
Looking at other component sets like FlexLib or degrafa based stuff to create what you need before writing the same thing over again.
Not using the design view but for mockups, because the code that it makes isn't very clean.
Being considerate of how many components are needing to be redraw at the same time with page resizes, component updates, or animation. Percentage based elements are can slow things down.
Not using to many events and being considerate of removing them after you are finished with them. Removing things from the display list doesn't delete there listeners.
Consider an ActionScript only project before jumping into the 500K flex framework. You can make in less then 10K and all of this should only be used if it needs to be. If all you need is basic components dont use the flex ones because using just one component you get the whole framework.
Why is this posted in the Java community? Flex isn't a Java tech ;)
Having already gained some experience in struts 1.x, it easy to get on with struts 2.0. Does Flex provide anything better than struts 2.0 for applications which do not need animation and are not required to run offline (means they dont need to be RIA)?
Hi Sandeep,
It depends on what you are trying to build. RIAs can bring many of the good things about desktop apps to the web. If you are building Wikipedia or a very content centric site then they may be little value in moving to an RIA. However if you application does data management, data visualization, or needs capabilities like desktop applications have - then Flex is a possible option. For instance check out the performance benefits of using Flex when displaying data in a Data Grid using my Census RIA Benchmark.
I hope that helps answer your question.
-James
Is there any GUI testing framework (of the likes of Selenium and Canoo Webtest) for Flex that can allow recording some test scripts that can be run in a continuous integration environment ?
I am considering porting one of my past JSF+EJB based application to Flex+Spring(for learning Flex stuff), I noticed most of the testing frameworks are available except for this last piece that I have not heard about (yet)? Just wondering if there's any progress made on this front ?
Flex supports automated testing and unit testing. There are various products and open source projects to do each. What are you currently using to test web apps?
-James
A new article by I. Drobiazko and R. Zubairov introduces v. 5 of the Apache Tapestry component-oriented web framework. The tutorial shows how to create a component and covers IoC in Tapestry and Ajax.
In this interview, Burton Group consultant Pete Lacey talks to Stefan Tilkov about his disillusionment with SOAP, his opinion on REST, and addresses some of the perceived shortcomings REST vs. WS-*.
Jay Fields presents his concept of Business Natural Languages - a type of Domain Specific Languages geared towards being readable by domain experts.
Adoption and interest for Distributed Version Control Systems is constantly rising. We will introduce the concept of DVCS and have a look at 3 actors in the area: git, Mercurial and Bazaar.
Deborah Hartmann interviewed Segundo Velasquez about his experience as customer with an Agile team during the initial phase of software design of a product.
David Cooksey shows how to fine grained versioning to a ClickOnce deployment using an HttpHandler written with ASP.NET, making partial rollouts to a test audience much easier.
Windows workflow (WF) is an excellent framework for implementing business processes, but lacks support for human activities. This article describes a completely generic approach for changing this.
In this interview taken during OOPSLA 2007, Markus Voelter talks about the importance of documenting the software architecture, and gives some good and also bad examples on how it could be done.
6 comments
Reply