- We design and build extraordinary applications for companies looking to make the next great idea a reality.
- learn more
GWT IDE Goodness
When GWT 1.5 came out, there was a real deficit amongst the IDE's -- all of them were still in 1.4 land. Well, the situation looks a little brighter today.
- First, there is GWT Tooling, a plugin for Eclipse that is supposed to ease development of GWT applications with Eclipse.
- Next, the folks over at Google are themselves working on their own Eclipse plugin. It's not ready yet, but you can see a presentation from the end of June by Bruce Johnson showing off some the GWT Eclipse plugin's features.
- The latest Cypal Eclipse plugin for GWT is supposed to work for GWT 1.5. Haven't tested it myself yet.
On the disappointment side, Jetbrains looks like it's releasing support for GWT 1.5 in it's 8.0 release. Having to wait for a major IDE release for a plugin upgrade is kind of lame. ![]()
GWT 1.5 RC1, Getting Closer
I've been working with GWT 1.5 out of the source repository for a few months, so the release announcements for GWT 1.5 kind of went by unnoticed. But now it's getting serious. GWT 1.5 Release Candidate 1 is out, which means that GWT 1.5 is soon to follow and everyone will soon be enjoying the benefits of 1.5 that I've been relishing for a while. What are some of those benefits?
Topics: Ajax Frameworks, GWT, IDE
FlashDevelop: Open Source Flash IDE
Despite my previous post, there is some activity around Open Source and Flash. For one, there is an Open Source Flash IDE, Flashdevelop. Right now it is tied to Windows, and it requires you to download the free debug Flash player and the Flex 3 SDK.
IntelliJ 7.0.2 (it’s the little things)
If you're an IntelliJ user working with Groovy, you'll want to pay special attention to the latest 7.0.2 update. Among other things it fixes a bug which had annoyed me for quite a while when using GroovyTestCase, detailed in GRVY-581. I'm happy to report that it is indeed fixed.
Topics: IDE
GWT+ IntelliJ Productivity Tip
If you are an IntelliJ user doing GWT development and you haven't already done so, make use of the boring yet incredibly useful Alt n 8 plug in. It's either available via the link, or just look for it in the plug-ins panel within IntelliJ.
I can't say enough about this particular plug in, and I'm surprised (based on the paltry number of downloads) more people don't make use of it. It's a very underrated plug-in for IntelliJ for a couple reasons, but first let's go through an example of how I find it useful for GWT development. Combined with other keyboard shortcuts, it turns out to save quite a bit of time when performing the following code traversal (starting at a test case for a service implementation class):
- (alt-8) -> Jump from Test to Service Implementation
- (ctrl-u) -> Jump from Service Implementation to Service Interface
- (alt-8) -> Jump from Service Interface to Async Interface
- (alt-7) -> find usages of...
That's four keystrokes to move from server-side test case to finding usages of the service on the client-side. Alt n 8 allows you to use regular expressions to switch between any two files based on naming conventions. There are only four such rules I need to make this happen (rules below are applied in order so that the first match wins):
I suppose if you were so inclined, you could even shorten the example above into two keystrokes (moving from (.*?)ServiceImplTest.java -> $1ServiceAsync.java.. but I find the shortcuts above useful enough as is.
Maybe these shortcuts only save me seconds or a minute of typing per day, but I find the difference to be substantial when it comes to following a train of thought from looking at a test case for server side implementation classes to finding client code that exercises the same code. No need to type in class names, navigate menus etc.
The usefulness here to test-driven development should be obvious as well. Quickly switch between writing a test & implementing the functionality. Good stuff all around.
Topics: GWT, IDE, Test Driven Development
IntelliJ IDEA and Ruby on Rails
Not exactly Ajax related, but I thought I'd share it since it might prove useful. I've been evaluating a few Rails IDE's for my firms lately, including IntelliJ IDEA 7.0. On Linux, it has been an underwhelming experience. Specifically, there are two problems that get in the way of productive work:
- The IDE calls rails as follows:
/usr/local/bin/ruby -e STDOUT.sync=true;STDERR.sync=true;load($0=ARGV.shift) /usr/bin/rails ProjectName --force, which is a problem ifrailsis a shell script, as it is on many system. - The symbolic link from
vendor/railsto.causes the IDE to go into an infinite recursive scan of the ruby code.
Yuck.
The solution to the first problem is to provide a Ruby wrapper to the rails shell script. First you move /usr/bin/rails to /usr/bin/rails.sh. Then you create a new /usr/bin/rails with the following content:
#!/usr/bin/ruby
exec('/usr/bin/rails.sh', *ARGV);
Now, when the IDE tries to execute Rails with the Ruby runtime, it doesn't barf. So far so good.
The second problem doesn't have such a simple solution. Since the IDE starts scanning the source tree right after Rails gets done generating it, you don't have a chance to fix things before the death spiral begins. So, our hack is to first delete the symbolic link, then exclude it from the source scan, then re-add it when it is safe.
- While the IDE is doing its "...rails/rails/rails/rails/rails..." scan, delete the symbolic link:
cd vendor; rm rails - The scan should finish quickly now. Once it is done, create a simple directory in the vendor directory:
mkdir rails - Now open up the Module Settings dialog and select the
vendor/railsdirectory and exclude it. Click OK.
- Remove the directory and recreate the symbolic link:
rmdir rails; ln -s . rails
And you are done. Double yuck. What a hack.
JetBrains, are you listening? Since many Rails developers use Linux as their desktop platform, maybe you could fix these issues soon? This ain't like IE on the Mac, people actually do use it.
Technorati Tags: ruby, rails, ide, intellij
Topics: IDE, Ruby on Rails
Aptana 1.0 Released
Since Aptana, the slick IDE/Eclipse plugin came on the scene in 2006, it has been making steady progress, adding new features on an almost weekly basis. Now they have finally released 1.0. What's new in 1.0?
- CSS Preview
- HTML, CSS, and JavaScript Formatting
- Code drag and drop
- Visual ScriptDoc Explorer
- Enhanced Dynamic Help System
Two of the major changes? First, they have changed the name to Aptana Studio. Second, they have done that all too familiar split between "Community" and "Professional" editions. Right now it looks like your $99 intro price ($199 later) buys you a few more things beyond the free community edition:
- JSON Editor
- Internet Explorer Debugging
- Remote Project Creation
- FTPS and SFTP Support
- Reporting Engine
You also get priority support and access to prerelease and nightly builds. These dual edition splits have worked in the past, as long as the "free" edition was not too far behind the "pro" one. It is a delicate balance, making the pro edition tempting enough without giving the free edition's users the feeling that they are getting screwed.
Technorati Tags: ajax, ide, aptana
Topics: Announcement, IDE
IDE Watch: Echo2 Module for NetBeans
We can see the beginnings of IDE support for Echo2 in NetBeans. This isn't close to the commercial plugin for Eclipse provided by NextApp, which, among other things, provides a widget tree and property editor that eases UI assembly. But the nbecho2support module does a couple of useful things for you. First, it will create an Echo2 webapp project for you with Echo2, Echo2Extras and the EchoPointNG libraries already included. Also, the web.xml file is already configured (though you will have to edit the default index.jsp to redirect to the /app url).


The one Echo2 specific filetype that can be created is the Echo2 style sheet, default to blank. So, definitely a useful module for those who want to work with NetBeans, with plenty of room for improvement.

gwt4nb - GWT Support for NetBeans IDE
In the world of GWT IDE support, you knew that NetBeans wouldn't long be behind. And, of course, a beta of gwt4nb is available. From the info site, gwt4nb offers the following features:
- Using GWT with new or existing Web Projects
- Deployment, running and debugging GWT-enabled Web Apps using arbitrary Application Server
- Assistance to deal with some code editing nuances such as creating RPC services efficiently
For those familiar with the Cypal Studio (formerly Googlipse) and IntelliJ's GWT plugin, this NetBeans plugin provides pretty much the same thing, mostly helping with the creation of xml and rpc java files.
A demo application, built with gwt4nb, is Visual Designer, a tree-style pseudo WYSIWYG GWT app layout tool. It isn't production code, but is worth looking at as an example.
Tibco GI 3.4 - New Home Page and SVN Repository
I just checked out Tibco GI from the new SVN repository (see the new GI home page). It comes to 51MB with 242 Javascript files with roughly 84000 lines of Javascript code and comments. That makes it the most substantial client-side Ajax framework by a long shot. Of course sheer numbers are not a measure of quality, but they are an indication of the significant effort that must have gone into it's development.
Another cool thing, that I wasn't aware of, is that GI will work just fine in Firefox on Linux. Here I've been using it all this time in IE on XP (no Vista for me just yet -- I may be moving to a Mac) while I could have been jamming in Linux.
GI isn't actually supported, but in my limited tests it seems to work just fine.
Otherwise, GI 3.4 (Yuba) looks to be more of a bug fix release -- no major features or improvements.
Update: In response to Kevin's informative post below, I didn't mean to imply that GI was bloated in any way, just that it represented a significant investment in dollars and man hours.
Topics: Ajax Frameworks, IDE
Two more Ajax IDE Developments
There were two new Ajax IDE developments this week, one on the GWT and the other on the ZK front. First, Zerocode, the visual designer for ZK, has been incorporated into eZing Builder, the Eclipse-based J2EE development environment.
A little consolidation when it comes to Ajax tools and frameworks is not a bad thing.
Next, Instantiations -- whose Eric Clayberg and Dan Rubel wrote the book on building Eclipse plugins -- has extended their line of WYSIWYG development tools to cover GWT. The product, GWT designer, is available as an Ecplise plugin, dontcha know.
Lot's of features, but two that I find very sexy:
True Bi-directional Code Generation
Directly generates Java code which can be changed in the graphical editor or directly in source. All changes made directly to the source code will be reflected in the graphical designerExtremely Fast
GWT Designer opens a design in a couple seconds - several times faster than launching the GWT application itself (mostly due to our *proprietary* technique of using ASM for fast bytecode modification). All subsequent edit actions update the Design view in just 300-400 milliseconds
That smells like developer productivity to me. Nothing is worse than messing with generated code, and nothing is more tedious than waiting for a WYSIWYG display to do its sluggish thing.
Topics: Ajax Development, GWT, IDE, ZK
Tibco GI 3.2 Beta now Open Source
Tibco has release 3.2 Beta of their General Interface (GI) product. Beyond adding support for Firefox, the big news is that GI is now Open Source under a BSD-style license. That's exciting news for those who want to use this powerful framework in products or intranets but have been put off by the licensing costs. Beyond turning Open Source, there are a few more noteworthy developments and observations:
- 3.2 Beta adds a Canvas widget that transparently does VML in IE and SVG in Firefox.
- 3.2 Beta sees the introduction of the Matrix widgets, a swiss army knife MVC components that displays a models as a grid, list or tree. Is editable, allows the embedding of other components, and supports various pagination models. Now you can scroll a grid and have it update dynamically from the back end.
- GI has a cross browser (IE and Firefox) Javascript debugger. Venkman is still better, but at least you have something that works well in IE.
- The Tibco GI developer community will now be wide open. Come one, come all. Check out the articles, example projects and tutorials.
- The release of GI as open source will allow developers to learn from it's dual-DOM approach.
- Tibco GI uses a code obfuscation technology to enforce public/private interfaces in Javascript. With the availability of source, developers can become more familiar with the internals of the framework. This should help when writing your own, custom widgets.
- As soon as the paint is dry on IE7, expect GI to support it.
- Tibco will offer other licensing terms for those that require support, indemnification, etc.
So why is Tibco releasing this polished product as Open Source? To drive demand for their other Service Oriented Architecture (SOA) products, such as their ESB. GI is quite explicitly and intentionally a client-side framework that works by consuming and orchestrating XML web services using protocols like SOAP and REST. It is quite elegant at doing so, but there are some tricky bits to developing applications using an SOA, such as sessions and transactions that span service calls. An Enterprise Service Bus (ESB) helps with those and other challenges, and Tibco is definitely a leader in this product category.
This leads me to a caveat about the Tibco GI product and how the Open Source release is likely to tempt many people to use it in public facing sites: Tibco GI is intended for the corporate desktop. This explains its longtime exclusive support for just IE, and their new support for Firefox at that browser platform becomes more important to the corporate desktop (I'm told that the Tibco GI developers now use Firefox and the Venkman debugger extensively in their internal development work). There will likely never be support for browsers and browser versions that are irrelevant to the corporate desktop, though Tibco will continue evaluating Opera and Safari to see if support is warranted. If you plan on using Tibco for a public facing site, your options are much more limited than in a corporate environment where you control the server, client and network transport sides of the equation.
Still, this is exciting news, and those limitations shouldn't prevent you from using Tibco GI in your project as long as you understand what those limitations are.
Topics: Ajax Development, Ajax Frameworks, IDE, Open Source
Three more IDE’s I Missed
It seems I missed at least three IDE's in my post from earlier this week.
- Rialto (Rich Internet Application Toolkit) has released the Rialto Studio, a browser-based visual designer similar to ZK's Zero Kode, though a lot more polished.
- I covered Interakt's Dreamweaver-based IDE, but I missed their JavaScript plug-in for Eclipse. There are plenty of open-source JavaScript editing plug-ins for Eclipse already, so I'm not sure as to the value of a commercial option.
- JSC is definitely a weird one. It claims to allow you to build Ajax and J2ME applications from C# code. It is supposed to work with any C# capable IDE, including Visual Studio. From their project page:
The compiler extracts CIL from a .net assembly. It filters out the classes which are marked with the ScriptAttribute. It selects the target language and emits the source.
Confused yet? There is a flash movie that demonstrates the workings of their tool, but they are going have to make it a whole lot easier for developers to understand and use their tool if they hope to have anyone adopt it.
Topics: Ajax Tools, IDE
IDE’s with Ajax Support
Back a few months ago or so, I put together a list of Java IDE's that supported Ajax. Since that time, Ajax support has been added to a few more IDE's, some IDE's on my list have been upgraded, and I've decided to add other languages beyond Java.
Of all the frameworks, GWT has seen quite a bit of growth, with two new eclipse plug-ins entering the list alongside a NetBeans project template. I've also added two Dreamweaver plug-ins, a natural given its long support over the years of rich interaction applications via JavaScript.
Zero Kode, the new visual designer for the ZK framework, joins Tibco GI as a browser-based IDE. Given that it requires a servlet container to run, it may not be suitable for anything beyond prototyping. Still, it shows how easy UI markup languages make the task of writing visual designers.
Before anyone objects, I am aware that there are other frameworks for .NET, Java and other languages. While a particular framework may be in principle supported by an IDE, unless a plug-in or IDE exists specifically for that framework, I have not included it in my matrix.
| IDE | Type | Framework | Languages | License | Comments |
| EchoStudio 2 | Eclipse Plugin | Echo2 | Java | Commercial | Framework is open source. Eclipse plugin that allows you to build component trees, preview the UI, debug the application, etc. Not WYSIWYG, i.e. no drag and drop page layout. |
| Tibco GI | Browser Based | Tibco GI | Javascript | Commercial | Free for development and publicly available web sites. Eats its own dogfood, i.e the IDE is implemented in itself and runs in IE. Is WYSIWIG and pretty slick. |
| Google GWT | Command Line | GWT | Java | Free | Free to use for personal and commercial purposes. As for IDE integration, there's mostly just an Eclipse project generator and a "hosted mode" runtime. Being able to debug Javascript as Java in an IDE has to count for something, though, which is why I've included it. |
| Morfik WebOS AppsBuilder | Custom IDE | Morfiks | Pascal, Java, C#, VB | Commercial | Freestanding IDE. Support several source languages including Pascal, Java, C# and VB. Drag-and-drop, WYSIWYG design. The behavior of the GUI designer is a little awkward. For example, right click doesn't give you the ability to cut and paste, etc., necessitating a roundtrip to the window's menu. Doesn't look like they have a whole lot of widgets in the evaluation version. A bunch of ther stuff thrown in, like DB integration, PDF reporting, etc. |
| JoyiStar Juno | Custom IDE | JoyiStar | Java/JSP | Commercial | I apologize that I really haven't had a chance to look at is what in any detail. If anyone cares to contribute a review, I'd be happy to post it. |
| MyEclipse | Eclipse Plugin | J2EE | Commercial | With MyEclipse 4.x, the popular eclipse extension added support for JavaScript editing and debugging. With version 5.0, new features are making their way into MyEclipse, such as runtime DOM inspection, HTTP header monitoring, and cache control. | |
| Zero Kode | Browser Based | ZK | zul/Java | Open Source | IDE written in ZK that allows you to visually design a ZK application. |
| MX Ajax Toolbox | Dreamweaver Plugin | PHP | Commercial | Supports PHP_MySQL and PHP_ADODB on the server side. | |
| Aptana | Eclipse Plugin & Custom IDE | Multiple | Javascript/HTML/CSS | Open Source | Works with AFLAX, Dojo, MochiKit, Prototype, Rico, sript.aculo.us, Yahoo UI |
| Yet Another GWT Plugin | Eclipse Plugin | GWT | Java | Open Source | Forked from Googlipse |
| Googlipse | Eclipse Plugin | GWT | Java | Open Source | Wraps the create, run and compile for you. |
| VistaFei | Eclipse Plugin | GWT | Java | Commercial | Supports visual design of UI. |
| GWT Plugin | IntelliJ | GWT | Java | Commercial | It does all of the messy setup of the GWT Eclipse project and application creation for you. It allows you to create several GWT entities via menus: Module, Entry Point, Remote Service (client and server side classes), and Serializable classes. The automatic creation of a Remote Service with it's three files (shades of EJB) is especially nice. |
| Backbase Java | Eclipse Plugin | Backbase Engine/JSF | Java/JSP | Commercial | Plugin based on WTP. Includes new UI component creation wizard. |
| Backbase .NET | Visual Studio Plugin | Backbase Engine | C#, VB | Commercial | Under development |
| Backbase Dreamweaver | Dreamweaver Plugin | Backbase Engine | Commercial | ||
| Visual Studio | Atlas | C#, VB | Commercial | ||
| NetBeans GWT | Project Template | GWT | Java | Open Source | |
| ThinkCap JX | Custom IDE | ThinkCap JX Framework | Java/JSP | Commercial | A first scan makes me think that this is mostly an afterthought in a J2EE suite. In fact, the documentation states that it is based on struts. The framework is now supposedly open source. |
| RadRails | Eclipse Plugin | Ruby on Rails | Ruby | Open Source | Can be combined with Aptana. |
| Oracle JDeveloper | Custom IDE | JSF | Java | Commercial | The support here seems somewhat rudimentary. |
| jMaki | Netbeans Plugin | JSP/JSF | Java/JSP | Open Source | This NetBeans 5.5 plug-in gives youdrag-and-drop insertion of jMaki components directly into your JSP pages. |
| Ajax Toolkit Framework | Eclipse Plugin | Javascript | Open Source | Open Source Eclipse Plugin. Really more of a toolkit for building other AJAX IDE plugins. Starts by combining Dojo and Zimbra Toolkit. Very early in it's development. From the project docs: ATF enables support of DOM browsing and JavaScript debugging by using Mozilla XULrunner to embed the Mozilla browser component (Gecko) in the Eclipse framework. |
If I've left out any IDE's, and I am sure I have, or have made any mistakes or omissions, and I'm sure I've done that too, please don't hesitate to drop me a line at ajax@pathf.com.
Topics: Ajax Tools, Echo2, GWT, IDE, ZK
IDE Watch - Zero Kode, Visual Designer for ZK
The Tibco folks like to point out that their IDE is written in their own framework. I'm not really all that enamored of the self-compiling, eat your own dogfood approach to IDE's when your end product is a webapp. Call me old fashioned, but I like to write my code in a desktop IDE. Maybe that's just a sign that my arteries are hardening and I'll soon be standing on my lawn in my slippers and bathrobe cursing at those webapp IDE using whippersnappers.
Well, for good or ill, Tibco GI is no longer the only IDE that eats its own dogfood. ZK has a visual designer called Zero Kode, an IDE written in ZK that allows you to visually design a ZK application. From part I of the tutorial that accompanies the IDE:
The visual editor is just a web application - packed in a '*.war' file' - that can be launched on an application server. It provides a visual interface with a toolkit that holds all the visual components that the ZK framework has implemented so far and is designed to use all kinds of custom components as well. This means that a developer can add to the toolkit components that he/she has designed, as far as they are compliant with the framework's protocol.
The developer drags-and-drops visual components on the active model, sets their properties (which are reflections of the corresponding Java class) and sets their events as well. Definitions of all the visual components found in the toolkit, are kept in an XML configuration file that can be edited by the developer in order to add, remove or re-order components. The developer can also load an existing '*.zul' file and modify it.
When run locally in an instance of Tomcat it's actually quite zippy. Still, you have to know your way around the ZK component heirarchy. Constructing tabbed panes and trees, for example, can be a bit of a pain. Some wizard functionality would be useful here. Also the property editor should probably be a part of a tabbed pane -- instead of a popup -- as you'll find in Eclipse or Visual Studio. (To be really useful, make sure to set the session timeout to a large value. There's nothing worse than having a design go puff because of a timeout.)
So, is it a toy or something useful? ZK zul files are pretty easy to write, which would argue for a verdict of toy, but I find the convenience of property and event handler editors quite useful. Altogether a promising start.
Topics: Ajax Frameworks, Ajax Tools, IDE, ZK
About Pathfinder
Recent
- Roles Testing For Security
- Blackbird takes the pain out of JavaScript logging
- Making GWT JSON not Quite so Painful
- IDEA - preconference workshop 06 Oct 08
- HTML5, Ajax history management, and The Ajax Experience 2008 Boston
- A Look Back At Past Posts
- Flash Player on iPhone gossip
- Microsoft to Jump on Board EC2
- TAE Boston 2008: The Unsexy Presentations
- The Ajax Experience 2008: Hope to see you in Beantown
Archives
- October 2008
- September 2008
- August 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- February 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- November 2006
- October 2006
- September 2006
- August 2006
- July 2006
- June 2006
- May 2006
- April 2006
- March 2006










