desenvolvimento web com software livre

65
Desenvolvimento Web Desenvolvimento Web com Software Livre com Software Livre Givanaldo Rocha Givanaldo Rocha Semana de Ciência e Tecnologia – IFRN Zona Norte

Upload: givanaldo-rocha

Post on 29-Jun-2015

1.446 views

Category:

Technology


2 download

DESCRIPTION

Palestra apresentada na Semana de Ciência e Tecnologia do IFRN campus Natal - Zona Norte.

TRANSCRIPT

Page 1: Desenvolvimento Web com Software Livre

Desenvolvimento Web Desenvolvimento Web com Software Livrecom Software Livre

Givanaldo RochaGivanaldo Rocha

Semana de Ciência e Tecnologia – IFRN Zona Norte

Page 2: Desenvolvimento Web com Software Livre

Quem sou eu...Quem sou eu...

Givanaldo RochaGivanaldo Rocha

Professor e Coordenador dos Cursos da Área de Professor e Coordenador dos Cursos da Área de Informática do IFRN / Campus Natal - Zona Norte.Informática do IFRN / Campus Natal - Zona Norte.

Membro do Projeto Software Livre do Rio Grande do Membro do Projeto Software Livre do Rio Grande do Norte (PSL-RN) desde sua criação (2004).Norte (PSL-RN) desde sua criação (2004).

Page 3: Desenvolvimento Web com Software Livre

➢ Em 1900 e volts:Em 1900 e volts: “eu queria um sisteminha para administrar “eu queria um sisteminha para administrar minha bodega...”minha bodega...”

Por que desenvolver software?Por que desenvolver software?

Page 4: Desenvolvimento Web com Software Livre

➢ Atualmente:Atualmente: “eu quero um sistema para gerenciar minhas “eu quero um sistema para gerenciar minhas doze filiais e quero que os dados sejam centralizados em um doze filiais e quero que os dados sejam centralizados em um servidor na matriz...”servidor na matriz...”

Por que desenvolver para a Web?Por que desenvolver para a Web?

Page 5: Desenvolvimento Web com Software Livre

➢ARPANET (US DoD)ARPANET (US DoD)

➢RNP (Rede Nacional de Pesquisa)RNP (Rede Nacional de Pesquisa)

➢GlobalizaçãoGlobalização

➢Comércio eletrônicoComércio eletrônico

➢Web 2.0 – a Internet como Web 2.0 – a Internet como plataformaplataforma

Sim, certo. E daí? Mas onde entra a Web?Sim, certo. E daí? Mas onde entra a Web?

Page 6: Desenvolvimento Web com Software Livre

Sim, certo. E daí? Mas onde entra a Web?Sim, certo. E daí? Mas onde entra a Web?

A área de Desenvolvimento Web está A área de Desenvolvimento Web está definindo o futuro da definindo o futuro da computaçãocomputação e da e da

comunicação humanacomunicação humana..

Page 7: Desenvolvimento Web com Software Livre

➢Servidor WebServidor WebApache HTTP Server, IBM HTTP Server, Oracle HTTP Apache HTTP Server, IBM HTTP Server, Oracle HTTP Server, Internet Information Services (IIS), Sun Java Server, Internet Information Services (IIS), Sun Java System Web Server, …System Web Server, …

➢SGBDSGBDMySQL, PostgreSQL, Firebird, Oracle, SQL Server, MySQL, PostgreSQL, Firebird, Oracle, SQL Server, HSQLDB, DB2 ...HSQLDB, DB2 ...

➢Linguagem de ProgramaçãoLinguagem de ProgramaçãoServer-side:Server-side: PHP, JSP, ASP.NET, Ruby, Python, … PHP, JSP, ASP.NET, Ruby, Python, …Client-side:Client-side: XHTML, CSS, Javascript, ... XHTML, CSS, Javascript, ...

Como programar para a Web?Como programar para a Web?

Page 8: Desenvolvimento Web com Software Livre

Arquitetura resumidaArquitetura resumida

Servidor WebClientes

Banco Banco de de

DadosDados

Page 9: Desenvolvimento Web com Software Livre

➢ Linux, Windows ou Mac?Linux, Windows ou Mac?

➢Software Livre ou Software Proprietário?Software Livre ou Software Proprietário?

➢ IDE ou um simples editor?IDE ou um simples editor?

As ferramentasAs ferramentas

Page 10: Desenvolvimento Web com Software Livre

As ferramentasAs ferramentas

Por que usarSoftware Livre?

Page 11: Desenvolvimento Web com Software Livre

Por que usar Software Livre?Por que usar Software Livre?

