ColdFusion
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>
- ↑ 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
- ↑ Metz, Cade (9 de outubro de 2014). «Beef up your browser». PC Mag. Consultado em 2 de novembro de 2015
- ↑ 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
- ↑ 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