SlideShare ist ein Scribd-Unternehmen logo
1 von 65
Downloaden Sie, um offline zu lesen
Desenvolvimento WebDesenvolvimento Web
com Software Livrecom Software Livre
Givanaldo RochaGivanaldo Rocha
Semana de Ciência e Tecnologia – IFRN Zona Norte
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).
➢ 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?
➢ 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?
➢ 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?
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..
➢ 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?
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 Proprietário?
➢ IDE ou um simples editor?IDE ou um simples editor?
As ferramentasAs ferramentas
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 para inúmeros fins
• Redistribuir
• Combater a pirataria
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.
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 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).
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.
➢ 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”
➢ 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
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.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
http://www.w3.orghttp://www.w3.org
➢ 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
➢ 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
➢ 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
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.
➢ 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
➢ 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
➢ Wikipedia (MediaWiki)Wikipedia (MediaWiki)
➢ JoomlaJoomla
➢ DrupalDrupal
➢ WordPressWordPress
➢ MoodleMoodle
Desenvolvimento Server-side – PHPDesenvolvimento Server-side – PHP
➢ PythonPython
➢ RubyRuby
➢ JSP (Java Server Pages)JSP (Java Server Pages)
Outras linguagens Server-sideOutras linguagens Server-side
➢ 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
EclipseEclipse
EclipseEclipse
EclipseEclipse
➢ 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
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).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
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 esquecer dos Bancos de DadosNão se pode esquecer dos Bancos de Dados
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 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)
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 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.
FrameworksFrameworks
FrameworksFrameworks
FrameworksFrameworks
➢ 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
Organização
Patrocinadores
Apoio
Parceiro
Agencia Oficial
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

Weitere ähnliche Inhalte

Was ist angesagt?

Turbinando seu workflow com cakePHP
Turbinando seu workflow com cakePHPTurbinando seu workflow com cakePHP
Turbinando seu workflow com cakePHPTiago Matos
 
JavaFX - Uma visão Geral
JavaFX - Uma visão GeralJavaFX - Uma visão Geral
JavaFX - Uma visão GeralEder Nogueira
 
JavaFX: A nova biblioteca gráfica da plataforma Java
JavaFX: A nova biblioteca gráfica da plataforma JavaJavaFX: A nova biblioteca gráfica da plataforma Java
JavaFX: A nova biblioteca gráfica da plataforma JavajesuinoPower
 
O ecossistema e o estado atual do php - o presente, o passado e o futuro da ...
O ecossistema e o estado atual do php  - o presente, o passado e o futuro da ...O ecossistema e o estado atual do php  - o presente, o passado e o futuro da ...
O ecossistema e o estado atual do php - o presente, o passado e o futuro da ...Rodrigo Wanderley de Melo Cardoso
 
Python e Django na Globo.com
Python e Django na Globo.comPython e Django na Globo.com
Python e Django na Globo.comricobl
 
PHP e o Desenvolvimento Mobile Web - PHPhederal
PHP e o Desenvolvimento Mobile Web - PHPhederalPHP e o Desenvolvimento Mobile Web - PHPhederal
PHP e o Desenvolvimento Mobile Web - PHPhederalBruno Fernandes "PorKaria"
 
APIs do Jeito Certo
APIs do Jeito CertoAPIs do Jeito Certo
APIs do Jeito CertoRavan Scafi
 
Desenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User Interface
Desenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User InterfaceDesenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User Interface
Desenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User InterfaceDomingos Teruel
 

Was ist angesagt? (10)

Turbinando seu workflow com cakePHP
Turbinando seu workflow com cakePHPTurbinando seu workflow com cakePHP
Turbinando seu workflow com cakePHP
 
JavaFX - Uma visão Geral
JavaFX - Uma visão GeralJavaFX - Uma visão Geral
JavaFX - Uma visão Geral
 
Palestra Zabbix, EveryZ e Além - FGSL 2017
Palestra Zabbix, EveryZ e Além - FGSL 2017Palestra Zabbix, EveryZ e Além - FGSL 2017
Palestra Zabbix, EveryZ e Além - FGSL 2017
 
