ColdFusion

Origem: Wikipédia, a enciclopédia livre.

ColdFusion

Paradigma
Surgido em 1995
Última versão 8 ()
Criado por
Estilo de tipagem:
Compiladores
Dialetos:
Influenciada por
Influenciou
Licença:
Página oficial Adobe Systems

Índice

[editar] Conceituação

O termo ColdFusion refere-se a:

  • Uma linguagem de programação para computadores (CFML), usada principalmente para a World Wide Web e não-proprietária;
  • Um servidor de aplicações que compila e executa a linguagem CFML. A Adobe Systems detém direitos sobre o termo ColdFusion Server, porém existem outros servidores de aplicação que interpretam CFML, veja mais adiante.

O acrônimo CFML significa ColdFusion Markup Language. É uma linguagem baseada em tags que, por ser similar à linguagem HTML (também baseada em tags), apresenta uma boa curva de aprendizagem em comparação com outras linguagens tais como ASP e PHP. Sendo esta a razão principal pela adoção da linguagem e do produto por profissionais da Web, sendo que muitos a adotam como sua primeira linguagem de programação para Internet.

Por ser suportado primordialmente pela Adobe Systems (veja histórico), o ColdFusion Server oferece boa interoperabilidade com outros produtos da mesma empresa, tais como Flash, Dreamweaver entre outros, sendo também uma escolha comum para aqueles que trabalham com estas tecnologias.

[editar] Histórico

A linguagem e o servidor ColdFusion foram criados em 1995 pelos irmãos JJ e Jeremy Allaire, fundadores da empresa Allaire, adquirida em 2001 pela Macromedia, que por sua vez, em 2005, foi adquirida pela Adobe, empresa que agora mantém o ColdFusion Server. Com a aquisição da Allaire pela Macromedia, o ColdFusion foi totalmente reescrito, tornando-se um servidor J2EE (Java) certificado pela Sun. A primeira versão baseada em Java foi a MX 6.0, codinome Neo. A versão atual é a versão 8 codinome Scorpio.

Com o lançamento da versão 4.5, o nome do produto deixou de ser grafado de forma separada (Cold Fusion), e passou a ser simplesmente ColdFusion. Esta mudança na grafia causa grande confusão entre usuários, especialmente no tocante à buscas por artigos e referências na Internet, que frequentemente são confundidas com o termo Fusão a Frio da física.

[editar] O servidor de aplicações

Para o ColdFusion Server da Adobe Systems, existem três versões do ColdFusion Server: Developer, Standard e Enterprise. Todas possuem suporte à CFML e diferem-se em recursos extras, tais como as buscas Verity e recursos como sandbox security. A versão Developer é gratuita e tem as mesmas funcionalidades da versão Enterprise, porém limitado a responder requisições oriundas da própria máquina onde está instalado e um IP adicional da mesma rede.

Outras empresas oferecem alternativas ao produto da Adobe, uma vez que a linguagem CFML não é proprietária. Os mais conhecidos são:

[editar] A linguagem de programação CFML (exemplos)

<!--- Esse texto é apenas um comentário no ColdFusion --->
 
<cfquery name="NomeDaQuery" datasource="NomeConexao">
	SELECT 
	  campo1, 
	  campo2 
	FROM 
	  tabela
	WHERE 
	  campo1 = <cfqueryparam cfsqltype="cf_sql_varchar" value="oquevcquiser">
</cfquery>
 
<cfoutput query="NomeDaQuery">
	#NomeDaQuery.campo1# - #NomeDaQuery.campo2#
</cfoutput>
 
<!--- OU --->
 
<cfoutput>
	<cfloop query="NomeDaQuery">
		#NomeDaQuery.campo1# - #NomeDaQuery.campo2#
	</cfloop>
</cfoutput>
 
 
<!--- Variáveis --->
<cfset minhaVariavel = 2>
<cfset minhaVariavel2 = variables.minhaVariavel>
 
<!--- Estruturas de condição --->
<cfif variables.minhaVariavel GT 2>
	É maior que 2
<cfelseif variables.minhaVariavel LT 2>
	É menor que 2
<cfelse>
	É igual a 2
</cfif>
 
 
<!--- Arrays --->
<cfset frutas = ArrayNew(1)>
<cfset frutas[1] = "laranja">
<cfset frutas[2] = "abacaxi">
<cfset frutas[3] = "banana">
<cfset frutas[4] = "maçã">
 
<!--- OU --->
 
<cfscript>
	frutas = ArrayNew(1);
	ArrayAppend(variables.frutas, 'uva');
	ArrayAppend(variables.frutas, 'morango');
	ArrayAppend(variables.frutas, 'mamão');
	ArrayAppend(variables.frutas, 'manga');
</cfscript>
 
<!--- OU --->
 
<cfset frutas = ['figo','abacate','ameixa','caju']> <!---Array in-line (Suportado apenas na versão 8)--->
 
<cfdump var="#variables.frutas#"> <!--- dump do array --->
 
<cfoutput>
	<!--- Loops --->
	<cfloop array="#variables.frutas#" index="i">
		#variables.i#
	</cfloop>
	<!--- // --->
	<cfloop from="1" to="#ArrayLen(variables.frutas)#" index="i">
		#variables.frutas[i]#
	</cfloop>
 
	<!--- loop 1 a 100 --->
	<cfloop from="1" to="100" index="i">
		#variables.i#
	</cfloop>
 
	<!--- loop 100 a 1 --->
	<cfloop from="100" to="1" index="i" step="-1">
		#variables.i#
	</cfloop>
</cfoutput>

[editar] Ligações externas