ColdFusion

Origem: Wikipédia, a enciclopédia livre.
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

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]

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 | editar código-fonte]

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 | editar código-fonte]

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 | editar código-fonte]

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 | editar código-fonte]

<!-- 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 | editar código-fonte]

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