b4942-1 Part01.
b4942-1 Part01.
c4942-1 ch01.F 4/29/02 9:01 AM Page 3 Introducing Curl T he 13 chapters in Part I provide basic information about Curl, its architecture, and its fundamental programming constructs. This chapter explains what Curl is, what businesses would benefit from using it, and how to phase it into your development process. Successive chapters discuss Curl’s architecture, the development tools, plus the usage of text, images, variables, control structures, procedures, and classes.
c4942-1 ch01.F 4 4/29/02 9:01 AM Page 4 Part I ✦ Curl Content Language Fundamentals Curl was specifically designed to have a “gentle slope” learning curve. This means that no matter what your current knowledge of Curl, learning the next level of functionality is only slightly harder. At one end of the learning curve, Curl is a simple markup language that you can use in place of HTML. Authors can learn this aspect of Curl in a few minutes.
c4942-1 ch01.F 4/29/02 9:01 AM Page 5 Chapter 1 ✦ Introducing Curl ✦ Preventing unprivileged applets from accessing local files ✦ Protecting intellectual property by prohibiting users from viewing the Curl source code See Chapter 2 for more details on Curl’s security features. Surge Control Panel The Surge Control Panel allows the user to control runtime options for security, debugging, and general preferences.
c4942-1 ch01.F 6 4/29/02 9:01 AM Page 6 Part I ✦ Curl Content Language Fundamentals Curl comes with the SAX (Simple API for XML) parser for XML documents. This means that Curl speaks XML as a native language, which makes Curl applets excellent front ends for XML data. This makes Curl an ideal user interface for the growing body of SOAP/Web services. See Chapter 29 for details on using SAX with Curl. See the CurlExamples site (www.curlexamples.com) for specific examples of working with other tools.
c4942-1 ch01.F 4/29/02 9:01 AM Page 7 Chapter 1 ✦ Introducing Curl Things are never so neatly defined in practice, of course. A “free” site is essentially a subscription site with a fee of zero or with a marketing area designed to sell subscriptions or transactions; and an advertising site is essentially a transaction-fee site, except that the transactions that yield money are advertising impressions to the user. Sites can be further categorized by whether they allow public access or private access.
c4942-1 ch01.F 8 4/29/02 9:01 AM Page 8 Part I ✦ Curl Content Language Fundamentals For usability, the more the subscription costs, the more likely the user will be interested in Curl. When the information is free and often available in multiple places, the user’s primary concern is usually saving time. Launching Surge slows them down. When the information is expensive, the user is more likely to be concerned about finding the best information.
c4942-1 ch01.F 4/29/02 9:01 AM Page 9 Chapter 1 ✦ Introducing Curl is more ingrained with the public. Once converted to Curl, however, public transaction sites may have the biggest cost saving. Fitting into Your Infrastructure Adding any new tool to your arsenal requires both business and technical planning. As this is a technical book, most of the chapters focus on technical learning and planning.
c4942-1 ch01.F 10 4/29/02 9:01 AM Page 10 Part I ✦ Curl Content Language Fundamentals The following sections examine each of these costs in more detail. Hiring and training The big win with Curl is that your development staff can focus on becoming expert in one client-side language rather than average in many languages. The cost of teaching developers Curl might be offset by not having to train each person in multiple languages.
4/29/02 9:01 AM Page 11 Chapter 1 ✦ Introducing Curl 50 45 40 Number of Interactions c4942-1 ch01.F 35 30 25 20 15 10 5 0 1 2 3 4 5 6 7 Number of Tools 8 9 10 Figure 1-1: How more tools increase development complexity Another benefit is that Curl-based architectures are an extension of the well-studied client/server architectures that have been around for many years. This means that you are not on the bleeding edge of system architecture.
c4942-1 ch01.F 12 4/29/02 9:01 AM Page 12 Part I ✦ Curl Content Language Fundamentals ✦ Deliver large pages that may include rich content? ✦ Do data-validation on the server? ✦ Dynamically create pages from templates on the server? ✦ Deliver pages that interact locally with the user (e.g.
c4942-1 ch01.F 4/29/02 9:01 AM Page 13 Chapter 1 ✦ Introducing Curl ✦ Which features require the most disk accesses on your servers? ✦ Which features are currently most awkward for your users? ✦ Which pages have the most local user interaction? ✦ Which use cases require the most round-trips to the server? The answers create a “pain list” of what “hurts” most about each aspect of your site. Often, users are more elated by an improvement in a current feature than by the addition of a new one.
c4942-1 ch01.F 14 4/29/02 9:01 AM Page 14 Part I ✦ Curl Content Language Fundamentals Finding Curl Information As Curl has expanded into daily use around the world, various resources have emerged to help you understand Curl further. Below is a list of resources that can help you expand your knowledge of Curl. Curl Corporation First and foremost, you can get definitive information at the Curl Corporation Web sites. It you want it straight from the horse’s mouth, here is where to go.
c4942-1 ch01.F 4/29/02 9:01 AM Page 15 Chapter 1 ✦ Introducing Curl Open source curlBreaker.com serves as the focal point for various open source projects using Curl. Open source project teams are always looking for interested developers. This is a great way to learn Curl and connect with other developers. Projects such as curlMail, a completely cross-platform e-mail client, and others can be found at www.curlBreaker.com/opensource/.