26
Felipe Magalhães RIA-RJ - http://www.riarj.com/ Prazer, ColdFusion! Felipe A. Magalhães [email protected] @felipemx

Prazer, ColdFusion

Embed Size (px)

DESCRIPTION

Palestra apresentada no 1º RIA Tour, em Barra Mansa/RJ dia 11 de setembro de 2010

Citation preview

Page 1: Prazer, ColdFusion

Felipe Magalhães

RIA-RJ - http://www.riarj.com/

Prazer, ColdFusion!

Felipe A. Magalhã[email protected]

@felipemx

Page 2: Prazer, ColdFusion

Felipe Magalhães

RIA-RJ - http://www.riarj.com/10/04/2023 2

Cold...quem?

• Atualmente na versão 9• Lançado em 1995 pelos irmãos Allaire• Plataforma J2EE certificado pela Sun (agora

Oracle)• Java, JSP e .Net• Porta 8500, mas também pode rodar em cima

do IIS ou Apache

Page 3: Prazer, ColdFusion

Felipe Magalhães

RIA-RJ - http://www.riarj.com/10/04/2023 3

Quem utiliza o ColdFusion?• Abrinq• Aneel• Petrobras• Biquini Cavadão• Correios• Embraer• Ministério da Saúde• Prefeituras: Rio de Janeiro,

Vitória, Vila Velha...• SuperDownloads• Vivo

• Assemb. Legislativa - BA• Azul Seguros• CCR/NovaDutra• Eletropaulo• Escola 24 Horas• FIOCRUZ• Mongeral• Net• Perdigão• Porto Seguro Seguros• Secretaria de Fazenda - DF

Page 4: Prazer, ColdFusion

Felipe Magalhães

RIA-RJ - http://www.riarj.com/10/04/2023 4

Quem utiliza o ColdFusion?• Acer• AT&T• Ford• Gatorade Sports & Science• IBM Rational• Siemens• TagHeuer• University of Virginia• University of Illinois

• BMW• HP Smart• NEC Mitsubishi• US Department of Housing

and Urban Development• US Senate• US’s National Security

Agency• Windows, .NET and SQL

Server MagazineMais em: http://www.forta.com/cf/using/http://www.adobe.com/products/coldfusion/customers/

Page 5: Prazer, ColdFusion

Felipe Magalhães

RIA-RJ - http://www.riarj.com/10/04/2023 5

O quanto o ColdFusion é fácil?

• Menos código

Page 6: Prazer, ColdFusion

Felipe Magalhães

RIA-RJ - http://www.riarj.com/10/04/2023 6

O quanto o ColdFusion é fácil?

• Menos código

<cfquery name=“getMyFriends” datasource=“peter”> SELECT friendId, firstName, lastName, nickName FROM friends</cfquery><cfoutput query=“getMyFriends”> #firstName# – #lastName#</cfoutput>

Page 7: Prazer, ColdFusion

Felipe Magalhães

RIA-RJ - http://www.riarj.com/10/04/2023 7

O quanto o ColdFusion é fácil?

• Mais intuitividade– Quer fazer uma caixa de email? Cfpop, cfimap e

cfmail– Quer realizar uma consulta a um banco de dados?

cfquery– Quer gerar gráficos? cfchart– Quer armazenar logs da sua aplicação? cflog– Quer executar um laço? cfloop

Page 8: Prazer, ColdFusion

Felipe Magalhães

RIA-RJ - http://www.riarj.com/10/04/2023 8

O quanto o ColdFusion é fácil?

• Debug– IDE e Server trabalhando em paralelo

Page 9: Prazer, ColdFusion

Felipe Magalhães

RIA-RJ - http://www.riarj.com/10/04/2023 9

O quanto o ColdFusion é fácil?

• Mas eu tenho que adquirir os softwares! (Mentira!!!)

• ColdFusion Builder & ColdFusion 9 (Server)– https://freeriatools.adobe.com/

Page 10: Prazer, ColdFusion

Felipe Magalhães

RIA-RJ - http://www.riarj.com/10/04/2023 10

Estruturas básicas

• Condicionais:– cfif/cfelse/cfelseif– cfswitch/cfcase/cfdefaultcase

• Laço:– cfloop/cfbreak

Page 11: Prazer, ColdFusion

Felipe Magalhães

RIA-RJ - http://www.riarj.com/10/04/2023 11

CFML e CFScriptSintaxe baseada em tags Sintaxe no padrão ECMAScript

==

<

<=

>

>=

!=

/* Comentário */ ou //Comentário

if{...} else{...}

Declaração direta: x = 1;

EQ, EQUAL TO, IS

LT, LESS THAN

LTE, LESS THAN OR EQUAL

GT, GREATER THAN

GTE, GREATER THAN OR EQUAL

NEQ, NOT EQUAL

<!--- Comentário --->

<cfif> / <cfelse>

<cfset>

Page 12: Prazer, ColdFusion

Felipe Magalhães

RIA-RJ - http://www.riarj.com/10/04/2023 12

CFML e CFScriptSintaxe baseada em tags Sintaxe no padrão ECMAScript

writeOutput()

switch{case: ... default: ...}

while{...}, do{} while, for{...} e for ... in{...}

break;

try{...} catch{...}