JavaFX: A nova biblioteca gráfica da plataforma Java
JavaFX: A nova biblioteca gráfica da plataforma JavaJavaFX: A nova biblioteca gráfica da plataforma Java
JavaFX: A nova biblioteca gráfica da plataforma Java
 
Desenvolvimento Mobile Web usando PHP
Desenvolvimento Mobile Web usando PHPDesenvolvimento Mobile Web usando PHP
Desenvolvimento Mobile Web usando PHP
 
O ecossistema e o estado atual do php - o presente, o passado e o futuro da ...
O ecossistema e o estado atual do php  - o presente, o passado e o futuro da ...O ecossistema e o estado atual do php  - o presente, o passado e o futuro da ...
O ecossistema e o estado atual do php - o presente, o passado e o futuro da ...
 
Python e Django na Globo.com
Python e Django na Globo.comPython e Django na Globo.com
Python e Django na Globo.com
 
PHP e o Desenvolvimento Mobile Web - PHPhederal
PHP e o Desenvolvimento Mobile Web - PHPhederalPHP e o Desenvolvimento Mobile Web - PHPhederal
PHP e o Desenvolvimento Mobile Web - PHPhederal
 
APIs do Jeito Certo
APIs do Jeito CertoAPIs do Jeito Certo
APIs do Jeito Certo
 
Desenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User Interface
Desenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User InterfaceDesenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User Interface
Desenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User Interface
 

Andere mochten auch

Arquitetura Web Desacoplada - FCI/Mackenzie
Arquitetura Web Desacoplada - FCI/MackenzieArquitetura Web Desacoplada - FCI/Mackenzie
Arquitetura Web Desacoplada - FCI/MackenzieVivaldo Jose Breternitz
 
planejamento pre-instalacao win server 2012
 planejamento pre-instalacao win server 2012 planejamento pre-instalacao win server 2012
planejamento pre-instalacao win server 2012Yan Ferrari Ferreira
 
Apache traffic server uma alternativa ao squid para web caches - fisl 14
Apache traffic server  uma alternativa ao squid para web caches - fisl 14Apache traffic server  uma alternativa ao squid para web caches - fisl 14
Apache traffic server uma alternativa ao squid para web caches - fisl 14Heitor Ganzeli
 
Seis passos para colocar um projeto local em um servidor próprio
Seis passos para colocar um projeto local em um servidor próprioSeis passos para colocar um projeto local em um servidor próprio
Seis passos para colocar um projeto local em um servidor próprioMarcos Antônio de Souza Silva
 
Aula 03 asp.net com fk - grid view - excluir e alterar
Aula 03   asp.net com fk - grid view - excluir e alterarAula 03   asp.net com fk - grid view - excluir e alterar
Aula 03 asp.net com fk - grid view - excluir e alterarGabriel Bugano
 
Implementação de Servidor Linux Ubuntu Server
Implementação de Servidor Linux Ubuntu ServerImplementação de Servidor Linux Ubuntu Server
Implementação de Servidor Linux Ubuntu ServerTiago Bezerra Dos Santos
 
Tomcat e Aplicações Web
Tomcat e Aplicações WebTomcat e Aplicações Web
Tomcat e Aplicações Webelliando dias
 
Introdução à Arquitetura Web
Introdução à Arquitetura WebIntrodução à Arquitetura Web
Introdução à Arquitetura WebBreno Vitorino
 
Tomcat configuration
Tomcat configurationTomcat configuration
Tomcat configurationDima Gomaa
 
APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...
APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...
APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...Adilmar Dantas
 
Apresentação servidores de aplicação
Apresentação   servidores de aplicaçãoApresentação   servidores de aplicação
Apresentação servidores de aplicaçãoHelen Picoli
 
Sistemas Distribuídos baseados na Web
Sistemas Distribuídos baseados na WebSistemas Distribuídos baseados na Web
Sistemas Distribuídos baseados na WebRafael Chagas
 
Arquitetura web para sistemas de negócio
Arquitetura web para sistemas de negócioArquitetura web para sistemas de negócio
Arquitetura web para sistemas de negócioRalph Rassweiler
 