• Estudar como é feito

• Alterar, adaptar, reconstruir

• Usar para inúmeros fins

• Redistribuir

• Combater a pirataria

Page 12: Desenvolvimento Web com Software Livre

Por que usar Software Livre?Por que usar Software Livre?

• Banco do Brasil

– 65 mil computadores com Linux, BrOffice e Firefox.

– 35 mil computadores com BrOffice e Firefox.

– 100% no uso do padrão ODF.

– Caixas eletrônicos migrando de OS/2 (IBM) para Linux.

– Economia estimada de 89 milhões até 2010.

Page 13: Desenvolvimento Web com Software Livre

Por que usar Software Livre?Por que usar Software Livre?

• Banco do Brasil

Page 14: Desenvolvimento Web com Software Livre

Por que usar Software Livre?Por que usar Software Livre?

• Caixa Econômica Federal

– Terminais da lotérica com Linux (23 milhões de transações por dia).

– 20 mil terminais de auto-atendimento com Linux e Java (35 milhões de saques, 15 milhões de saldos e 14 milhões de extratos).

Page 15: Desenvolvimento Web com Software Livre

Por que usar Software Livre?Por que usar Software Livre?

• Petrobrás

– Migrando de Office para BrOffice.

– Migrando de IE para Firefox (com a extensão IE Tab).

– Padrão efetivo para normatizar a contratação, manutenção e suporte de aplicações em software livre.

Page 16: Desenvolvimento Web com Software Livre

➢Distribuições LinuxDistribuições LinuxUbuntu, Debian, Slackware, Red Hat, ...Ubuntu, Debian, Slackware, Red Hat, ...

➢Linguagens de programaçãoLinguagens de programaçãoPHP, Java, Ruby, Python, ...PHP, Java, Ruby, Python, ...

➢ IDEIDEAptana Studio, Eclipse, Geany, Netbeans, ...Aptana Studio, Eclipse, Geany, Netbeans, ...

➢Editor de textoEditor de textoGEdit, Kate, vi, vim, ...GEdit, Kate, vi, vim, ...

Seguindo a linha “Software Livre”Seguindo a linha “Software Livre”

Page 17: Desenvolvimento Web com Software Livre

➢Chamado simplesmente de “Apache”.Chamado simplesmente de “Apache”.

➢Criado em 1995 por Rob McCool (NCSA).Criado em 1995 por Rob McCool (NCSA).

➢Dezembro de 2007:Dezembro de 2007:

➔ Apache: 47,20% dos servidores.Apache: 47,20% dos servidores.

➔ Microsoft: 36,99% dos servidores.Microsoft: 36,99% dos servidores.

➢ Julho de 2009:Julho de 2009:

➔ Apache: 47,17% dos servidores.Apache: 47,17% dos servidores.

➔ Microsoft: 23,34% dos servidores.Microsoft: 23,34% dos servidores.

Servidor Web – Apache HTTP ServerServidor Web – Apache HTTP Server

Page 18: Desenvolvimento Web com Software Livre

Servidor Web – Apache HTTP ServerServidor Web – Apache HTTP Server

http://greatstatistics.com

Page 19: Desenvolvimento Web com Software Livre

Linguagens de ProgramaçãoLinguagens de Programação

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Page 20: Desenvolvimento Web com Software Livre

Linguagens de ProgramaçãoLinguagens de Programação

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Page 21: Desenvolvimento Web com Software Livre

Desenvolvimento Client-side (camadas)Desenvolvimento Client-side (camadas)

Comportamento

Apresentação

Conteúdo

Page 22: Desenvolvimento Web com Software Livre

Javascript

CSS

XHTML

Desenvolvimento Client-side (camadas)Desenvolvimento Client-side (camadas)

* Recomendações do W3C

Page 23: Desenvolvimento Web com Software Livre

➢Fundado por Tim Berners-Lee em 1994 para Fundado por Tim Berners-Lee em 1994 para levar a Web ao seu potencial máximo.levar a Web ao seu potencial máximo.

➢Consórcio internacional com cerca de 300 Consórcio internacional com cerca de 300 membros, que agrega empresas, órgãos membros, que agrega empresas, órgãos governamentais e organizações independentes.governamentais e organizações independentes.

➢Visa desenvolver padrões para a criação e a Visa desenvolver padrões para a criação e a interpretação de conteúdos para a Web.interpretação de conteúdos para a Web.

W3C ?!?!?!?!?W3C ?!?!?!?!?

http://www.w3.org

Page 24: Desenvolvimento Web com Software Livre

http://www.w3.orghttp://www.w3.org

