HOME > Product > What is Curl?
Products What is Curl?

Curl's push for a next-generation web platform was born in a research lab at the Massachusetts Institute of Technology (MIT). In 1995, DARPA provided a grant to MIT to produce a rich client language for what was quickly becoming an internet society. Three years later, in 1998, twelve researchers from MIT founded the Curl Corporation, the predecessor to today's SCSK Corporation

Curl, as a product, can be broadly divided into four categories: the Curl language, development environment, runtime engine, and development libraries.


Rich User Interface

Take operability beyond what's possible with regular desktop applications and client/server systems.

The details

To take enterprise systems to the next level, it's necessary to both match and exceed the operability and productivity of legacy systems and client-server systems. With Curl, you can aim for the next level of productive user interfaces.

Rich User Interface

Curl provides a high-quality GUI system, with audio, 2D, and 3D graphics support, allowing you to create rich, appealing applications. Easily assign shortcuts or build a portal-style layout. Maintain a broad range of client-server features without sacrificing a clean, simple design — allowing your users to focus on productivity.

Curl also offers a “V2C” Visual Basic conversion service. Migrate VB layouts with near-pixel accuracy, freeing your engineers to focus on updating the business logic.


Connect with Client Resources

Curl can operate with existing client applications and hardware devices.

The details

Enterprise systems frequently need cooperation between various devices and applications. For example, it may be necessary to connect to fingerprint scanners, RFID or barcode readers. But that's not possible in the standard web application environment. With Curl, it is.

Connect with Client Resources

In Curl, authorized applets can make calls to shared libraries or Windows APIs. That makes it possible to interoperate with widely-used applications like MS Excel or Word, and allows fine-grained communication with connected printers or other devices.


Large Dataset Handling

As with desktop applications, legacy systems, and client-server systems, Curl can handle large data sets.

The details

Enterprise systems are almost all data-driven applications. Such systems often need to be able to efficiently collect, display, and organize massive amounts of data. Curl's runtime engine is built with features like JIT compilation to keep it running smoothly in the face of the heaviest loads

Putting a client's CPU and memory to greatest possible use, Curl allows large data sets to be loaded then handled as if they were local. With many database-style operations like insert, update, or rollback available, you can avoid hitting the server for every operation and avoid lengthy, unnecessarily reloads on startup.

Curl also has you covered for presenting data with its RecordGrid spreadsheet control and its charting package. Excel may be limited to 65,000 rows by 256 columns, but Curl has no such limits. With Curl, it's possible to display and sort 100,000 records, or more.


Rich Reporting

From rich layouts to printing, Curl has the tools needed for useful reporting.

The details

One of the most pressing corporate needs is reporting. While there are many flavors of reporting, most share design issues like managing the load on the server side or maintaining uniformity in the development process. Curl lets you stay in a single language for not just applications but also online reporting and printing.

All Curl reporting layouts can be produced using just the Curl language. Printing can also be controlled straight from Curl. All of this is available offline, as well, allowing clients to continue operation on the road or during server downtime.

Additionally, your typical reporting systems come with high performance requirements on the server side, with matching server costs. Reporting systems built with Curl greatly reduce that server load, and so the associated server cost.


High Performance

The Curl platform delivers high performance with smaller code bases.

The details

Corporate IT environments face various challenges. Some might incorporate unreliable networks; others might have to rely on slow lines. Client PCs have variable specs, and often a range of operating systems. As the users of any given application increase, the servers for that application may require costly upgrades.

High Performance

Curl works by downloading application source code from standard web servers, then performing JIT (just in time) compilation on the client side. Compared to other platforms, which require sending compiled bytecode or HTML and related files -- and thereby require downloading several megabytes -- Curl’s much smaller files don’t leave the user waiting even on slower connections.

Furthermore, even after compilation, Curl applications match desktop applications in performance and memory usage. Unlike other web applications, Curl doesn’t offset their client performance with increased loads on the server, dramatically reducing the slowdown that traditionally comes with scaling up the number of users.


SOA / Mashup Platform

Coordinate with existing, heterogeneous systems and other web services.

The details

In existing enterprise environments, there’s a need to link multiple systems built on multiple platforms, some of which aren’t even in-house (customer or vendor systems). But typical, server-centric SOA platforms require large, up-front server investments and ongoing struggles balancing scalability and ROI.

Curl is not just a tool for building the critical UI components of enterprise applications. It also enables pulling together systems, services, and applications scattered between corporate groups.

SOA / Mashup Platform

Curl provides client-side integration, providing the parts to orchestrate a light-weight SOA. Compared to server-side SOA, Curl not only gives you a more responsive user interface, but also cuts your TCO.