Instalação Servidor LAMP - Ubuntu serve
Instalação Servidor LAMP - Ubuntu serveInstalação Servidor LAMP - Ubuntu serve
Instalação Servidor LAMP - Ubuntu serveDiogo Jhony
 
Aula 01 web server controls
Aula 01   web server controlsAula 01   web server controls
Aula 01 web server controlsGabriel Bugano
 

Andere mochten auch (20)

Arquitetura Web Desacoplada - FCI/Mackenzie
Arquitetura Web Desacoplada - FCI/MackenzieArquitetura Web Desacoplada - FCI/Mackenzie
Arquitetura Web Desacoplada - FCI/Mackenzie
 
planejamento pre-instalacao win server 2012
 planejamento pre-instalacao win server 2012 planejamento pre-instalacao win server 2012
planejamento pre-instalacao win server 2012
 
Apache traffic server uma alternativa ao squid para web caches - fisl 14
Apache traffic server  uma alternativa ao squid para web caches - fisl 14Apache traffic server  uma alternativa ao squid para web caches - fisl 14
Apache traffic server uma alternativa ao squid para web caches - fisl 14
 
Seis passos para colocar um projeto local em um servidor próprio
Seis passos para colocar um projeto local em um servidor próprioSeis passos para colocar um projeto local em um servidor próprio
Seis passos para colocar um projeto local em um servidor próprio
 
Aula 03 asp.net com fk - grid view - excluir e alterar
Aula 03   asp.net com fk - grid view - excluir e alterarAula 03   asp.net com fk - grid view - excluir e alterar
Aula 03 asp.net com fk - grid view - excluir e alterar
 
Como Instalar o Joomla no micro
Como Instalar o Joomla no microComo Instalar o Joomla no micro
Como Instalar o Joomla no micro
 
Arquitetura de sistemas web
Arquitetura de sistemas webArquitetura de sistemas web
Arquitetura de sistemas web
 
Implementação de Servidor Linux Ubuntu Server
Implementação de Servidor Linux Ubuntu ServerImplementação de Servidor Linux Ubuntu Server
Implementação de Servidor Linux Ubuntu Server
 
Tomcat e Aplicações Web
Tomcat e Aplicações WebTomcat e Aplicações Web
Tomcat e Aplicações Web
 
Introdução à Arquitetura Web
Introdução à Arquitetura WebIntrodução à Arquitetura Web
Introdução à Arquitetura Web
 
Tomcat server
 Tomcat server Tomcat server
Tomcat server
 
Tomcat configuration
Tomcat configurationTomcat configuration
Tomcat configuration
 
Fundamentos de arquitetura Web
Fundamentos de arquitetura WebFundamentos de arquitetura Web
Fundamentos de arquitetura Web
 
APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...
APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...
APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...
 
Apresentação servidores de aplicação
Apresentação   servidores de aplicaçãoApresentação   servidores de aplicação
Apresentação servidores de aplicação
 
Sistemas Distribuídos baseados na Web
Sistemas Distribuídos baseados na WebSistemas Distribuídos baseados na Web
Sistemas Distribuídos baseados na Web
 
Arquitetura web para sistemas de negócio
Arquitetura web para sistemas de negócioArquitetura web para sistemas de negócio
Arquitetura web para sistemas de negócio
 
Instalação Servidor LAMP - Ubuntu serve
Instalação Servidor LAMP - Ubuntu serveInstalação Servidor LAMP - Ubuntu serve
Instalação Servidor LAMP - Ubuntu serve
 
Servidores Web
Servidores WebServidores Web
Servidores Web
 
Aula 01 web server controls
Aula 01   web server controlsAula 01   web server controls
Aula 01 web server controls
 

Ähnlich wie Desenvolvimento Web com Software Livre

Desenvolvimento Web Com Software Livre
Desenvolvimento Web Com Software LivreDesenvolvimento Web Com Software Livre
Desenvolvimento Web Com Software LivreGivanaldo Rocha
 
Ferramentas Livres para Desenvolvimento Web
Ferramentas Livres para Desenvolvimento WebFerramentas Livres para Desenvolvimento Web
Ferramentas Livres para Desenvolvimento Webigorpimentel
 
