What is the best (most productive) FLEX IDE? - apache-flex

Some requirements:
Step-by-step debugging & Break Points
View variable values while debugging
IntelliSense (auto-completion). Ideally done with "smarts" so it only shows you the syntactically valid options to complete something. E.g., Textbox. would trigger members of that class (.Text, .BackColor), etc. And then Textbox.BackColor= would trigger a list of valid colors.
Drag'n Drop style GUI design.
I'm not concerned about cost (Ok, over $1K gets a little pricey looking :-)

Step by step debugging with variable view (and often with additional views like stack or global variables etc) is working in some IDEs. FlexBuilder, FDT3 Enterprise (only the enterprise version allows debugging), FlashDevelop (with extra plug-in). You can also try the (free!) Visual Studio plug-in Tofino (Ensemble), so you can debug inside Visual Studio.
But the best implementation for debugging I found in the Eclipse based IDEs. I'm not much impressed with FDT3 at all, so I recommend FlexBuilder for debugging (+profiling) and of course coding of AS and eventually (visual) design for MXML.
You can try FlashDevelop with the FDB plug-in. Many people prefer this free IDE for coding because of the nice code assist (IMHO the best of all known IDEs). Debugging is working with this plug-in but I wouldn't say that is the "most productive". But give it a try, its free!

There are only 2 I know:
Flex Builder
IntelliJ Idea

I was interested in the comments on debugging above. I am one of the developers of the Amethyst Flex/AIR IDE for Visual Studio. We are very keen to have the best Flex debugging available so I would appreciate any feedback to help us achieve this.
The current beta of Amethyst has breakpoints, watch variables, locals, call-stack, step-into/step-out/step-over plus drilldown expansion in the debugging windows or in hovering debug tips in the code editor. There's a small movie showing a few debugging features of Amethyst here:
http://www.sapphiresteel.com/Debugging-Adobe-Flex-Applications
Shortly we will add more features (e.g. tracepoints and conditional breakpoints). But if there are any features we've missed, now would be a good time to tell us ;-)
best wishes
Huw Collingbourne
SapphireSteel Software

I've used them all and I can say without a doubt IntelliJ is the most powerful of them all.
http://www.jetbrains.com/idea/features/flex_ide.html
It also is the best JS IDE, and unless you are using .NET on the back end it is probably the best IDE for your back end language. These guys really have it going on.

FlashDevelop from FlashDevelop.org is another free editor that appears to be gaining momentum. It's windows-only but seems to be pretty feature rich.

Netbeans also has a plugin called FlexBean. But by now isn't powerful.
How about SapphireSteel Amethyst Personal Edition? It's based on VS.

Quite a few prominent Flex+Flash developers swear by FDT
It's an Eclipse plugin, and it's probably the most expensive Flex development tool out there, but it's very good.

Flex Builder. And BONUS you can get it for FREE if you are a teacher or student.

From the discussion above, below is the list of IDEs for Flex with debugging support
Powerflasher FDT
Amethyst
Adobe Flash Builder
IntelliJ IDEA (Ultimate Edition)
Flash Develop

Related

Flex UI testing automation

We have a flex based UI whose functionality (eg: login, logout) needs to be tested periodically in IE 7. Manual testing takes a lot of time and hence we want to automate it.
EDIT: We dont have the source code of this app uder test so cannot use something like FlexUnit. Is there a way to automate this testing?
I have heard of FleXmonkey, but have read negative reviews of it and hence wary of trying it.
EDIT: source of negative review:
Automated testing of FLEX based applications
(Comment by Ryan H)
Please suggest if theres a way to go about it.
EDIT: An open-source solution is preferred.
Thank you.
You won't get very far in your development adventures if you avoid reviewing things just because you read negative reviews. ( Please provide a source for said negative reviews ). I've also read bad things about Flex and Flash Builder and the Flash Player. Yet, you still ended up using Flex?
That said, I strongly suggest checking out Flex Monkey.
RIATest is another option.
I believe you can also do this sort of testing with QTP. I couldn't find a specific source for QTP info, but there are a few links if you google.
http://www.learnqtp.com/does-quicktest-professional-support-flashadobe-flex-applications/
http://vishnuagrawal.blogspot.com/2009/04/flex-automation-testing-with-qtp.html
Without recompiling the source code, it is not possible to test Flex in all cases. Saucelabs IDE claims that it can test Flex without recompiling the code. You may check that.
I think FlexMonkey is pretty cool and worth judging on your own. Most of these tools use the same underlying automation framework provided by Adobe, and thus have many of the same pains and challenges. We've actually done a lot the last few months to make it easier to work with and have been working to provide more documentation on dealing with common challenges.
If you do have problem, you will find that our Forums are very active with questions and answers: http://www.gorillalogic.com/forum/7
-Jon Rose -
Gorilla Logic, Inc
Some Flex automation tools support testing of Flex applications without requiring to recompile it.
RIATest definitely supports it (called runtime loading) and if I am not wrong QTP does it as well. AFAIK there are no open source tools that support it.
Beware though that runtime loading is not for every application. If for example you are using custom html wrapper you cannot use it with runtime loading.

