In Spring of 2011, I was very excited at the fact that we would be using Adobe Flash Builder 4 in a semester-long software engineering class project at a leading university. I had used many Adobe products in the past and was very happy with them, particularly Photoshop, Illustrator and Dreamweaver. I had also been wanting to learn ActionScript/Flex, and this project would give me the opportunity. However, after extensive use of Flash Builder, I have realized that this product was the biggest let down since Windows Vista.
There were several people working on the same project using Subversion. In addition, we would have a lab session once a week using different computers, so it was necessary to frequently import projects into Flash Builder. Importing Flex Projects was the most annoying and time consuming aspect of many. Firstly, when one selects the import option, a dialog is presented and is positioned mostly off screen. It is necessary for one to drag the dialog to the screen manually every time. In addition, the path of recent projects is not saved, so one must manually navigate to the proper directory each time. Since there were so many problems with projects falling apart, many imports were necessary. It is necessary to manually navigate through the long hierarchy of directories to reach the project. This is very time consuming and unproductive.
After the import, the project will not run because of some problem finding the HTML files. It was necessary to create new projects from scratch and do a lot of copying/pasting until a team member directed me to delete the html-template directory. I am not sure how he came across this tip, as I had searched the Internet for solutions to no avail. One more tedious step is necessary. The html-template directory needs to be recreated, and the only way, at least that I see, is to rebuild the project, then after the error appears in the Problems window, right-click the error and select Recreate HTML Templates. That’s quite a bit of work, and maybe there should be an explicit option to recreate HTML templates that’s not buried as a right-click option in the errors list.
This leads to the next problem. Errors do not appear in the code until the file is saved. Every time I type in a new statement, it is necessary to save the file in order to see if there are any errors. This is very counterproductive. In addition, it would be much more productive to add a feature in the code hints that would allow for mouse wheel scrolling. It takes much longer to navigate through the hints without this feature.
Another problem related to importing projects is with executing it. Sometimes after importing a new project, a dialog displays that says that it may be necessary to restart the browser. This turned out to be a huge problem, as I frequently have many, many Firefox tabs/windows open at a given time. It is very unproductive to restart Firefox several times until the project finally imports correctly. Sometimes it will work without restarting, however, and I cannot pinpoint any differences between when it works and when it doesn’t. This may be related to the Flash plugin as opposed to Flash Builder.
This leads to another problem. For testing purposes, sometimes it is necessary to locally run the HTML file in the bin-debug directory. Even after a successful import and rebuilding of the HTML template, the Flash content will not load at all – just a blank screen. Sometimes the content will load, but it will not function correctly. If I upload the files to a live web server, it works just fine. However, sometimes it is necessary to run the HTML files locally, and it is very inefficient to have to upload/run to/from a web server.
After all the trial and error of simply importing a project and when you think you’re making progress, something happens to the project along the way. All of a sudden when you try to execute an MXML application, which is in the same directory of several others, only one certain MXML application decides to run (when you are trying to run another one). The only workaround that I found is to either bring up a backup or create a new project and copy/paste the code. This is highly unproductive.
All the inefficiencies and bugs in Flash Builder made it necessary for me to make constant backups. When a project fell apart, I had to open a backup and copy/paste the code. This was a lot of wasted time. In addition, I learned early on not to count on Flash Builder when presenting or making minor, last minute changes before a presentation. Flash Builder always managed to encounter some strange problem.
Flash Builder is unreliable and highly inefficient. I love Adobe products and Flash is great, but at this time I can no longer use or support Flash Builder, and I could in no way justify its purchase in the future until most of these bugs and inefficiencies are fixed. It has potential, and could be a great product if this were the case, but in my experience I spent more time overcoming bugs than coding. When something would not work right, I first had to determine whether it was a bug in my code or a bug in Flash Builder. If Adobe needs an engineer to fix some of these seemingly simple issues, I would be willing to take on the task for the sake of saving this potentially amazing product.