Linguagens de Programação para Ficar de Olho em 2019 - DevRocks
Linguagens de Programação para Ficar de Olho em 2019 - DevRocksLinguagens de Programação para Ficar de Olho em 2019 - DevRocks
Linguagens de Programação para Ficar de Olho em 2019 - DevRocksRodrigo Wanderley de Melo Cardoso
 
Quercus - Running PHP over Java
Quercus - Running PHP over Java Quercus - Running PHP over Java
Quercus - Running PHP over Java Jeff Prestes
 
Desenvolvendo Aplicações Livres em Java - João Avelino Bellomo Filho
Desenvolvendo Aplicações Livres em Java - João Avelino Bellomo FilhoDesenvolvendo Aplicações Livres em Java - João Avelino Bellomo Filho
Desenvolvendo Aplicações Livres em Java - João Avelino Bellomo FilhoTchelinux
 
Python Com Baterias Incluídas
Python Com Baterias IncluídasPython Com Baterias Incluídas
Python Com Baterias IncluídasJonh Edson
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento WebSérgio Souza Costa
 
O que move a web atualmente?
O que move a web atualmente?O que move a web atualmente?
O que move a web atualmente?Fabio Janiszevski
 
Lightning Talk: Webdev who?
Lightning Talk: Webdev who?Lightning Talk: Webdev who?
Lightning Talk: Webdev who?Leandro Nunes
 
JavaServer Faces - Desenvolvendo aplicações web com produtividade
JavaServer Faces - Desenvolvendo aplicações web com produtividadeJavaServer Faces - Desenvolvendo aplicações web com produtividade
JavaServer Faces - Desenvolvendo aplicações web com produtividadeRafael Ponte
 
Desenvolvimento Web Avançado usando PHP
Desenvolvimento Web Avançado usando PHPDesenvolvimento Web Avançado usando PHP
Desenvolvimento Web Avançado usando PHPelliando dias
 
Node.JS - Campus Party Brasil 2011
Node.JS - Campus Party Brasil 2011Node.JS - Campus Party Brasil 2011
Node.JS - Campus Party Brasil 2011Emerson Macedo
 
ArduinoDay 2015 - OpenDevice
ArduinoDay 2015 -  OpenDeviceArduinoDay 2015 -  OpenDevice
ArduinoDay 2015 - OpenDeviceRicardo Rufino
 
Apache PHP MySQL
Apache  PHP  MySQLApache  PHP  MySQL
Apache PHP MySQLkisb1337
 

Ähnlich wie Desenvolvimento Web com Software Livre (20)

Desenvolvimento Web Com Software Livre
Desenvolvimento Web Com Software LivreDesenvolvimento Web Com Software Livre
Desenvolvimento Web Com Software Livre
 
Páginas dinâmicas
Páginas dinâmicasPáginas dinâmicas
Páginas dinâmicas
 
Seminário: PHP
Seminário: PHPSeminário: PHP
Seminário: PHP
 
Ferramentas Livres para Desenvolvimento Web
Ferramentas Livres para Desenvolvimento WebFerramentas Livres para Desenvolvimento Web
Ferramentas Livres para Desenvolvimento Web
 
Linguagens de Programação para Ficar de Olho em 2019 - DevRocks
Linguagens de Programação para Ficar de Olho em 2019 - DevRocksLinguagens de Programação para Ficar de Olho em 2019 - DevRocks
Linguagens de Programação para Ficar de Olho em 2019 - DevRocks
 
Python e suas aplicações
Python e suas aplicaçõesPython e suas aplicações
Python e suas aplicações
 
Py S60
Py S60Py S60
Py S60
 
Quercus - Running PHP over Java
Quercus - Running PHP over Java Quercus - Running PHP over Java
Quercus - Running PHP over Java
 
Desenvolvendo Aplicações Livres em Java - João Avelino Bellomo Filho
Desenvolvendo Aplicações Livres em Java - João Avelino Bellomo FilhoDesenvolvendo Aplicações Livres em Java - João Avelino Bellomo Filho
Desenvolvendo Aplicações Livres em Java - João Avelino Bellomo Filho
 