flashdevelop vs flex builder

I just started making games and I decided for my next project to use either flashdevelop or flex builder. Reason being is because you can embed just about everything and for licensing purposes and it recommended the the game is compiled into one file. flex sdk is good with that type of stuff.
As of right now I decided to use flashdevelop. but recently it's been kicking my behind. First I wasnt able to use ui class (e.i. buttons, and textboxes) probably because of something stupid I did. Now for some reason I can not compile my applications. When I compile, nothing happens, no errors, no nothing. below is a screenshot of what happens when I compile.
Yes i installed debugger and yes I installed sdk
So now I was thinking about just going with flex builder. Not sure which one is more easier to assemble and use. But I do know the flex builder community is bigger, and they have a much better documentation. I am good with actionscript, but I am not so good with using flex.
My ultimate question is...
Which one is easier to assemble
which one is easier to use
which one is BETTER overall
as far as not compiling goes, looks like it compiled just fine.
I don't know what you're expecting to see from the code other than the "Hello"
to see that open up your output window (under View)
Whether you use flex or flashdevelop, you end up using the same compiler.
Like Adam, I find flashdevelop easier to use than flex, but that's because I've used it more (flex trial expired and FD didn't)
And plus I'm fast with FD, like really fast :)
Try some of the shortcuts:
to create getter and setter or
generate function press 'ctrl shift ~' and PRESTO
or for a for loop or for each loop type in the first few
letters and press 'ctrl B'
to find instances of any string in code you
can do F3 and shift F3, whereas F4
will find the object or function
declaration(even in separate files)
FD also adds a lot of the classes as
needed (sometimes I have to do it manually)
and the latest version lets
you generate classes which extend
another class easier.
I'm sure that flax does most of this as-well, but when you're already used to this then switching slows you down.
I had the same issues when I started working with FD. What it boils down to is that flex has a bunch of libraries that it's using that FD doesn't unless you link to them, and sometimes even then.
But once you start compiling your libraries and assets into SWCs you will be able to compile them through Flash and Flex. Which can be handy (like when you're working with other developers)
FD doesn't have a profiler, but this has not prompted me to stop using it. When I need some debugging and trace isn't enough I add the demonsters debugger class: http://www.monsterdebugger.com/ it's pretty powerful, but you still can't step through your code.
** Update - Flash Develop has had a profiler for a few versions now, It's good for watching memory use, but I still end up using monster debugger a lot. You can use debug in Flash Develop as-well and step through your code.**
FD doesn't have the UI that flex does, and for developing mxml it is a bit more tedious, but at pure as3, I find FD is all I need. Well than and Flash to create my SWCs
I think a lot of it is personal preference, and what you have previously used. Some people do have strong opinions though.
Personally I like FlashDevelop, but only because I am use to it, and can get things done a lot faster e.g. setting up projects, workflow, shortcuts etc. But I am sure If I forced myself to only use FlashBuilder (formally FlexBuilder) that I would soon come to grips with its nuances.
Here are a few of my points for either side:
FlashDevelop:
I like how FlashDevelop is so simple,
where as Flash Builder is rather
bulky.
FlashDevelop is totally free, where Flash Builder actually cost quite a bit.
Flash Builder:
Built on Eclipse, so has a massive community, tons of plug-ins etc.
Source control intergrated into the IDE (very important in large projects).
Also might want to check out this article on ActionScript Editors.
I know it's an old topic, but in case someone finds it, here is an interesting thing I've noticed:
I am using pixel fonts in my project, and by default Flash Player blurs part of it (it is a known problem). One solution is to use a bitmap text (some kind of custom class) and the other is to use Text Renderer with some of its related elements to force Flash to render the font correctly. When compiling under the same version of Flex SDK in Flash Builder 4+ the font rendered correctly. But when I compiled with Flash Develop (latest version) the text was really ugly, with missing pixels at random places. It might be caused by the fact that Flash Develop or Flash Builder are sending some hidden arguments to the compiler which either make it work/break.
This is a long running question that has been repeated a few times. Review this question and see if it answers yours.
Web-based Game Development: Flex Builder or Flash CS3?

Adobe Livecycle data services coaching

I would like to know about the LCDS. What it does? How to configure it? Do I need to know Java?
Can I get some sort of tutorial pdf for it?
I am a new flex developer.I would like
to know about the LCDS. What it does?
One of the major feature of LCDS is it provides a server side push implementation to your flex app.
How to configure it? Would not know, since it does not work in sync with c# have not explored it as much as I would have liked.
Do I need to know Java?
Yes, unfortunately Java is the major player in supported language, else I would be all over it.
AdobeĀ® LiveCycle Data Services ES is a powerful solution for creating data-intensive rich Internet applications (RIAs) that integrate with J2EE applications and business logic.
That is from the adobe site: http://www.adobe.com/cfusion/entitlement/index.cfm?e=lcds26_td
Can I get some sort of tutorial pdf
for it?
Best way is to go through the tutorials on the adobe web pages. If you are using hibernate here is an extra example. http://blog.comtaste.com/2007/07/livecycle_data_services_and_hi.html and http://iamjosh.wordpress.com/2007/11/08/building-a-livecycle-data-service-application/
T
and welcome to the great world of Flex. One thing is for sure - your going to enjoy it.
It is always good to satrt with the official site: http://www.adobe.com/products/livecycle/dataservices/
if you want to see what can be done with Flex in general and with LCDS, install Tour-de-flex: http://gregsramblings.com/2008/12/12/livecycle-data-services-and-tour-de-flex/
This Blog was a good start point to new guys where I work. The most important suggestions he made was to:
1. Get to know google
2. Check out this lynda course.
Last but not least, AdobeTV have great videos to watch! see: AdobeTV Data services search page
By the way, AdobeTV itself is fully build with Flex.
Be sure what LCDS can do for you with respect to Coldfusion and Flex/AIR.
There is likely something there that will save you a great deal of time, money and coding.

Do I need Flex Builder?

I am completely new to Flex.
Can I realistically develop, say, a medium complex application with the Flex SDK alone, or do I need Flex Builder?
Also, apart from the SDK, what will I need to get started?
Thanks for any help.
I was there a year or two ago, so here's my experience. In order by subquestion:
I am completely new to Flex.
I was new to Flex too - and Actionscript (although it's a superset of javascript, which I know pretty well; although it sure doesn't feel like javascript to me).
Can I realistically develop, say a medium complex application with the Flex SDK alone, or do I need Flex Builder?
Maybe, if you already know Flash and Actionscript pretty well. I didn't, so I found it sure helped. But it isn't any different from any other IDE-or-not decision.
Also, apart from the SDK, what will I need to get started?
Nothing, unless you want to use AIR, which is only a simple download. Everything else is in there. I was completely happy with my experience; no unpleasant surprises, and you're asking the same questions I did. YMMV.
You don't need it, but it can be helpful.
I've found FlashDevelop to be a much better IDE for coding ActionScript. It ties in with the (free) Flex SDK, so as long as you don't mind coding the MXML by hand then it should work great. I've created a number of smaller Flex apps using this, and it's worked great. I generally shy away from graphical GUI designers anyway, so it worked quite well for me.
FlexBuilder gets you two things that (afaik) you can't get elsewhere. A visual designer for the MXML, and a debugger. If you get the more expensive version of Flex Builder you also get a profiler.
The visual designer is good if you want to quickly prototype something, or if you're used to designing UI stuff that way (and I can see where it would be helpful once you start getting into more complex UI stuff).
The Flex SDK comes with a command line debug tool, but the GUI you get with FlexBuilder makes using it a lot easier. This is what made getting FlexBuilder worth it for me. I generally don't use FlexBuilder for everyday development, but when I need to debug it makes things much easier.
If you're the one who would have to pay for FlexBuilder, try it without FlexBuilder. If you start running into a situation where you feel having the graphical designer or debugger GUI would be helpful, grab the FlexBuilder trial. You'll have 30 days to try it out. If it helps you enough that you think it's worth the cost, then buy it. If you're getting along fine without it then you don't have to worry about getting it.
If your employer would be purchasing it and has the budget for it then it might be worth getting it sooner, but you could probably do the same thing I mentioned above so as to possibly save your company some money.
You don't need FlexBuilder to develop Flex applications, I use:
Flex SDK
Editor of your choice ( I use emacs on Linux, Notepad++ handles ActionScript well in Windows)
Ant (Flex SDK comes with Ant tasks)
I wrote a entire blog post on how to set up a Flex development environment:
http://blog.apterainc.com/software/setting-up-a-flex-development-enviroment-in-gnulinux/
While I blogged about setting this environment up in Linux, most of the steps can be directly transferred to a windows environment.
As to the other posters: Developing GUI components in Flex is no different or harder then using HTML to design a webpage. If you require a WYSIWYG editor for that, then you do not know Flex or HTML well enough.
FlexBuilder has been well worth the investment for me personally; it's probably paid for itself tenfold or more. No, far more. Easily.
A few key fetures I've most enjoyed:
Intellisense/code-hinting: Especially if you're new to Flex, this'll speed your learning process along surprisingly well;
The Profiler: The live memory/app profiler really helps keep an eye on what's happening inside the box;
The Debugger: It's tough to beat being able to set breakpoints, trace the stack, watch variables, etc. -- great stuff here;
Eclipse: Eclipse is just an excellent IDE, and Adobe has extended it beautifully for Flex and AIR.
Incidentally, I don't do any drag-and-drop stuff, myself; I code everything manually, and I still can't recommend FlexBuilder enough. If you can part with the cash, chances are you'll be happy with the product.
Flex Builder is really useful if your application involves lot of GUI. It provides you a nice IDE do draw GUI. If you are just building actionscript that transforms to swf, you don't need Flex Builder. Flex SDK with your favourite editor is enough.
You may have to learn Actionscript and MXML DTD.
It's not required but it certainly makes things easier.
However, having said that, when you're using the FlexBuilder, you'll probably still end up doing minor tweaks to the UI in the mxml code and not in the IDE.
G-Man

Would an automatic MSIL to JavaScript conversion be useful?

I've been working on a project called Axial that converts MSIL (compiled C# or VB.NET) to JavaScript. There are a few samples of working code, but some common situations don't work properly. (The current release doesn't work in production mode and the SVN code doesn't work in debug mode but is much cleaner.) I've heard from quite a few people that they hate writing JavaScript, so I know the project has some merit, but I'd guess that attitude is less prevalent among the SO community.
Assume the product works perfectly and smoothly, so your JavaScript works 100% of the time and a Visual Studio plug-in makes sure you're using the product correctly. Is this something you or your organization would use? What features other than straight code translation would interest you?
That sounds very much like a .NET-centric version of GWT. I guess the questions are:
Have I understood the purpose correctly?
Do you believe you can overcome any roadblocks that GWT users might stumble over?
Is there enough benefit in having a .NET version as well as GWT to make the duplication of effort worthwhile? (I'd personally just write the Java code and use GWT, but I know not all .NET developers know Java, and you may already have common library stuff you want to port.)
Do you have any useful ideas you could contribute to GWT? :)
(Disclaimer: I work for Google, but haven't used GWT myself.)
Been done (pretty much).

Resources