ColdFusion

linguagem de programação

ColdFusion é uma plataforma de desenvolvimento Web proprietária da Adobe Systems. O ColdFusion utiliza da linguagem CFML para o desenvolvimento de aplicações e páginas dinâmicas. A plataforma ColdFusion oferece integração nativa com plataforma Adobe Flash e seus derivados Flex e Adobe AIR.[1][2][3][4]

Adobe ColdFusion
Paradigma Programação procedural
Surgido em 1995
Última versão 11 (03 de setembro de 2014)
Criado por Adobe Systems, Inc.
Principais implementações Linguagem interpretada
Licença: Proprietária
Página oficial Adobe ColdFusion

A Adobe detém direitos sobre o termo ColdFusion Server, porém existem outros servidores de aplicação que interpretam a linguagem CFML.

Conceituação editar

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.

Histórico editar

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.

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.

A versão 10 foi lançada em 15 de maio de 2012. Essa nova versão inclui, além de aperfeiçoamentos de performance e segurança, suporte à web sockets e outros recursos de HTML5, integração com Tomcat, aperfeiçoamentos na linguagem (closures, construtores, etc), entre outros. Esta versão também trouxe download e instalação de atualizações automáticas pela página de administração.

A versão atual é a 11, lançada em setembro de 2014 que trouxe além das melhorias comuns nas atualizações de versão, funções nativas para aplicações 'end-to-end mobile'.

O servidor de aplicações editar

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 (totalizando no máximo dois clientes).

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

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

<!-- 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>

Referências

  1. Wallack, Todd (23 de janeiro de 1999). «Allaire sees stellar market debut». Boston Herald. Consultado em 2 de novembro de 2015. Cópia arquivada em 2 de novembro de 2015 
  2. Metz, Cade (9 de outubro de 2014). «Beef up your browser». PC Mag. Consultado em 2 de novembro de 2015 
  3. Auerbach, Jon; Kerber, Ross (30 de janeiro de 1998). «Massachusetts Rises Despite Passing of High-Tech Giants». Wall Street Journal. Consultado em 2 de novembro de 2015 
  4. Hilwa, Al (janeiro de 2015). «Turning Up the Heat on Mobile Application Development with ColdFusion 11» (PDF). IDC White Paper. Consultado em 2 de novembro de 2015 

Ligações externas editar

  Este artigo sobre programação de computadores é um esboço. Você pode ajudar a Wikipédia expandindo-o.