Python Com Baterias Incluídas
Python Com Baterias IncluídasPython Com Baterias Incluídas
Python Com Baterias Incluídas
 
Mini Curso Mashup Coreu
Mini Curso Mashup CoreuMini Curso Mashup Coreu
Mini Curso Mashup Coreu
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
 
O que move a web atualmente?
O que move a web atualmente?O que move a web atualmente?
O que move a web atualmente?
 
Lightning Talk: Webdev who?
Lightning Talk: Webdev who?Lightning Talk: Webdev who?
Lightning Talk: Webdev who?
 
JavaServer Faces - Desenvolvendo aplicações web com produtividade
JavaServer Faces - Desenvolvendo aplicações web com produtividadeJavaServer Faces - Desenvolvendo aplicações web com produtividade
JavaServer Faces - Desenvolvendo aplicações web com produtividade
 
Desenvolvimento Web Avançado usando PHP
Desenvolvimento Web Avançado usando PHPDesenvolvimento Web Avançado usando PHP
Desenvolvimento Web Avançado usando PHP
 
Web open source
Web open sourceWeb open source
Web open source
 
Node.JS - Campus Party Brasil 2011
Node.JS - Campus Party Brasil 2011Node.JS - Campus Party Brasil 2011
Node.JS - Campus Party Brasil 2011
 
ArduinoDay 2015 - OpenDevice
ArduinoDay 2015 -  OpenDeviceArduinoDay 2015 -  OpenDevice
ArduinoDay 2015 - OpenDevice
 
Apache PHP MySQL
Apache  PHP  MySQLApache  PHP  MySQL
Apache PHP MySQL
 

Desenvolvimento Web com Software Livre

  • 1. Desenvolvimento WebDesenvolvimento Web com Software Livrecom Software Livre Givanaldo RochaGivanaldo Rocha Semana de Ciência e Tecnologia – IFRN Zona Norte
  • 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. ➢ 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. ➢ 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. ➢ 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. 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. ➢ 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. Arquitetura resumidaArquitetura resumida Servidor Web Clientes BancoBanco dede DadosDados
  • 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. As ferramentasAs ferramentas Por que usar Software Livre?
  • 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. 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. Por que usar Software Livre?Por que usar Software Livre? • Banco do Brasil
  • 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. 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. ➢ 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. ➢ 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. Servidor Web – Apache HTTP ServerServidor Web – Apache HTTP Server http://greatstatistics.com
  • 19. Linguagens de ProgramaçãoLinguagens de Programação http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
  • 20. Linguagens de ProgramaçãoLinguagens de Programação http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
  • 21. Desenvolvimento Client-side (camadas)Desenvolvimento Client-side (camadas) Comportamento Apresentação Conteúdo
  • 22. Javascript CSS XHTML Desenvolvimento Client-side (camadas)Desenvolvimento Client-side (camadas) * Recomendações do W3C
  • 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
  • 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. ➢ 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. ➢ 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
  • 29. Exemplo (XHTML + CSS)Exemplo (XHTML + CSS)
  • 30. Exemplo (XHTML + CSS)Exemplo (XHTML + CSS)
  • 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. ➢ 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. ➢ Wikipedia (MediaWiki)Wikipedia (MediaWiki) ➢ JoomlaJoomla ➢ DrupalDrupal ➢ WordPressWordPress ➢ MoodleMoodle Desenvolvimento Server-side – PHPDesenvolvimento Server-side – PHP
  • 34. ➢ PythonPython ➢ RubyRuby ➢ JSP (Java Server Pages)JSP (Java Server Pages) Outras linguagens Server-sideOutras linguagens Server-side
  • 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
  • 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
  • 41. Aptana StudioAptana Studio Recurso auto-completar do assistente de códigos.
  • 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
  • 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. LAMP = Linux + Apache + MySQL + PHPLAMP = Linux + Apache + MySQL + PHP
  • 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. Gerenciadores de Conteúdo (CMS)Gerenciadores de Conteúdo (CMS)
  • 58. Gerenciadores de Conteúdo (CMS)Gerenciadores de Conteúdo (CMS)
  • 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.
  • 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
  • 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