Summary
The latest build of JetBrains' IntelliJ IDE now supports editing and compiling Flex code, including refactorings of both MXML and ActionScript.
Advertisement
As other IDEs, IntelliJ's IDEA has transformed itself from a Java-only developer tool to a multi-lingual toolset suitable for a diverse set of development tasks. For IDEA, the latest step in that progression is the addition of Flex support in the early access release of version 7.0.3.
Supporting Flex development is now possible, thanks to Adobe's open-source release of the Flex SDK, including the entire Flex API and the Flex compiler.
While the latest IntelliJ IDEA does not come with a bundled Flex SDK, the documentation provided with this release provides clear guidelines on how to set up and configure a Flex project within IntelliJ.
JetBrains' support of Flex development is significant, because, to day, the only full-fledged Flex IDE is Adobe's FlexBuilder. While feature-rich, FlexBuilder still does not approach of power and maturity of modern Java IDEs. IntelliJ's entry into this space may now provide some competition. Flex features included in this IntelliJ early-access release are:
Smart code completion for MXML and AS files, with cross-resolution of code symbols between them, even inside of mx:Script blocks and attribute values
Automatic code formatting, highlighting and styling
On-the-fly code validation with instant quick-fixes
Code insections to hunt perfomance bottlenecks, bad code practicies and other problems
Rich set refactorings
Not part of this release is a graphical UI editor, a feature that forms one of the core strengths of Adobe's FlexBuilder.
What do you think of JetBrains' entry into the Flex IDE space?
I'm ambivalent about IDEs. The greatest benefit is still that they abstract the build process away as good as possible. But this is also a big disadvantage because you don't learn well how to use the SDK. Setting up things in Flex/AIR can be painfull as a newbie but you better understand the systems structure when you've gone through it once and write your own config scripts in your scripting language de jour. While IDEs provide lots of magics that might boost productivity on a small constant factor I don't take programmers all too seriously who intellectually depend on it.
Unfortunately lots of Flex literature but also the definition of MXML ( as the source view of a GUI design ) is already tailored towards Adobe Flex Builder. This will be the biggest stumbling block for market success for Flex IDEA.
I think the Flex integration is an important direction towards supporting RIA tech in IDEA. As I think of all the possible candidates Flex has the most backing in the industry at least for now. I wasn't impressed with FlexBuilder nor it's price so it is good to see a top notch IDE like IntelliJ take space in an area that needs something better.
To Kay's response I think she undervalues a good IDE. Refactoring is a must in software development and IDEs are the only thing that can do that well. I say you aren't a good craftsman, if you will, if you aren't well versed in your tools. They are much more than a build mechanism. They have built in local source history, refactoring tools (a must), change tracking through source control, and much more.
The developers that think developing in notepad, vi, or emacs has a higher calling are likely producing code that isn't well formed or well designed. They seem to miss the forest for the trees from a design perspective. Because of this it is either over designed or it is a copy paste modify world to them which is a refactoring and design nightmare. However, keep in mind people do this with IDEs also.
You don't need to be developing in a text editor to understand the SDK or be a good developer. You need to be a flexible, moldable, ever learning, and ever changing practitioner of your field to know the SDK and other apis. I have seen enough of these types of developers and what I have noticed is yes they understand the core SDK well but, they don't get much further than that and don't pick up other frameworks and apis as quickly. Maybe it is a nature of being change adverse but, that is speculation on my part.
But, according to Kay she won't take this seriously because my arguments make me tied to my IDE intellectually :).
Kay, I suggest you try out a decent IDE for a week or two. I promise you won't turn back to your editor if you're developing anything more complex than Hello World.
IDE is a must nowadays. But I don´t like the Adobe´s pricing, that´s exagerated. I´m really glad that someone has made a step forward and made another, I hope that a good IDE, for AS 3.0. I don´t like feature rich IDEs (although Adobe dev envs are damn well designed), I like something easy to understand and master. I don´t want to spend months or even years learning how to use it. I prefer something in between of Notepad and Netbeans for example:) I think BlueJ is nice.
> Kay, I suggest you try out a decent IDE for a week or two. > I promise you won't turn back to your editor if you're > developing anything more complex than Hello World.
I might have produced some misunderstandings. First of all, Kay is a males name in Germany, secondly I'm not anti-IDE. I'm ambivalent.
Just last week I re-read Bruce Eckels article about Flex+Python integration via XMLRPC. When you want to tie them closely together within one project how do you realize it using Adobe Flex builder? I know how to work this out using MED or Ultraedit. Ultraedit even enables autocompletion once you've created a reference index. So I'm moving down to the SDK and doing it the hard way because even the literature I use ( besides Adobes own docs which are more pluralist ) presupposes using Flex Builder. So it's about a project specific integration which has to be optimal regarding my own target system.
Note that doing "Hello World" using SDK tools and particular AIR is the hard stuff. It's not fun being a newbie and have to learn how to produce certificates and using three tools ( amxmlc, adl, adt ) to create one "Hello World" app. The rest is much simpler :)
Sorry Kay for assuming your gender based on the name. I wasn't aware of the usage in Germany and wasn't paying attention to your last name either. I will have to be more gender neutral in the future I guess :).
I am not sure I understand the particular integration you are trying to achieve with python and flex and how you are expressing that through the tools you are using so maybe your right about your particular case. Although it sounds like you are working harder not smarter but, I could be wrong. IDEs are about working smarter not harder but, they don't cover every possible problem space in the development world. Although I expect they cover 99.99% percent of them. I am a Java developer so IDEs are supreme in getting things done, although, I don't like IDEs that hide code from me like Netbeans and even certain aspects of IntelliJ.
That brings me to BlueJ. Looking at the documentation it sure looks like BlueJ isn't a tool that sits between a text editor and Netbeans but, on the other side of Netbeans where it abstracts the code almost complete from you. Hopefully it lets you modify and change the source code easily or this type of tool will never be adopted by the larger community. If I am doing a lot of mouse work to get things done then I am not being productive. IntelliJ is great about keep the mouse out of my hands as much as possible. Eclipse isn't half bad and Netbeans is decent.
Also for further note BlueJ even self describes themselves as a learning tool not, a professional developer's tool.
> Just last week I re-read Bruce Eckels article about > Flex+Python integration via XMLRPC. When you want to tie > them closely together within one project how do you > realize it using Adobe Flex builder?
I am currently working on a project using Flex and PHP. The layers communicate via AMF, using the amfphp lib. There was no problem to find a project structure that fits my requirements. Flex Builder isn't exactly focused on flexible project structure, but other Eclipse plugins such as WTP can be worse in my experience.