About Coldfusion
ColdFusion is a rapid scripting environment server for creating Rich Internet Applications. ColdFusion Markup Language (CFML) is an easy-to-learn tag-based scripting language, with connectivity to enterprise data and powerful built-in search and charting capabilities. ColdFusion MX enables developers to easily build and deploy dynamic websites, content publishing systems, self-service applications, commerce sites, and more.
ColdFusion MX consists of the following core components:
- ColdFusion scripting environment
- CFML
- ColdFusion application services
- ColdFusion MX Administrator
ColdFusion has more to it besides a history of acquisitions and changes, ColdFusion has always been a Rapid Application Development (RAD) language built for the Web. ColdFusion accomplishes this RAD claim by providing the language in a tag-based usage, which is familiar to HTML Programmers. Most of the other languages out there use a programmatic approach to server side scripting, which is interesting for a seasoned programmer, but, to someone who's spent most of their time with HTML tags, this can be somewhat complicated. A ColdFusion tag always looks like <cfTagName> with the "TagName" being replaced with the actual tag you are using. Similar to the way PHP uses the <?php and ASP uses <% to signify the start of code, the <cf informs the server the begning of ColdFusion cod. As mentioned ColdFusion shares similarities with HTML, which means for every tag started it should be closed and the end of a tag is denoted using </cfTagName>. So, for example, you could use the following code:
<cfloop index="i" from="1" to="10">
<cfoutput>#i#<br></cfoutput>
</cfloop>
It's not at all our intention to teach you ColdFusion here, but to inject you with enough inquisitiveness to make you curious to check it out further. To learn more about ColdFusion tags, also known as ColdFusion Markup Language (CFML), visit the Macromedia Website.
Myths Surrounding ColdFusion Web Development
Myth #1: ColdFusion web development is a Rich Man's Language
False! Visit Macromedia's Website and look up the ColdFusion server, the sticker price of $1300 for the standard edition, and if you head over to Zend's Website you can purchase their PHP Performance Suite for around $1875. We all know that you don't need the Performance Suite to run PHP applications, but the Performance Suite gives you "Dynamic content caching, Code acceleration and File compression technologies, as a single solution", which is what the Macromedia ColdFusion server gives you out of the box. This is a good time to point out that Macromedia doesn't charge for development servers, just for the actual production server. Well, if your group has the budget, you can purchase the Macromedia Standard or Enterprise versions, or you can opt for a free version of the ColdFusion server. Besides the developer edition, download any Macromedia ColdFusion server and, after 30 days, it becomes a full-featured developer edition.
A company named New Atlanta has its own version of the ColdFusion Server. This ColdFusion server is called Blue Dragon and it comes in 3 flavors, just like
Macromedia's servers. New Atlanta has a Server Edition, a Server JX version and a J2EE version, while Macromedia has Standard, Enterprise and Enterprise J2EE versions. The great thing about the New Atlanta Server version is that it's currently free, and there are no signs of this changing any time soon. Why is it free? It doesn't have all the CFML tags you'd get in the New Atlanta JX version or the Macromedia Standard Edition. New Atlanta free server does place some limitations on the tags you can use, and the kinds of databases you can connect to (it's currently limited to MySQL, PostGreSQL or ODBC via ODBC / JDBC Bridge). The New Atlanta product does offer budding ColdFusion programmers the ability to deploy applications with little cost to the end users. You can even bundle the New Atlanta server with your application and deploy it all at once (special licensing is needed to accomplish this). So, ColdFusion is no longer just for the rich. New Atlanta has brought it to the masses.
Myth #2: ColdFusion web development is Slow
False! ColdFusion is very fast, even for someone who is just starting out and hasn't learned all the tricks. Currently, ColdFusion MX is built using Java (in the past, it was developed on C++), and when your pages are run for the first time, they are compiled into Java bytecode. In layman's terms, your ColdFusion pages are compiled when they are first run, much like a program, and are then stored on the ColdFusion Server as binary files. If your ColdFusion server is configured with Trusted Cache turned on, then your files will be compiled only once. If Trusted Cache is turned off, your files are compiled with each page load, or when the page expires (again, a discussion of the CFML code and server configuration details to do this are beyond the scope of this article).
So, what's so special about the pages being compiled into bytecode?
Bytecode is computer object code that is processed by a program, usually referred to as a virtual machine, rather than by the "real" computer machine, the hardware processor.
Once the ColdFusion code is compiled into bytecode, your server can interpret the instructions of your program faster, since it's in a language it already understands. Many current Web languages are interpreted at runtime, which means that they're processed and compiled each time they're run. Typically, the difference between bytecode and interpreted code on a Web page is milliseconds to seconds. Yet, these differences can add up quickly in a Web application, and could easily mean the difference between a happy customer and an unsatisfied customer.
Myth #3: ColdFusion web development isn't supported the way <insert language> is!
Wrong again! ColdFusion has a huge community of followers and is backed by one of the largest Internet companies. You can find loyal ColdFusion followers in just about every major city across the world. They typically belong to the local ColdFusion User Group (CFUG), and are always willing to lend a hand or some teaching to help you along the way. There are also ColdFusion communities springing up all over the place. You can always find help at Macromedia's Developer Center for ColdFusion, and we here at Softisland are avid followers of this mighty language which has made web development more efficient and fast.
Myth #4: ColdFusion doesn't have all the features of other programming languages.
False! It still remains to be found something that ASP, PHP, or JSP can do that ColdFusion can't. ColdFusion has all the programmatic ability of the aforementioned languages, as well as a tighter integration with other Macromedia technologies like Flash or the new Flex language. One of the biggest things ColdFusion has over these languages is that most of these special features are built into ColdFusion. Take charting, for example. With a simple database query and a CFChart tag, I can create a bar, line, pyramid, area, cone, curve, cylinder, step, scatter or pie chart in Flash, JPG or PNG formats, and that graph can be 3D or 2D! This facility is offered out of the box with very little or no configuration needed. ColdFusion also has hooks into other Web languages and objects such as C/C++, Java, COM, CORBA, XML, SOAP and more! You're never limited to programming only in ColdFusion, thanks to all these hooks and APIs.
Myth #5: ColdFusion encourages inferior programming practices.
False! ColdFusion provides all the building blocks necessary to develop highly scalable, modular and maintainable code. ColdFusion does not enforce any particular development methodology but, instead, focuses on getting the job done. Many programmers who start out with ColdFusion do typically write less than perfect code, but you can find the same problems in ASP, or PHP. Two major development methodologies now exist: FuseBox, and MACH II. A developer using one of these methodologies can, over time, learn better coding practices, but it's really up to the programmer and the project to determine what works best.
|