Your SlideShare is downloading. ×
0
Desenvolvimento WebDesenvolvimento Web
com Software Livrecom Software Livre
Givanaldo RochaGivanaldo Rocha
Semana de Ciênc...
Quem sou eu...Quem sou eu...
Givanaldo RochaGivanaldo Rocha
Professor e Coordenador dos Cursos da Área deProfessor e Coord...
➢ Em 1900 e volts:Em 1900 e volts: “eu queria um sisteminha para administrar“eu queria um sisteminha para administrar
minh...
➢ Atualmente:Atualmente: “eu quero um sistema para gerenciar minhas“eu quero um sistema para gerenciar minhas
doze filiais...
➢ ARPANET (US DoD)ARPANET (US DoD)
➢ RNP (Rede Nacional de Pesquisa)RNP (Rede Nacional de Pesquisa)
➢ GlobalizaçãoGlobaliz...
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 ...
➢ Servidor WebServidor Web
Apache HTTP Server, IBM HTTP Server, Oracle HTTPApache HTTP Server, IBM HTTP Server, Oracle HTT...
Arquitetura resumidaArquitetura resumida
Servidor Web
Clientes
BancoBanco
dede
DadosDados
➢ Linux, Windows ou Mac?Linux, Windows ou Mac?
➢ Software Livre ou Software Proprietário?Software Livre ou Software Propri...
As ferramentasAs ferramentas
Por que usar
Software Livre?
Por que usar Software Livre?Por que usar Software Livre?
• Estudar como é feito
• Alterar, adaptar, reconstruir
• Usar par...
Por que usar Software Livre?Por que usar Software Livre?
• Banco do Brasil
– 65 mil computadores com Linux, BrOffice e Fir...
Por que usar Software Livre?Por que usar Software Livre?
• Banco do Brasil
Por que usar Software Livre?Por que usar Software Livre?
• Caixa Econômica Federal
– Terminais da lotérica com Linux (23 m...
Por que usar Software Livre?Por que usar Software Livre?
• Petrobrás
– Migrando de Office para BrOffice.
– Migrando de IE ...
➢ Distribuições LinuxDistribuições Linux
Ubuntu, Debian, Slackware, Red Hat, ...Ubuntu, Debian, Slackware, Red Hat, ...
➢ ...
➢ Chamado simplesmente de “Apache”.Chamado simplesmente de “Apache”.
➢ Criado em 1995 por Rob McCool (NCSA).Criado em 1995...
Servidor Web – Apache HTTP ServerServidor Web – Apache HTTP Server
http://greatstatistics.com
Linguagens de ProgramaçãoLinguagens de Programação
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Linguagens de ProgramaçãoLinguagens de Programação
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Desenvolvimento Client-side (camadas)Desenvolvimento Client-side (camadas)
Comportamento
Apresentação
Conteúdo
Javascript
CSS
XHTML
Desenvolvimento Client-side (camadas)Desenvolvimento Client-side (camadas)
* Recomendações do W3C
➢ Fundado por Tim Berners-Lee em 1994 paraFundado por Tim Berners-Lee em 1994 para
levar a Web ao seu potencial máximo.lev...
http://www.w3.orghttp://www.w3.org
➢ Extensible Hypertext Markup LanguageExtensible Hypertext Markup Language
➢ Linguagem de marcação (tags)Linguagem de marc...
➢ Cascading Style SheetsCascading Style Sheets
➢ Linguagem de estilosLinguagem de estilos
➢ Separação entre o formato e o ...
➢ Criada pela Netscape em 1995Criada pela Netscape em 1995
➢ Validação de formulários, capturar ações doValidação de formu...
Exemplo (XHTML)Exemplo (XHTML)
Exemplo (XHTML + CSS)Exemplo (XHTML + CSS)
Exemplo (XHTML + CSS)Exemplo (XHTML + CSS)
➢ Ações executadas no servidor e renderizadasAções executadas no servidor e renderizadas
para o cliente.para o cliente.
➢ ...
➢ Criada por Rasmus Lerdof em 1994Criada por Rasmus Lerdof em 1994
➢ Linguagem interpretada e livreLinguagem interpretada ...
➢ Wikipedia (MediaWiki)Wikipedia (MediaWiki)
➢ JoomlaJoomla
➢ DrupalDrupal
➢ WordPressWordPress
➢ MoodleMoodle
Desenvolvim...
➢ PythonPython
➢ RubyRuby
➢ JSP (Java Server Pages)JSP (Java Server Pages)
Outras linguagens Server-sideOutras linguagens ...
➢ Ambiente de desenvolvimento open source paraAmbiente de desenvolvimento open source para
a construção de programas de co...
EclipseEclipse
EclipseEclipse
EclipseEclipse
➢ Software open source baseado no Eclipse queSoftware open source baseado no Eclipse que
suporta CSS, XHTML, Javascript e ...
Aptana StudioAptana Studio
Aptana StudioAptana Studio
Recurso auto-completar do assistente de códigos.
Aptana StudioAptana Studio
Aptana StudioAptana Studio
Aptana StudioAptana Studio
Aptana StudioAptana Studio
Aptana StudioAptana Studio
GEditGEdit
➢ Desenvolvido pela Sun Microsystems (compradaDesenvolvido pela Sun Microsystems (comprada
recentemente pela Oracle).recen...
NetbeansNetbeans
NetbeansNetbeans
NetbeansNetbeans
NetbeansNetbeans
NetbeansNetbeans
➢ Toda grande aplicação precisará de um banco deToda grande aplicação precisará de um banco de
dados.dados.
Não se pode es...
LAMP = Linux + Apache + MySQL + PHPLAMP = Linux + Apache + MySQL + PHP
➢ Software projetado para simplificar a publicação deSoftware projetado para simplificar a publicação de
conteúdos em site...
Gerenciadores de Conteúdo (CMS)Gerenciadores de Conteúdo (CMS)
Gerenciadores de Conteúdo (CMS)Gerenciadores de Conteúdo (CMS)
FrameworksFrameworks
➢ Conjuntos de classes que colaboram para realizarConjuntos de classes que colaboram para realizar
as...
FrameworksFrameworks
FrameworksFrameworks
FrameworksFrameworks
➢ Existem ferramentas open source profissionais paraExistem ferramentas open source profissionais para
trabalhar com desig...
Organização
Patrocinadores
Apoio
Parceiro
Agencia Oficial
Obrigado!!!Obrigado!!!
Contatos:Contatos:
@givanaldo@givanaldo
givanaldo@gmail.comgivanaldo@gmail.com
Palestra disponível ...
Upcoming SlideShare
Loading in...5
×

Desenvolvimento Web com Software Livre

1,448

Published on

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

Published in: Technology
1 Comment
2 Likes
Statistics
Notes
  • Ótima apresentação sobre software livre e principalmente as ferramentas de desenvolvimento.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
1,448
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
30
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "Desenvolvimento Web com Software Livre"

  1. 1. Desenvolvimento WebDesenvolvimento Web com Software Livrecom Software Livre Givanaldo RochaGivanaldo Rocha Semana de Ciência e Tecnologia – IFRN Zona Norte
  2. 2. Quem sou eu...Quem sou eu... Givanaldo RochaGivanaldo Rocha Professor e Coordenador dos Cursos da Área deProfessor 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 doMembro do Projeto Software Livre do Rio Grande do Norte (PSL-RN) desde sua criação (2004).Norte (PSL-RN) desde sua criação (2004).
  3. 3. ➢ 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?
  4. 4. ➢ 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 umdoze 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?
  5. 5. ➢ 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 comoWeb 2.0 – a Internet como plataformaplataforma Sim, certo. E daí? Mas onde entra a Web?Sim, certo. E daí? Mas onde entra a Web?
  6. 6. 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 dadefinindo o futuro da computaçãocomputação e dae da comunicação humanacomunicação humana..
  7. 7. ➢ Servidor WebServidor Web Apache HTTP Server, IBM HTTP Server, Oracle HTTPApache HTTP Server, IBM HTTP Server, Oracle HTTP Server, Internet Information Services (IIS), Sun JavaServer, Internet Information Services (IIS), Sun Java System Web Server, …System Web Server, … ➢ SGBDSGBD MySQL, PostgreSQL, Firebird, Oracle, SQL Server,MySQL, PostgreSQL, Firebird, Oracle, SQL Server, HSQLDB, DB2 ...HSQLDB, DB2 ... ➢ Linguagem de ProgramaçãoLinguagem de Programação Server-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?
  8. 8. Arquitetura resumidaArquitetura resumida Servidor Web Clientes BancoBanco dede DadosDados
  9. 9. ➢ 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
  10. 10. As ferramentasAs ferramentas Por que usar Software Livre?
  11. 11. 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
  12. 12. 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.
  13. 13. Por que usar Software Livre?Por que usar Software Livre? • Banco do Brasil
  14. 14. 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).
  15. 15. 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.
  16. 16. ➢ Distribuições LinuxDistribuições Linux Ubuntu, Debian, Slackware, Red Hat, ...Ubuntu, Debian, Slackware, Red Hat, ... ➢ Linguagens de programaçãoLinguagens de programação PHP, Java, Ruby, Python, ...PHP, Java, Ruby, Python, ... ➢ IDEIDE Aptana Studio, Eclipse, Geany, Netbeans, ...Aptana Studio, Eclipse, Geany, Netbeans, ... ➢ Editor de textoEditor de texto GEdit, Kate, vi, vim, ...GEdit, Kate, vi, vim, ... Seguindo a linha “Software Livre”Seguindo a linha “Software Livre”
  17. 17. ➢ 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
  18. 18. Servidor Web – Apache HTTP ServerServidor Web – Apache HTTP Server http://greatstatistics.com
  19. 19. Linguagens de ProgramaçãoLinguagens de Programação http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
  20. 20. Linguagens de ProgramaçãoLinguagens de Programação http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
  21. 21. Desenvolvimento Client-side (camadas)Desenvolvimento Client-side (camadas) Comportamento Apresentação Conteúdo
  22. 22. Javascript CSS XHTML Desenvolvimento Client-side (camadas)Desenvolvimento Client-side (camadas) * Recomendações do W3C
  23. 23. ➢ Fundado por Tim Berners-Lee em 1994 paraFundado 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 300Consórcio internacional com cerca de 300 membros, que agrega empresas, órgãosmembros, que agrega empresas, órgãos governamentais e organizações independentes.governamentais e organizações independentes. ➢ Visa desenvolver padrões para a criação e aVisa 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
  24. 24. http://www.w3.orghttp://www.w3.org
  25. 25. ➢ Extensible Hypertext Markup LanguageExtensible Hypertext Markup Language ➢ Linguagem de marcação (tags)Linguagem de marcação (tags) ➢ Expressar oExpressar o conteúdoconteúdo da página webda página web XHTMLXHTML
  26. 26. ➢ 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
  27. 27. ➢ Criada pela Netscape em 1995Criada pela Netscape em 1995 ➢ Validação de formulários, capturar ações doValidação de formulários, capturar ações do usuário (eventos)usuário (eventos) ➢ AJAX (AJAX (AsynchronousAsynchronous Javascript and XML)Javascript and XML) JavascriptJavascript
  28. 28. Exemplo (XHTML)Exemplo (XHTML)
  29. 29. Exemplo (XHTML + CSS)Exemplo (XHTML + CSS)
  30. 30. Exemplo (XHTML + CSS)Exemplo (XHTML + CSS)
  31. 31. ➢ Ações executadas no servidor e renderizadasAçõ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 tenhaO 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 aQualquer 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
  32. 32. ➢ 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
  33. 33. ➢ Wikipedia (MediaWiki)Wikipedia (MediaWiki) ➢ JoomlaJoomla ➢ DrupalDrupal ➢ WordPressWordPress ➢ MoodleMoodle Desenvolvimento Server-side – PHPDesenvolvimento Server-side – PHP
  34. 34. ➢ PythonPython ➢ RubyRuby ➢ JSP (Java Server Pages)JSP (Java Server Pages) Outras linguagens Server-sideOutras linguagens Server-side
  35. 35. ➢ Ambiente de desenvolvimento open source paraAmbiente 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 aCriado 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
  36. 36. EclipseEclipse
  37. 37. EclipseEclipse
  38. 38. EclipseEclipse
  39. 39. ➢ Software open source baseado no Eclipse queSoftware 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
  40. 40. Aptana StudioAptana Studio
  41. 41. Aptana StudioAptana Studio Recurso auto-completar do assistente de códigos.
  42. 42. Aptana StudioAptana Studio
  43. 43. Aptana StudioAptana Studio
  44. 44. Aptana StudioAptana Studio
  45. 45. Aptana StudioAptana Studio
  46. 46. Aptana StudioAptana Studio
  47. 47. GEditGEdit
  48. 48. ➢ Desenvolvido pela Sun Microsystems (compradaDesenvolvido pela Sun Microsystems (comprada recentemente pela Oracle).recentemente pela Oracle). ➢ Multiplataforma: Windows, Linux, Solaris eMultiplataforma: Windows, Linux, Solaris e MacOSMacOS ➢ Desenvolvimento de aplicativos Desktop, Web eDesenvolvimento 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
  49. 49. NetbeansNetbeans
  50. 50. NetbeansNetbeans
  51. 51. NetbeansNetbeans
  52. 52. NetbeansNetbeans
  53. 53. NetbeansNetbeans
  54. 54. ➢ Toda grande aplicação precisará de um banco deToda 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
  55. 55. LAMP = Linux + Apache + MySQL + PHPLAMP = Linux + Apache + MySQL + PHP
  56. 56. ➢ Software projetado para simplificar a publicação deSoftware projetado para simplificar a publicação de conteúdos em sites.conteúdos em sites. ➢ Permitem que os usuários criem seus conteúdosPermitem que os usuários criem seus conteúdos sem a necessidade de saber XHTML, ou fazersem a necessidade de saber XHTML, ou fazer uploads.uploads. Gerenciadores de Conteúdo (CMS)Gerenciadores de Conteúdo (CMS)
  57. 57. Gerenciadores de Conteúdo (CMS)Gerenciadores de Conteúdo (CMS)
  58. 58. Gerenciadores de Conteúdo (CMS)Gerenciadores de Conteúdo (CMS)
  59. 59. FrameworksFrameworks ➢ Conjuntos de classes que colaboram para realizarConjuntos 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 seremTrazem códigos prontos e testados para serem usados em uma aplicação, diminuindo o tempo deusados em uma aplicação, diminuindo o tempo de desenvolvimento.desenvolvimento.
  60. 60. FrameworksFrameworks
  61. 61. FrameworksFrameworks
  62. 62. FrameworksFrameworks
  63. 63. ➢ Existem ferramentas open source profissionais paraExistem 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 GIMP Blender Inkscape
  64. 64. Organização Patrocinadores Apoio Parceiro Agencia Oficial
  65. 65. Obrigado!!!Obrigado!!! Contatos:Contatos: @givanaldo@givanaldo givanaldo@gmail.comgivanaldo@gmail.com Palestra disponível em:Palestra disponível em: http://www.slideshare.net/givanaldohttp://www.slideshare.net/givanaldo
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×