createObject()

function

return

<cfoutput>

<cfswitch>/<cfcase>/<cfdefaultcase>

<cfloop>

<cfbreak>

<cftry>/<cfcatch>

<cfobject>

<cffunction>

<cfreturn>

Page 13: Prazer, ColdFusion

Felipe Magalhães

RIA-RJ - http://www.riarj.com/10/04/2023 13

Escopos de variável no ColdFusion• Form• Url• Variables• Flash• Cookie• Session• Application• Cgi

• Arguments• cfcatch• cfquery• cffile• cfhttp• Client• Server• ThisTag• Caller

Page 14: Prazer, ColdFusion

Felipe Magalhães

RIA-RJ - http://www.riarj.com/10/04/2023 14

O início – Declaração de variáveis

• CFML:<cfset variables.nome = “Felipe”>

• CFScript:<cfscript>nome = “Felipe”;</cfscript>

• Atenção: Utilizar o escopo de uma variável é uma “Best Practice”!

Page 15: Prazer, ColdFusion

Felipe Magalhães

RIA-RJ - http://www.riarj.com/10/04/2023 15

Saída de dados

• <cfoutput>#variables.nome#</cfoutput>• Usando o atributo query:

<cfoutput query=“consulta” startrow=“1” maxrows=“5”>#consulta.id# - #consulta.nome# <br/>

</cfoutput>

Page 16: Prazer, ColdFusion

Felipe Magalhães

RIA-RJ - http://www.riarj.com/10/04/2023 16

Trabalhando com Cookies e Session

<cfcookie name=“usuario” value=“felipemx” expires=“3”>

<cfset session.nome = “Felipe”><cfoutput>

#cookie.usuario# - #session.nome#</cfoutput>

Page 17: Prazer, ColdFusion

Felipe Magalhães

RIA-RJ - http://www.riarj.com/10/04/2023 17

Interagindo com banco de dados

• Drivers nativos: SQL Server, MySQL, Oracle, PostGre, Sybase, DB2, Informix, Access, Derby e conexões JNDI e ODBC

<cfquery datasource=“estoque”>SELECT produto, precoWHERE idProd = <cfqueryparam

cfsqltype=“cf_sql_integer” value=“#variables.produtoDesejado#” null=“false”>

</cfquery>

Page 18: Prazer, ColdFusion

Felipe Magalhães

RIA-RJ - http://www.riarj.com/10/04/2023 18

Interagindo com banco de dados

• <cfinsert>• <cfupdate>• <cfstoredproc>• <cfprocparam>• <cfprocresult>• <cftransaction>• <cfdbinfo>

Page 19: Prazer, ColdFusion

Felipe Magalhães

RIA-RJ - http://www.riarj.com/10/04/2023 19

Criação de gráficos

• Saídas em flash, jpg e png• <cfchart>• <cfchartdata>• <cfchartseries>• Estilização com WebChart 3D 5.1

Page 20: Prazer, ColdFusion

Felipe Magalhães

RIA-RJ - http://www.riarj.com/10/04/2023 20

Manipulando arquivos e pastas

• <cffile action=append, copy, delete, move, read, readbinary, rename, upload ou write>

• <cfdirectory action= list, create, delete ou rename>

• ExpandPath()• GetDirectoryFromPath()• GetFileFromPath()

Page 21: Prazer, ColdFusion

Felipe Magalhães

RIA-RJ - http://www.riarj.com/10/04/2023 21

O que mais é possível?

• <cfimage> e as image functions• <cfsharepoint>• <cfpdf>• <cfdocument>• <cfpresentation>• <cfzip>• Cacheamento de query e Query of Queries• <cffeed>• <cfftp>/<cfhttp>/<cfldap>• <cfthread>

Page 22: Prazer, ColdFusion

Felipe Magalhães

RIA-RJ - http://www.riarj.com/10/04/2023 22

Novidades da versão 9

• ORM• <cfspreadsheet>• <cffileupload>• <cfmediaplayer>• <cfmap>/<cfmapitem>

Page 23: Prazer, ColdFusion

Felipe Magalhães

RIA-RJ - http://www.riarj.com/10/04/2023 23

O que vem depois?

• Storm– Dados, produtividade e personalização

• Link– Cloud computing, Rich media e nova geração Ajax

• Thunder– Deploy, relatórios e serviços colaborativos

Page 24: Prazer, ColdFusion

Felipe Magalhães

RIA-RJ - http://www.riarj.com/10/04/2023 24

Qual a vantagem de se aplicar o ColdFusion no mercado atual?

• RAD = Prazo menor • Equipe enxuta• Menos gastos• Preço favorável

Page 25: Prazer, ColdFusion

Felipe Magalhães

RIA-RJ - http://www.riarj.com/10/04/2023 25

As vagas para ColdFusion• Rio de Janeiro• São Paulo• Brasília• Salvador• Blumenau• Porto Alegre

• New York• California• Los Angeles• Chicago• Atlanta• Washington, DC• Bélgica• Reino Unido• Espanha• Luxemburgo• Canadá

Page 26: Prazer, ColdFusion

Felipe Magalhães

RIA-RJ - http://www.riarj.com/10/04/2023 26

FIM!Dúvidas? Perguntas? Comentários?