How about FlexStorm ?
I am a long time IDEA user (from version 2.5) and switched from Java development to fulltime Flex development about 2 years ago. As soon as Flex support in IDEA was available, I made the switch from Flex Builder back to IDEA because I think it is the best coding environment for Flex. I downloaded PyCharm to give it a try and also bought PhpStorm for quick HTML/JavaScript etc editing - I really like the integrated server access via FTP and SFTP. The startup time of these new IDEs is much faster and the feel in general is much snappier than IDEA - so how about a dedicated coding IDE for Flex without those million Java plugins?
There are more reasons:
- most Flex coders (e.g. Flex UG Hamburg) do not even know about IDEA
- might be easier to sell to Flex coders at a moderate price (like PhpStorm)
- it would be easier to compete with Flex Builder and FDT
- the upcoming profiler would be a complete overload for IDEA
Please consider!
Kind Regards,
Peter
请先登录再写评论。
Well, in my situation, we have a flex UI talking to a java backend, so IntelliJ is perfect for working on both at the same time. It would actually worse for me if I had to run FlexStorm to edit mxml/actionscript files and run IntelliJ to edit java files. As a developer, I really like that IntelliJ supports all the different languages from one IDE similar to Eclipse. I'm pretty sure IntelliJ's immediate users of the flex featues would likely also be those who were using IntelliJ for java and j2ee but are now doing flex developmen.
Re; startup time, if you had zero java source code, I don't think the java language/plugins portions of IntelliJ would take much of the startup time. On project with ~2000 flex files and ~10000 java files, the startup is very quick -- I am running on a quad core workstation but those are pretty common nowadays. The only thing that takes awhile is if the caches need to be rebuilt. Anyway, startup isn't that critical as usually I leave IDE running unles it dies or I need to reboot which is usally days at a time.
I think what you are talking about is more of a marketing issue, i.e. are pure flex developers attracted to the name 'IntelliJIDEA 9 'The Most Intelligent Java IDE' Ultimate Edition' ? Probably not... If I was a pure flex developer, I think the bigger problem would be that the project and IDE settings would seem cluttered with all the references to java stuff. I know you can uninstall alot of the builtin plugins, but I don't know if you can uninstall the java support.
IntelliJ is rapidly turning into an excellent Flex IDE, but it is probably an uphill battle to eat into FlexBuilder marketshare since it is made by Adobe (makers of Flash/Flex) and based on Eclipse.
There was a thread on stackoverflow recently about what the most productive Flex IDE was, and FlexBuilder, IntelliJ, SapphireSteel Amethyst for Visual Studio, FlexBean for Netbeans, and FDT were mentioned.
http://stackoverflow.com/questions/311887/what-is-the-best-most-productive-flex-ide
Jetbrains does talk about IntelliJ as a Flex & AIR IDE, but it is kind of buried now several levels below the main IntelliJ page.
Maybe they should elevate the Flex messaging to make it more attractive to pure flex developers. Jetbrains has Product links, but maybe they need a Solutions page which is language oriented, e.g. if you're a Flex Developer, then click here and it takes you right to the IntelliJ as a Flex & AIR IDE page.
Try finding the IntelliJ as a Flex IDE :
1. Products Landing Page
http://www.jetbrains.com/products.html
(This page bills IntelliJ as "best Java IDE on the market." No reason for a flex developer to click this link)
2. IntelliJ page
http://www.jetbrains.com/idea/
(Again, more 'The Most Intelligent Java IDE', no mention of Flex, Click 'full feature list')
3. IntelliJ Java IDE
http://www.jetbrains.com/idea/java_ide.html
(Still no mention of Flex, Click 'full feature list')
4. IntelliJ Full Feature List
http://www.jetbrains.com/idea/features/index.html
( Finally here they mention Flex. Click it.)
5. IntelliJ as Flex & Air IDE (Finally!)
http://www.jetbrains.com/idea/features/flex_ide.html
See, it would be better to have a Solutions Landing Page where you get right to different languages of interest and then point the visitor to the applicable products.
-Alex
I think his suggestion was such that the standalone Flex IDE ("FlexStorm") would be a subset of IDEA like PhpStorm, WebStorm, PyCharm, and RubyMine are today. IDEA (Ultimate edition) would still give you everything all in one, including Flex, like it does with PHP, Web, Python and Ruby today. But if all you want is Flex, you can buy FlexStorm at a lower cost. Just as today someone that only wants PHP can buy PhpStorm. But those that need PHP along with other things, like J2EE, can get IDEA. From a marketing standpoint, I think its a good idea. I won't be surprised if it's already in the works behind the scene.
I read in the PhpStorm roadmap that integrating Flex is under consideration. I would not do it because it would create another IDE (like IDEA) "that has Flex support, too". I would prefer a light-weight standalone version (like PyCharm, RubyMine and PhpStorm) but keep the Flex functionality in the flagship product IDEA - again like Python, Rails and PHP. If you add a profiler and offer the package for $100 (like the other dedicated IDEs) it would blow the competition (Flash Builder, FDT, Flash Develop) away at a very competitive price.
Interesting post: http://jessewarden.com/2010/09/adobe-please-bring-flash-builder-up-to-par.html
Regards,
Peter
ActionScript / Flex is actually being considered for WebStorm.
Marketingwise I would go for something with Flex in the name.
Maxim - how is the Profiler ;) coming along? Anything in EAP soon?
Regards,
Peter
There will be standalone ActionScript profiling plugin available once private builds will be stable / useful enough.
Perhabs, we should start invitation based EAP first ;)
I'd be interested in testing the profiler plugin.
Regards,
Peter
early preview bits of AS/Flex profiler for IntelliJ http://tinyurl.com/2vc3e7p
Where is the download link?
Regards,
Peter
When I click the profiler icon, I get this (the profiler_agent_4.swf is in the plugin ZIP file). Anything I have to install manually?
Error during dispatching of java.awt.event.MouseEvent[MOUSE_RELEASED,(519,38),absolute(519,60),button=1,modifiers=Button1,clickCount=1] on frame1: Have not found profiler_agent_4.swf
java.lang.AssertionError: Have not found profiler_agent_4.swf
at com.jetbrains.actionscript.profiler.ActionScriptProfileRunner.startProfiling(ActionScriptProfileRunner.java:99)
at com.jetbrains.actionscript.profiler.ActionScriptProfileRunner.execute(ActionScriptProfileRunner.java:76)
at com.intellij.execution.ProgramRunnerUtil.executeConfiguration(ProgramRunnerUtil.java:80)
at com.intellij.execution.ExecutorRegistryImpl$ExecutorAction.actionPerformed(ExecutorRegistryImpl.java:229)
at com.intellij.openapi.actionSystem.impl.ActionButton.a(ActionButton.java:153)
at com.intellij.openapi.actionSystem.impl.ActionButton.a(ActionButton.java:129)
at com.intellij.openapi.actionSystem.impl.ActionButton.processMouseEvent(ActionButton.java:289)
at java.awt.Component.processEvent(Component.java:6113)
at java.awt.Container.processEvent(Container.java:2085)
at java.awt.Component.dispatchEventImpl(Component.java:4714)
at java.awt.Container.dispatchEventImpl(Container.java:2143)
at java.awt.Component.dispatchEvent(Component.java:4544)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4618)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4282)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4212)
at java.awt.Container.dispatchEventImpl(Container.java:2129)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4544)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:635)
at com.intellij.ide.IdeEventQueue.f(IdeEventQueue.java:628)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:505)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:406)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:370)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Peter
What is your OS ? Have you installed plugin manually?
Running OS-X 10.6.4, I installed the plugin (unzipped) manually under ~/Library/Application Support/IntelliJIDEA10.
Regards,
Peter
Thank you for reporting, will post updated version tomorrow.
Ok, issue with spaces in the path has gone
I get the UI now when I click the Profiler icon. But the Java process then waits for the Flash Profiler to connect - nothing happens. I noticed that there is no "~/mm.cfg" control file which is usually interpreted by the FlashPlayer to preload the Profiler Agent and connects to the Java process. I set it up like this:
ErrorReportingEnable=1
TraceOutputFileEnable=1
# For IntelliJ IDEA
PreloadSwf="/Users/peter/Library/Application Support/IntelliJIDEA10/ASProfiler/lib/profiler_agent_4.swf"
# For FlashBuilder
#PreloadSwf=/Users/peter/ProfilerAgent.swf?host=localhost&port=9999
...but it does not help.
Anything else I have to configure manually (host, port)?
Regards,
Peter
The plugin should change /Library/Application Support/Macromedia/mm.cfg to point to profiler swf automatically, but it looks like you have user level override
There is nothing in /Library/Application Support/Macromedia. How would I configure a user level override?
Peter
I just got the following exception (in the player):
---
Error: Error #2030: End of file was encountered.
at flash.net::Socket/readByte()
at ProfilerAgent/socketDataHandler()[C:\Projects\ASProfiler\src\ProfilerAgent.as:185]
---
And now "start" and "stop" buttons are *both* disabled.
This is known sporadic problem with socket connection (profiler can not work if agent communication fails).
Please try plugin v 0.1.2
With 0.1.2 mm.cfg is built now in the home folder and looks ok:
PreloadSwf=/Users/peter/Library/Application Support/IntelliJIDEA10/ASProfiler/lib/profiler_agent_4.swf?port=1310&host=localhost&dumpMemoryInfo=true
But after the browser starts up (via Profiler) the Profiler result tab label jumps from "Waiting for ..." to "Profiler agent disconnected" immediately.
Regards,
Peter
Should be fine in 0.1.2
Are you using Flash Player 9 ?
Also do you launch swf or html file via browser?
Also there is 0.1.3 available with better support for Flash Player 9
I am using Flash Player 10.1 with a html run configuration (http://localhost). Peter
0.1.3 works for me under Mac / player 10.1. Does it works for you?
Hi Maxim - no it does not work. As mentioned above, the mm.cfg is built correctly, but after the browser starts up the Profiler result tab label jumps from "Waiting for ..." to "Profiler agent disconnected" immediately.
Anything else I can trace/debug?
Peter
Please try ASProfiler plugin v0.1.4 and attach idea.log after
disconnect (also host / port in settings), btw, are you on 64 bit Java / flash player?
I tried 0.1.4 and attached idea.log and mm.cfg.
OS-X 10.6.4
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02-279-10M3065)
Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01-279, mixed mode)
Flash Player is 32-bit and forces Safari 5.0.2 into 32-bit compatibilty mode.
Regards,
Peter
Attachment(s):
mm.cfg.zip
idea.log.zip