Curl lets you create an enterprise mashup, pulling together various services and business systems through industry-standard interfaces like Web APIs, RSS, XML, SOAP, REST, etc. The open source WebServiceSDK allows web service interfaces to be automatically generated, allowing easy integration of enterprise web services into the client application, saving you time and effort.


Information Security

Stop information leakages and preserve security, while maintaining a high level of usability.

The details

Curl lets you implement tight security, addressing a top concern of CIOs everywhere. Of course compression and strong encryption for data transmission are available, but Curl also lets you address issues like application data being inadvertently saved to client machines or unauthorized printing.

Information Security

With existing desktop and browser-based applications, it’s impossible to prevent contents from being saved, copied, or printed. With Curl, you can optionally disallow such operations. Even on other platforms, you can sometimes prevent local copies from being made through blocking copy/paste or similar methods, but such restrictions often lead reduced operability and reduced productivity. With Curl, you can keep such useful features, but restrict them to work only within the Curl application(s).

Curl also supports a variety of encryption algorithms, such as RC2, RC4, and 3DES, and message digest algorithms such as MD5 and SHA-1.


Application Maintainability

Reduce downtime -- keep user access to applications despite network interruption.

The details

With web systems, networks trouble or high server loads often means lost logins, lost data entry, and other problems. Even when the network is clear, there’s a continual need to adapt deployed applications to browser, OS, or (for some platforms) runtime engine updates. This is the kind of trouble that keeps enterprise web system developers up at night. Curl can help you avoid these hassles.

Application Maintainability

Whether you’re at a customer site and need to enter some client data, or lose connectivity and need to temporarily save a session, Curl provides offline capabilities (Occasionally Connected Computing: OCC) and temporary local data lockers (persistent storage). Unlike desktop applications, the application itself is still administered on the server, with data provided through standard services on your database. Curl’s offline capabilities can automatically switch between online and offline modes, running from a local cache when necessary.


Safe Runtime Environment

Curl protects user machines while still providing critical functionality.

The details

There are all kinds of applications that can take advantage of RIA or techniques based on web technologies. Unfortunately, alongside the benefits come a range of attack vectors that are costly to protect against: session hijacking, cross-site scripting, sandbox violations, etc. On the Curl platform, you can be assured of high levels of security and reliability.

The Curl RTE provides strict security controls, preventing applets from damaging user systems or stealing private data. But it has been carefully designed to do so without burdening the developer. For example, file operations, sometimes necessary but not necessarily safe, require user consent (though an informative dialog). This allows non-malicious access to be granted simply, and also makes blocking unauthorized access simple, on a case-by-case basis. For approved, intranet applets, continually having to grant such access could be intrusive, so it’s also possible to remove the security restrictions, or make certain approved applets "privileged".

Safe Runtime Environment

"Privileged" applets, as the name implies, have local file access, can run ActiveX controls, etc. It’s possible to allow the full set of capabilities provided by desktop applications.


Reduced Carrying Costs

Applications don’t stop working just because the runtime engine has been updated.

The details

Normally, whenever an application's engine or platform is updated to a new version, various new incompatibilities have to be dealt with. For example, browser version upgrades and security patches often leave existing applications nonfunctional. Even plugin upgrades can cause unwanted, unexpected changes.

Reduced Carrying Costs

The Curl runtime engine (RTE) doesn't just support multiple OSes (Windows, Mac, Linux), it also supports multiple simultaneous installations. Multiple different versions of the Curl RTE can be installed on a client machine, reducing your upgrade woes and giving your applications longer service life. From your earliest installed version to the most recent release, any or all can be in use at once.

This also means that, for package venders and ASP vendors, you no longer need to worry about a customer’s environment - you can use the latest version without affecting existing deployments.


Development Productivity

With several thousand standard APIs in a strong, object-oriented language, Curl by itself can provide an environment for highly productive development.

The details

Current web application development requires weaving together several different web languages, and pulling them all together requires time and effort. Curl combines the functionality of HTML, JavaScript, C++, Flash, reporting tools, and more, giving you a single language that can do it all.

Development Productivity

Curl’s capabilities run from text markup and scripting, to 2D/3D and animation, giving you a next-generation web language, today. It’s also an object-oriented language (like Java) that promotes high productivity and code reusability.

Development Productivity

Combine that with the Curl Pro/IDE and the user interface layout tool (Visual Layout Editor) for a real advance in development productivity. Especially when using the Visual Layout Editor, which supports drag-and-drop, non-coding layout design, and can incorporate your custom controls and templates.

Curl also has a substantial array of development libraries available. From the WSDK, which can automatically generate interface code for indispensible web services, to the CDK, which offers local database connectivity, to the ORB, which simplifies communication with server applications, a variety of useful tools are ready for use.