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:
- BlueDragon;
- Coral;
- IgniteFusion;
- Railo;
- Smith - opensource;
[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>