Executive Summary – Missed opportunity to set a JavaScript IDE standard means AJAX/JavaScript is even more fragmented
I was going through my software books and guides and ran across a blast from the past- Borland IntraBuilder Users Manual from 1997-98 era. This was one very well designed JavaScript IDE that was clearly ahead of its time. Look at the screenshot below:
9 Years ago there was an IDE for JavaScript that puts the likes of Adobe Dreamweaver or ActiveState Komodo to shame. As a development tool and IDE-Integrated Development Environ for JavaScript, IntraBuilder had all the features and functionality that is so seriously missing in JavaScript and AJAX development today:
1 – An IDE for both Server and Client coding with JavaScript;
2 – IntraServer on the Server handling database queries, load balancingand concurrency control;
3 – A database aware IDE with connectivity through IntraServer and BDE to dozens of popular databases;
4 – A full powered Source Code editor with color coding,formating, code completion, syntax checking;
5 – A visual designer for drag and drop creation of template menus pages, forms, and reports;
6 – Two – way toos so changes to property bar or design layout effect source code and vice versa;
7 – A broad set of Wizards for creating database queries, tables, home page layout, reports, etc;
8 – Dynamic page-source debugger with breakpoints, watches, and for both client and server code.
Given what has been available for JavaScript coding for the past 5 years, IntraBuilder was awfully good stuff. But it did not take-off and Borland cut the IDE for reasons unknown; however I suspect Visual Studio with JScript+ASP may have had some minor influence. I used my copy of IntraBuilder well beyond the demise of IntraServer and the IDE. And consider the loss:
1)JavaScript and AJAX could have had a browser and platform neutral robust IDE implementation at least 5 years ago ;
2)I was told that Borland was interfacing IntraBuilder to other Application servers beyond Intraserver – a natural progression;
3)JavaScript and AJAX would have had a visual library for native and 3rd party JavaScript UI components like calendars, slideviwers, tree menus, etc. Currently there is a vibrant 3rd party community of very good JavaScript UI components from the likes of Codethat and Tigra but no target IDE to develop in.
4)IntraBuilder would have been a natural testbed for testing early HTTPRequest and other AJAX framework ideas;
5)Remote debugging, which is the current bain of all n-tier systems, would have another how-to-do-it model.
These are not insignificant losses to the Web development community.
Now two vendors after Borland, ActiveState with Komodo in the 2000-2002 timeframe and Adobe/Macromedia with its Dreamweaver Ultra through Dreamweaver 8 have had an opportunity to fill that gap. But ActiveState has backed off the servers side and database connections while Macromedias Dreamweaver Ultra has had interesting Server-side behaviors but they have been agnostic/avoiding a visual designer with two way capabilities and dynamic debugging capabilities. But Adobe/Macromedia insists, now that the opportunity has virtually passed by, they are “very much interested in AJAX.” But will they come close to the IntraBuilders prowess of 9 years ago ?
Consquences of No JavaScript IDE
The consquences of not having a standard IDE and testbed for AJAX ideas has been severe fragmentation. Look at the dozens of competing frameworks and UI component libraries that are available to AJAX developers. Yes, this is a sign of robust interest in AJAX – yes, indeed. But also it is a sign of re-inventing the wheel many times over – yes, indeed. Will it holdback AJAX in some corporate settings – probably because AJAX has a variation on Tim Brays Spaghetti code rant on PHP with AJAXs own Spaghetti frameworks and backend mashups.
Now again, trying different mashups in AJAX is a healthy thing – no argument. But trying the mash-ups without having a JavaSCript IDE that supports a consistent framework for UI components or interfacing to servers or or testing and debugging – that may be counter productive. For example, look at the variation in features, frameworks supported (or not), UI presentation capabilities (or not), and support of databases and servers (or not) available in some of the emerging AJAX IDEs:
TIBCO/General Interface AJAX IDE
JackBe AJAX Solutions
Isomorphic Smart Client
Backbase AJAX Framework
If IntraBuilder had been around, there would have been a higher bar and a more uniform set of features and capabilities available for AJAX development. I know its a “might have been” story – like Barry Bonds without steroids; hence a Blast from the Past II.
(c)JBSurveyer 2006