Page 25: Desenvolvimento Web com Software Livre

➢Extensible Hypertext Markup LanguageExtensible Hypertext Markup Language

➢ Linguagem de marcação (tags)Linguagem de marcação (tags)

➢Expressar o Expressar o conteúdoconteúdo da página web da página web

XHTMLXHTML

Page 26: Desenvolvimento Web com Software Livre

➢Cascading Style SheetsCascading Style Sheets

➢ Linguagem de estilosLinguagem de estilos

➢Separação entre o formato e o conteúdoSeparação entre o formato e o conteúdo

CSSCSS

Page 27: Desenvolvimento Web com Software Livre

➢Criada pela Netscape em 1995Criada pela Netscape em 1995

➢Validação de formulários, capturar ações do Validação de formulários, capturar ações do usuário (eventos)usuário (eventos)

➢AJAX (AJAX (AsynchronousAsynchronous Javascript and XML) Javascript and XML)

JavascriptJavascript

Page 28: Desenvolvimento Web com Software Livre

Exemplo (XHTML)Exemplo (XHTML)

Page 29: Desenvolvimento Web com Software Livre

Exemplo (XHTML + CSS)Exemplo (XHTML + CSS)

Page 30: Desenvolvimento Web com Software Livre

Exemplo (XHTML + CSS)Exemplo (XHTML + CSS)

Page 31: Desenvolvimento Web com Software Livre

➢Ações executadas no servidor e renderizadas Ações executadas no servidor e renderizadas para o cliente.para o cliente.

➢O cliente não vê o código, a não ser que tenha O cliente não vê o código, a não ser que tenha acesso ao servidor.acesso ao servidor.

““Qualquer um que chegue a você e diga ter a Qualquer um que chegue a você e diga ter a linguagem perfeita é um ingênuo, ou é um vendedor.”linguagem perfeita é um ingênuo, ou é um vendedor.”

(Bjarne Stroustrup)(Bjarne Stroustrup)

Desenvolvimento Server-sideDesenvolvimento Server-side

Page 32: Desenvolvimento Web com Software Livre

➢Criada por Rasmus Lerdof em 1994Criada por Rasmus Lerdof em 1994

➢ Linguagem interpretada e livreLinguagem interpretada e livre

➢MultiplataformaMultiplataforma

➢Suporta inúmeros bancos de dadosSuporta inúmeros bancos de dados

Desenvolvimento Server-side – PHPDesenvolvimento Server-side – PHP

Page 33: Desenvolvimento Web com Software Livre

➢Wikipedia (MediaWiki)Wikipedia (MediaWiki)

➢ JoomlaJoomla

➢DrupalDrupal

➢WordPressWordPress

➢MoodleMoodle

Desenvolvimento Server-side – PHPDesenvolvimento Server-side – PHP

Page 34: Desenvolvimento Web com Software Livre

➢PythonPython

➢RubyRuby

➢ JSP (Java Server Pages)JSP (Java Server Pages)

Outras linguagens Server-sideOutras linguagens Server-side

Page 35: Desenvolvimento Web com Software Livre

➢Ambiente de desenvolvimento open source para Ambiente de desenvolvimento open source para a construção de programas de computador.a construção de programas de computador.

➢Criado pela IBM e posteriormente doado para a Criado pela IBM e posteriormente doado para a comunidade (Eclipse Foundation).comunidade (Eclipse Foundation).

➢Multiplataforma: Linux, Mac OS e Windows.Multiplataforma: Linux, Mac OS e Windows.

➢Extensível através de plugins.Extensível através de plugins.

EclipseEclipse

Page 36: Desenvolvimento Web com Software Livre

EclipseEclipse

Page 37: Desenvolvimento Web com Software Livre

EclipseEclipse

Page 38: Desenvolvimento Web com Software Livre

EclipseEclipse

Page 39: Desenvolvimento Web com Software Livre

➢Software open source baseado no Eclipse que Software open source baseado no Eclipse que suporta CSS, XHTML, Javascript e XML.suporta CSS, XHTML, Javascript e XML.

➢Suporta PHP, Ruby on Rails, Adobe AIR e AJAX.Suporta PHP, Ruby on Rails, Adobe AIR e AJAX.

➢Multiplataforma: Linux, Mac OS e Windows.Multiplataforma: Linux, Mac OS e Windows.

➢Pode-se fazer upload e download usando FTP.Pode-se fazer upload e download usando FTP.

Aptana StudioAptana Studio

Page 40: Desenvolvimento Web com Software Livre

Aptana StudioAptana Studio

Page 41: Desenvolvimento Web com Software Livre

