Hello Everyone, For me its an honour to work with Flex and Apache continues its legacy after Adobe, thanks to Apache Flex Team, for that.
I take out one IDE comparison between Flash Develop and Flash Builder sometime ago, as an evaluation process to choose Flash Develop as an alternative to Flash Builder; Its true Flash Builder is an old player in the block and most matured one, too. We are seeking if a few of these following issues can be addressed by Flash Develop to come out as a bright opponent (to Flash Builder) as well; Some of the following issue(s) may already solved/hasSolution which I may not know, you/anyone is very welcome to address the solution as well. Please, have a look. |--------------------+------+------+------------------------------------| |Description | FD | FB |Comments | |--------------------+------+------+------------------------------------| |SDK setup is Easy | X | √ |FD gives option to setup many type | | | | |of SDKs at startup. This includes | | | | |Haxe, Apache Flex SDKs etc. However,| | | | |I couldn’t able to run any project | | | | |running with Apache Flex SDK and AIR| | | | |14.0. Even everything seem mapped | | | | |well (SDK path) running any AIR | | | | |application with AIR SDK 14.0 throws| | | | |compiler error while run saying | | | | |unrecognised namespace (14.0). Only | | | | |able to AIR project with AIR 4.0 - | | | | |I've noticed this issue in both my | | | | |Mac and Windows setup - Later when I| | | | |uninstalled completely from Windows | | | | |machine and re-setup FD and its SDKs| | | | |Without 'Flex SDK 4.6 & AIR 4.0' but| | | | |'Apache Flex SDK 13.1 & AIR 14.0', I| | | | |able to run a project with AIR 14.0 | | | | |runtime; these setup and run with | | | | |appropriate SDK seems troublesome to| | | | |me. | |--------------------+------+------+------------------------------------| |Changing SDK updates| X | √ |FD never updates application | |requisite properties| | |namespace in descriptor file when | |in application | | |changed AIR SDK in a project | |descriptor file, in | | | | |AIR | | | | |--------------------+------+------+------------------------------------| |GUI friendliness | √ | √ | | |(based on my | | | | |preferences) | | | | |--------------------+------+------+------------------------------------| |Creating a Library | X | √ |FD has no template type to create a | |Project in easy | | |Library Project neither it has any | |steps | | |compiler/publish option to specify a| | | | |project requires to compile as a | | | | |Library Project (SWC). | |--------------------+------+------+------------------------------------| |Easy access to | √ | √ |FD anyway shows only one project at | |different project | | |a time in its Project panel where FB| |workspace | | |gives much more access to different | | | | |projects at a same time. Changing | | | | |project workspace each time in FD is| | | | |somewhat killing efficiency. | |--------------------+------+------+------------------------------------| |Running different | X | √ |Since FD gives one project workspace| |projects is Easy | | |access at a time (through its | | | | |Project panel), it needs everytime | | | | |to change that workspace to a | | | | |different project view to run that | | | | |particular project | |--------------------+------+------+------------------------------------| |Running AIR SDK 14.0| X | √ |With regular installation of FD with| |project | | |'Apache Flex SDK and AIR SDK 14.0' | | | | |installed (or mapped manually), | | | | |there were multiple occasions when I| | | | |never able to run an application but| | | | |received an exception ‘Invalid | | | | |application descriptor: Unknown | | | | |namespace: | | | | |http://ns.adobe.com/air/application/| | | | |14.0’ - even when application mapped| | | | |to run with appropriate SDKs. I only| | | | |able to run an AIR application with | | | | |namespace 4.0 (AIR SDK 4.0); | | | | |Following these complexities I found| | | | |using FB is much more easy than FD. | |--------------------+------+------+------------------------------------| |Running an | X | √ |I am not sure if there is a way or | |application on | | |able to run a web application in a | |browser | | |browser in FD - I am also not sure | | | | |if this is the general behaviour in | | | | |FD but this only opens a stand-alone| | | | |Flash Player window in such cases to| | | | |run a project. If this a behaviour | | | | |of FD I wonder how to test/debug a | | | | |project directly in browser when its| | | | |a necessity, i.e. testing JavaScript| | | | |interaction with Flex project. | |--------------------+------+------+------------------------------------| |Jump to definition | X | √ |Its a must-needed feature for an IDE| |(Ctrl+Click) | | |but missing in FD. Jumping to ANY | | | | |definition by CTRL+Click on any | | | | |component reference is a much | | | | |required feature which I think | | | | |available in most of the IDEs today,| | | | |but its not available in FD. | | | | |Right-click and Goto Declaration | | | | |only available in API default | | | | |classes even not for properties. | |--------------------+------+------+------------------------------------| |Content Assist menu | X | √ |Although FD gives this feature to | |(Ctrl+Space) | | |open Content Assist menu, it does | | | | |not work inside parentheses | | | | |persistently. As an example I’d like| | | | |to have available values for a | | | | |particular property when the cursor | | | | |stays inside the parentheses for a | | | | |property (i.e. horizontalAlign=””); | | | | |this increases typo many a time. | |--------------------+------+------+------------------------------------| |Declaring a | X | √ |Unlike FB, FD doesn’t give any | |particular component| | |option to declare many additional | |is Easy | | |property except the file name - for | | | | |a MXML class. A MXML class file can | | | | |be of varied type with different | | | | |properties which can be define in | | | | |creation time in FB but not in FD. | | | | |It just straight creates an | | | | |Application type of MXML and that is| | | | |all. Thankfully for .AS class type | | | | |it gives a dialogue like FB where | | | | |user can define many such properties| | | | |for the AS class. | |--------------------+------+------+------------------------------------| |Importing component | X | √ |Importing a component from attached | |from an attached | | |Library project is not that easy in | |library project is | | |FD - the component never comes in | |Easy | | |Content Assist menu (Ctrl+Space) | | | | |until you manually declare its | | | | |‘xmlns’ path in importing | | | | |container’s declaration tag - this | | | | |is very much automated in FB, | | | | |though. | |--------------------+------+------+------------------------------------| |Coding easiness | X | √ |Curly brackets never gets closed | | | | |automatically in FD. | |--------------------+------+------+------------------------------------| |Running | X | √ |I never able to run a project | |multi-library | | |stitched in a multi-library manner | |project | | |in FD (Main calls LibA where LibA | | | | |calls LiB). | |--------------------+------+------+------------------------------------| |Help is right on | X | √ |Its a handy feature where FB shows | |tool-tip | | |Help block as tooltip when accessing| | | | |any component/class through Content | | | | |Assists menu (Ctrl+Space). Just | | | | |hovering the cursor over a declared | | | | |component/reference also shows help | | | | |block which is very handy time to | | | | |time. FD unfortunately doesn’t have | | | | |such feature. | |--------------------+------+------+------------------------------------| Thanks & Regards, Santanu Karar sant...@prominic.net | Skype: santanuprominic Mob: +91 98364 68934 |------------> | From: | |------------> >-------------------------------------------------------------------------------------------------------------------------------------------------| |Justin M. Hill/A55555/PNI | >-------------------------------------------------------------------------------------------------------------------------------------------------| |------------> | To: | |------------> >-------------------------------------------------------------------------------------------------------------------------------------------------| |dev@flex.apache.org | >-------------------------------------------------------------------------------------------------------------------------------------------------| |------------> | Cc: | |------------> >-------------------------------------------------------------------------------------------------------------------------------------------------| |Héctor A <neverbi...@gmail.com>, Mika Palmu <m...@j3r.com>, V Chandrasekhar <shake...@yahoo.com>, Santanu Karar/A55C03/PNI@PNI, Walker L. | |Dalton/A55E1D/PNI@PNI, Joel C. Anderson/A55D78/PNI@PNI | >-------------------------------------------------------------------------------------------------------------------------------------------------| |------------> | Date: | |------------> >-------------------------------------------------------------------------------------------------------------------------------------------------| |23/09/2014 09:32 AM | >-------------------------------------------------------------------------------------------------------------------------------------------------| |------------> | Subject: | |------------> >-------------------------------------------------------------------------------------------------------------------------------------------------| |Public campaign to improve FlashDevelop specificall for Apache Flex | >-------------------------------------------------------------------------------------------------------------------------------------------------| Apache Flex Team, I attended the Flex 360 conference with many of you earlier this year in San Jose. While I do not follow the list daily, I know you are all working very hard and we appreciate it very much. One of the most important things Apache Flex needs to succeed is a 100% free, easy to use, cross platform IDE which runs on Mac, Linux, and Windows. Obviously Flash Builder, FDT, and IntelliJ are all options already. When I started to evaluate the next investment we would make in IDE tooling post-Adobe, I came across this comparison: http://www.simtechmedia.com/blog/2010/10/ide-showdown-intellij-fdt-flashdevelop-2/ This in turn got me interested in FlashDevelop. Even though it was Windows-only, I decided to work with my contacts at https://www.codeweavers.com (a commercial support company for WINE) to get it working under our standard development platform: Mac. In a relatively short period of time, I was able to get FlashDevelop to work on Mac. I then made a nominal donation to Mika (one of the FlashDevelop project leads) to alert him to this breakthrough and encourage him to spend time testing on Mac. He also found it to be mostly a success. Mika then went on to create a CrossTie installer which makes it easier for other users to install FlashDevelop on Mac and Linux using CrossOver. [Side note for Mac and Linux users: I realize CrossOver is commercial and if it is a dependency for FlashDevelop on Mac and Linux, it is not totally free on those platforms. I am not concerned with that and hope the topic does not steer in that direction.] I then asked Santanu, Walker, and Joel to review Flash Builder compared to FlashDevelop on Mac to determine what else needs to make FlashDevelop an acceptable replacement for Flash Builder. Santanu produced a PDF which I will ask him to reply to this message in text form with the contents of the PDF in a text readable fashion so that it is readable on the mailing list. I asked Mika to commit to a full test of all FlashDevelop features on Mac, including Flash player debugging, compiling, Apache Flex installer testing, etc. He then put me in contact with Hector who he indicated may have more time and had already started a campaign to raise funds to enable him to dedicated more time to improve FlashDevelop for Flex: https://www.linkedin.com/groupItem?view=&gid=4296888&type=member&item=5905327257437630464&commentID=5920018570217009152&report%2Esuccess=8ULbKyXO6NDvmoK7o030UNOYGZKrvdhBhypZ_w8EpQrrQI-BBjkmxwkEOwBjLE28YyDIxcyEO7_TA_giuRN#commentID_5920018570217009152 https://www.indiegogo.com/projects/flashdevelop-improved-flex-support There is at least one other commercial entity set to help Hector meet his fundraising goals. Between the other company and Prominic, along with anyone else who can help, we can and will make FlashDevelop better for Flex. We need to see it better specifically on Mac as well, and I would like to ask other Mac users out there in the Flex world to participate now in defining exactly what goals we need Hector to achieve. Please categorize these into at least two different areas. A) Making FlashDevelop great for Apache Flex B) Making FlashDevelop great for Apache Flex under Mac and Linux using CrossOver. I envision FlashDevelop having an integrated Apache Flex installation process that works without the confusion of the current one which offers too many different downloads. I would like to see a launch page that makes it very easy to get started with your first Flex project. Similarly, a start page might also be appropriate for those interested in FeathersUI or pure Flash work. Right now everything is assumed that the user will know how to create a project for their preferred target, and that is not as intuitive as it should be. I would also like to see better import support for Flash Builder projects, and thorough testing of the integrated Flash Player with debug mode enabled under CrossOver, or possibly integrated with running the Mac version of the debug player. Santanu, please reply with your specific list of requests. Hector, please integrate Santanu's request into your master list and reply back as well. I welcome anyone else who can provide concrete direction for the goal list. The last revision I had from Hector on September 17, 2014 is as follows: 1. package: Code Completion and MXML 1. Code completion bugfixes: there are some bugs in code completion. ie.: sometimes it forgets the inherited properties until I open the base class. 2. Replace file bugfixes: there are extreme bugs when I try to replace a file or a folder, and FD updates the namespaces. Sometimes it deletes codes and replaces wrong texts. It’s very dangerous, but it would be very useful. 3. Custom mxml component code completion support in AS files: FD should support not only native, but custom MXML components. It partly have code completion when we use an mxml class in AS files, but mostly inherited properties and functions are disappear. 4. Mxml generation: Code generation (like class generation) and completion during editing MXML files. 5. Manifest support: You can define custom manifest files, where can describe for flex compiler the names and class paths (ie: <component id="Text" class="com.ui.controls.Text"/>). We would like a native support for these files. 6. Code navigation inside mxml: With F4 FD should jump to the inherited property as in native AS files. 7. Relative path support inside custom configs: we use custom configs, for defining our custom flex mxml manifest files, but the Flex SDK requires absolute path-s (or at least relative to mxmlc compiler). We would need a path support like in template generation (ie.: $ (ProjectPath) ) 2. package: RSL and SWC 1. Real RSL support: right now it has config in the project settings for RSL, but it was impossible to make it work. Right now I can use it with additional compiler options, but it’s really difficult to disable-enable it all the time. 2. SWC generation support: there is already a plugin, but it’s very limited and have a lot of bugs. It should also have the possibility for selectable generation, like in Flash Builder. 3. Support for RSL generation: native support for generate RSL files from generated SWC. (it most be unzipped, optimized with the Flex optimizer, and signed) 3. package: FlexUnit 1. Flex unit support: native support for FlexUnit testing. It should show the test results and detailed informations about the where did the test break. 4. package: Debugging 1. Breakpoint stack filter: sometimes there is a huge list in breakpoint stack, and it would be great to have a filter in this list by keywords (positive and negative). Filter also should support regexp and escaped characters. 2. Visual debugger, inspector (similar to firebug): it would be great to have a live inspector like in firebug. Inspect the DisplayObject tree, jump on the tree with I mouse click (like inspect in FireBug), live change the properties of any class (right now there is something like this, but it’s not enough user friendly) 3. Profiler improvements: in Flash Builder there are some nice features in the profiler that would be also great in FD. 4. Flex state handling: native code completion support for Flex States. 5. package: UI improvements 1. Intelligent CTRL+C and CTRL+V: after width = exactWidth ctrl+v generates height = exactHeight. For sure it should have a different shortcut like CTRL+ALT+V and CTRL+ALT+C or something like that. 2. Interface generation from code: sometimes we create code before the interface, so we would need a plugin, that generates interface from code. 3. Crl+click navigate support: it should do the same as F4. It’s a very nice feature in a FD plugin, and sometimes it’s very handy. 4. Ignore whitespaces search: in every search there should be a checkbox to ignore whitespaces. So if it’s enabled it would search for myVar = ", when the code is myVar = "something". 5. Negative filter in search: we could specify a negative filter for the search. So for example I want to find every SampleVO string, but only in those classes where there is no SomethingVO. Like in google the negative filter (ie: flash RSL �Cadobe) 6. package: Mercurial HG 1. Real HG support: it would be great to have an integrated HG Mercurial support like in PHP storm Thank you, Justin Hill http://Prominic.NET Skype: JustinProminic https://twitter.com/JustinProminic https://www.linkedin.com/in/justinprominic