| home / programming / javascript / j_s / column7 / 1 | [previous] |
|
|
JavaScript's usage has diversified from traditional Web scripting and is increasingly being adopted as a macro and agenting language in new contexts. On its site, Mozilla posted open source code for C/C++ and Java versions of JavaScript. In addition, Nombas and Trolltech have commercial implementations of JavaScript which nearly 100 vendors have adopted as a scripting or macro languages for their products. A partial list of companies using these versions of JavaScript are Adobe, ePiphany, Gearworks, Siebel and Vitria. Both vendors offer extensive cross-platform support for their JavaScript including most versions of Windows, Linux, several Unix flavors, plus a range of PDA and mobile OS’s. Trolltech's QSA version of JavaScript is interesting because it is tied closely to its cross platform Qt C/C++ framework. Trolltech makes it easier for software vendors to provide cross platform GUI driven applications with the added bonus of macro customizing capabilities. Nombas ScriptEase’s version of JavaScript offers some impressive speed and memory usage stats.
Upon analysis of the use of JavaScript by major vendors, one notes a significant improvement in the adoption of JavaScript in new contexts within the last 3 years – thus underlining the basic health of the language. Table 1 (below) illustrates the adoption of JavaScript by major independent software vendors.
Table 1 – Adoption of JavaScript
by Major ISVs |
|||
| Company & Product | Internal Macros | External User Script | Notes |
| Adobe Acrobat 6 Designer | Yes | Yes | Key functionality in new Acrobat thru JS |
| Adobe Atmosphere |
Yes | Yes | Key to controlling 3D space |
| Adobe GoLive | Yes | Yes | JS is essential to web developers |
| Adobe Illustrator CS | Yes | Yes | Like Photoshop, added internal macros |
| Adobe Photoshop CS | Yes | Yes | Added internal macro support in PS 7 |
| Apple QuickTime | Yo | Yes | Control movie presentation |
| Corel RAVE | No | Yes | Part of animation scripting |
| IBM DB2 Net.Data | No | Yes | Rexx dominates; but some JS support |
| IBM Lotus Domino | Yes | Yes | Support for JavaScript on Notes client |
| IBM Rational RUP | Yes | No | Used to drive DHTML-based documentation |
| Macromedia Dreamweaver MX | Yes | Yes | Generates a lot of JS code |
| Macromedia Fireworks MX | Yes | Yes | Generates rollover/web code |
| Macromedia Flash MX | No | Yes | ActionScript is ECMA/JavaScript compatible |
| Microsoft ASP/VisualStudio | No | Yes | Major code generation |
| Microsoft FrontPage 2003 | No | Yes | Key as user web scripting tool |
| Microsoft InfoPath 2003 | No | Yes | Used extensively in forms processing |
| Microsoft WSH | Yes | Yes | Used for OS admin and management |
| Netscape/Mozilla Browser | Yes | Yes | Creators of JavaScript, use it extensively |
| Oracle Enterprise Portal | No | Yes | User scripting in HTML contexts |
| Oracle JDeveloper | No | Yes | Emits JavaScript for some client usage |
| Sun iPlanet Web Server | No | Yes | Server-side JavaScript link to databases |
| Sybase iAnywhere | No | Yes | User coding for web apps |
| Trolltech QT C/C++ | Yes | No | Uses own JS tool to automate C/C++ tool |
The most interesting trend here is the wide range of uses for which JavaScript is being adapted by the vendors. Clearly, Web related scripting is still a major use. But also note that over a third of the JavaScript usage is as a macro language used to control an application's User interface (UI), to expedite operations, and/or implement commands behind the scenes.
Macromedia began the process of allowing end users to work with JavaScript as a cross platform macro command language for customizing their apps. But now Adobe has taken up the mission (within the last two years) and is implementing JavaScript as a cross platform macro language. When Jasc PaintShop Pro added Python scripting I wondered what Adobe would do. Well, they added JavaScript to Photoshop, Illustrator, and Atmosphere while already using it in GoLive. I tested out the Illustrator CS and Photoshop CS versions of JavaScript macros and was taken aback. One can control the entire program and interfaces (see Chandler McWilliam's book Adobe Scripting for all the details). Expect to see more 3rd party books and vendors who will add customized commands to Adobe’s plug-ins and clickable styles for Illustrator and Photoshop.
But Adobe didn't stop here. JavaScript is now integrated within their new 3D environ, Atmosphere. In addition, it’s the action agent Acrobat Designer 6 with new forms handling capability. This follows in the footsteps of Mozilla's pioneering integration of JavaScript with XML XUL in its browser implementation. Other vendors are obviously using JavaScript beyond a Web client or server scripting tool. So clearly JavaScript is at a crossroads. Will it remain as a standard for Web client scripting? Or, will it assume broader missions and become the IT communities “scripting glue language” – cross-platform and standardized to serve macro, agenting, and other scripting roles? Has enough been made standard in JavaScript such that it does not balkanize like C/C++? One doesn’t want to see the analyst community nor IT user groups lobbying one way or another on this issue – so it may well play out in the back rooms of the standard's meetings. This author finds it hard to predict what will emerge when the vendor's have completed their horse trading.
Jacques Surveyer is a consultant whose theOpenSourcery.com features tutorials/demos on scripting technology.
| home / programming / javascript / j_s / column7 / 1 | [previous] |
Created: March 27, 2003
Revised: June 12, 2004
URL: URL: http://webreference.com/programming/javascript/j_s/column7/1