Aptana StudioAptana Studio

Recurso auto-completar do assistente de códigos.

Page 42: Desenvolvimento Web com Software Livre

Aptana StudioAptana Studio

Page 43: Desenvolvimento Web com Software Livre

Aptana StudioAptana Studio

Page 44: Desenvolvimento Web com Software Livre

Aptana StudioAptana Studio

Page 45: Desenvolvimento Web com Software Livre

Aptana StudioAptana Studio

Page 46: Desenvolvimento Web com Software Livre

Aptana StudioAptana Studio

Page 47: Desenvolvimento Web com Software Livre

GEditGEdit

Page 48: Desenvolvimento Web com Software Livre

➢Desenvolvido pela Sun Microsystems (comprada Desenvolvido pela Sun Microsystems (comprada recentemente pela Oracle).recentemente pela Oracle).

➢Multiplataforma: Windows, Linux, Solaris e Multiplataforma: Windows, Linux, Solaris e MacOSMacOS

➢Desenvolvimento de aplicativos Desktop, Web e Desenvolvimento de aplicativos Desktop, Web e MóveisMóveis

➢ Java, JSP, C, C++, Ruby, PHP, XML, JavaFX, ...Java, JSP, C, C++, Ruby, PHP, XML, JavaFX, ...

NetbeansNetbeans

Page 49: Desenvolvimento Web com Software Livre

NetbeansNetbeans

Page 50: Desenvolvimento Web com Software Livre

NetbeansNetbeans

Page 51: Desenvolvimento Web com Software Livre

NetbeansNetbeans

Page 52: Desenvolvimento Web com Software Livre

NetbeansNetbeans

Page 53: Desenvolvimento Web com Software Livre

NetbeansNetbeans

Page 54: Desenvolvimento Web com Software Livre

➢ Toda grande aplicação precisará de um banco de Toda grande aplicação precisará de um banco de dados.dados.

Não se pode esquecer dos Bancos de DadosNão se pode esquecer dos Bancos de Dados

Page 55: Desenvolvimento Web com Software Livre

LAMP = Linux + Apache + MySQL + PHPLAMP = Linux + Apache + MySQL + PHP

Page 56: Desenvolvimento Web com Software Livre

➢ Software projetado para simplificar a publicação de Software projetado para simplificar a publicação de conteúdos em sites.conteúdos em sites.

➢ Permitem que os usuários criem seus conteúdos Permitem que os usuários criem seus conteúdos sem a necessidade de saber XHTML, ou fazer sem a necessidade de saber XHTML, ou fazer uploads.uploads.

Gerenciadores de Conteúdo (CMS)Gerenciadores de Conteúdo (CMS)

Page 57: Desenvolvimento Web com Software Livre

Gerenciadores de Conteúdo (CMS)Gerenciadores de Conteúdo (CMS)

Page 58: Desenvolvimento Web com Software Livre

Gerenciadores de Conteúdo (CMS)Gerenciadores de Conteúdo (CMS)

Page 59: Desenvolvimento Web com Software Livre

FrameworksFrameworks

➢ Conjuntos de classes que colaboram para realizar Conjuntos de classes que colaboram para realizar as funcionalidades das diversas, e mais comuns, as funcionalidades das diversas, e mais comuns, partes da aplicação.partes da aplicação.

➢ Trazem códigos prontos e testados para serem Trazem códigos prontos e testados para serem usados em uma aplicação, diminuindo o tempo de usados em uma aplicação, diminuindo o tempo de desenvolvimento.desenvolvimento.

Page 60: Desenvolvimento Web com Software Livre

FrameworksFrameworks

Page 61: Desenvolvimento Web com Software Livre

FrameworksFrameworks

Page 62: Desenvolvimento Web com Software Livre

FrameworksFrameworks

Page 63: Desenvolvimento Web com Software Livre

➢ Existem ferramentas open source profissionais para Existem ferramentas open source profissionais para trabalhar com design e multimídia... e a tendência é trabalhar com design e multimídia... e a tendência é melhorar!!!melhorar!!!

Design e MultimídiaDesign e Multimídia

GIMPBlender Inkscape

Page 64: Desenvolvimento Web com Software Livre

Organização

Patrocinadores

Apoio

Parceiro

Agencia Oficial

Page 65: Desenvolvimento Web com Software Livre

Obrigado!!!Obrigado!!!Contatos:Contatos:

@givanaldo@givanaldo

[email protected]@gmail.com

Palestra disponível em:Palestra disponível em:http://www.slideshare.net/givanaldohttp://www.slideshare.net/givanaldo