Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Overview of the Curl Enterprise RIA Platform

Overview of the Curl Enterprise RIA Platform

This item in japanese

In this post, discusses the platform with Curl, Inc. VP of Developer Relations Richard Monson-Haefel. Curl is a platform for building Enterprise RIA applications. Monson-Haefel covers the Curl programming language, IDE, and client side runtime. In addition, he highlights why you might consider using Curl over Adobe AIR and Flex when building RIA’s for the enterprise.

Monson-Haefel began by providing an overview of Curl:
Curl was founded in 1998 based on MIT research and was the first RIA platform before the term “RIA” was even coined. The Curl rich Internet application platform is focused on building high-performance mission-critical business applications.

The Curl programming language is the foundation of the Curl platform and combines the strengths of markup languages, scripting languages and heavy-duty object-oriented programming languages. Curl is able to simplify the development of applications that require more than one of these capabilities because of its strong support for all three of these models within a single unified language.

Developers who are frustrated by the performance limitations of other platforms and want to create highly-interactive applications that are able to run with the full power of the client machine should consider taking a look at Curl. Many of our customers have found (sometimes after attempting to use Flex) that Curl's security, functionality, and performance enables them to do things that they couldn't do before. With Curl, even highly sophisticated applications can be implemented as RIAs without sacrificing performance or development speed.

If a developer is still investigating RIA platforms best suited for their application’s needs, we think that they owe it to themselves to evaluate Curl as a serious alternative to some of the other available platforms.
InfoQ asked Monson-Haefel to share more about the client side runtime:
Curl, Inc. maintains two software products based on the Curl programming language: the Curl integrated development environment (or IDE) and the runtime environment (or RTE). The Curl RTE is the engine for executing and displaying Curl applications in the same way that Adobe Flash is the engine for running Flex applications.

The Curl runtime is much faster than the Flash runtime and can also provide on-line/off-line and in-browser/out-of-browser applications with local storage. So its equivalent to Adobe Flash and Adobe AIR only it’s much more secure – it has to be more secure to run as an enterprise platform. We did a benchmark comparing Curl to Flex and found it to be 8 to 10 times faster. You can check out the benchmark here.

We recently announced an Eclipse-based beta version of the RTE and IDE (now called the Curl Development tools for Eclipse or CDE) as we transition all of our development tools to the Eclipse framework, opening up Curl to a whole new community of developers.
InfoQ followed up asking about market penetration of the client runtime:
After seeing very strong success in Japan with over 300 customers and 40 partners, Curl re-launched into North America in April of 2007. Given that, most of Curl’s customers are in Japan but we are seeing strong demand from many North American companies for a high-performance RIA platform like Curl.

Regarding runtime market penetration, Curl was never intended to be a mass-market technology and we have no intentions of trying to compete against companies like Adobe on their huge install base. Most Curl applications are deployed behind the firewall so that runtime install numbers are not a concern.
Monson-Haefel discussed the IDE in more detail:
Curl has a full-featured IDE that includes drag-and-drop visual editing, syntax-sensitive editing with auto-completion, a debugger with breakpoints, extensive data inspection facilities, performance profiler, source-code-control integration, extensive documentation and much more. Curl also includes a robust set of libraries which are on par with Java in terms of depth and breadth.

Although Curl developers tend to be programmers rather than designers, Curl designers do use Adobe Photoshop and Illustrator to create artwork that can be easily integrated into Curl applications.
Monson-Haefel on how to get started with Curl:
The best way to get started is to go to the Get Started with Curl web page. Also check out some of the Curl demos on the Curl Developer community site, get your hands dirty and download the IDE, and join the Curl Community to decide for yourself if Curl is a best fit for your application. Our community is extremely responsive – most questions get answered within a couple of hours or less.
InfoQ asked about integrating Curl with other RIA technologies:
The latest full version of Curl, Version 6.0, makes it even easier than previous versions to integrate with other RIA technologies like JavaScript and Ajax. Curl applications are able to make calls to JavaScript APIs in the surrounding Web page, and can also be controlled from JavaScript in the surrounding page. Version 6.0 also includes support for parsing and creating data streams in JSON format. These features allow Curl to be use for building enterprise-class mashups that include data accessed using existing JavaScript APIs.
Monson-Haefel on Curl licensing:
Curl offers BASE versions of the IDE and Deployment Licenses that are free, fully functional, and are able to create applications with the full strength of the Curl language and platform. Commercial use is restricted to Web applications that are invoked through publicly visible URLs, do not use https and are free to end-users.

Curl also provides PRO versions of the IDE and Deployment Licenses that augment the BASE versions with additional security, performance and maintainability for enterprise-class applications.
InfoQ inquired on what types of developers should consider using Curl:
Curl is focused primarily on enterprise developers responsible for building mission-critical applications, so we are open to all kinds of developers. The language is actually pretty easy to learn and you only need to learn one language to do markup, style sheets, and full-blown object oriented programming.
Monson-Haefel points to a few sample applications:
A number of sample Curl demo applications are available at the Curl website including a stock performance calculator and a Facebook social graphing tool and timeline viewer that utilize the latest version of Curl, Curl Nitro. Being focused on the enterprise means most of our clients applications are not for public consumption – we are working on putting out more demos in the future.
In closing, Monson-Haefel shared:
It is important to understand that while there are there are many tools available for developing enterprise-strength applications, some tools, no matter how popular, are not always the best choice for all cases.

Curl was specifically built for the enterprise and is currently in its sixth version with proven results in enterprise implementations, while other tools are only now being used in the enterprise with varying results.
Learn more on the Curl site. In addtion, InfoQ featured a discussion on the Curl benchmarks last week.

Rate this Article