Visite também: Br-Linux ·  VivaOLinux ·  LinuxSecurity ·  Dicas-L ·  NoticiasLinux ·  SoftwareLivre.org ·  [mais]
Voltar   Under-Linux.org Fóruns > UnderLinux Wiki
Wiki Classificados Galeria Reviews Jogos Comunidades RSS Feeds FAQ Termos de Uso Sobre
Cadastre-se Blogs Lista de Membros Calendário Pesquisar Mensagens de Hoje Marcar Fóruns Como Lidos

Ferramentas pessoais
Publicidade

From UnderLinux Wiki

Desenvolvimento web no Linux

Tabela de conteúdo

Introdução

Há pessoas que dizem que não há boas ferramentas para desenvolvimento web no Linux. Resolvi escrever esse artigo para esclarecer que as coisas não são bem assim. Sei também que tem diversos artigos idênticos mas a maioria incompletos.

Estarei aqui esclarecendo as ferramentas que uso ou usei. Apresentarei os prós e contras mas não entrarei em detalhes como instalação e configuração

Linguagens de programação

Aqui entraremos na questão da linguagem escolhida. Está certo que isso é gosto pessoal mas hoje essas são as principais para web.

HTML/DHTML/XHTML

Isso é web propriamente dito. É esse o código que os browsers entendem. Não é uma linguagem de programação propriamente dita mas é com ela que é apresentada o conteúdo.

Um ponto importantíssimo no desenvolvimento é a utilização dos padrões da W3C. Utilizando esses padrões é muito mais fácil que sua página se comporte da mesma forma nos diferentes browsers.

PHP

Sem dúvida a linguagem mais utilizada para desenvolvimento web no mundo. É interpretada assim como a HTML mas é executada no servidor e enviada para o cliente apenas o código HTML gerado. Essa característica é fundamental para questão de segurança dessa linguagem.

A documentação para esta linguagem é vasta. São milhares de tutoriais e apostilas sobre ela mas no geral apenas a documentação oficial é necessária. No site oficial você encontrará a descrição, uso e exemplos de todas as funções dessa linguagem. Muita coisa dessa documentação já foi traduzida para o português

Site Oficial: http://www.php.net/

JavaScript

JavaScript é uma linguagem de programação criada pela Netscape em 1995, que a princípio se chamava LiveScript, para atender, principalmente, as seguintes necessidades:

  • Validação de formulários no lado cliente (programa navegador);
  • Interação com a página. Assim, foi feita como uma linguagem de script. Javascript tem sintaxe semelhante a do Java, mas é totalmente diferente no conceito e no uso.
  1. Oferece tipagem dinâmica - tipos de variáveis não são definidos;
  2. É interpretada, ao invés de compilada;
  3. Possui ótimas ferramentas padrão para listagens (como as linguagens de script, de modo geral);
  4. Oferece bom suporte a expressões regulares (característica também comum a linguagens de script).

Sua união com o CSS é conhecida como DHTML. Usando o Javascript, é possível modificar dinamicamente os estilos dos elementos da página em HTML.

A documentação dessa linguagem é bem vasta mas seu uso deve ser controlado pois costuma-se haver diferença na interpretação pelos diversos browsers.

CSS

Cascading Style Sheets, ou simplesmente CSS, é uma linguagem de estilo utilizada para definir a apresentação de documentos escritos em uma linguagem de marcação, como HTML ou XML. Seu principal benefício é prover a separação entre o formato e o conteúdo de um documento.

Ao invés de colocar a formatação dentro do documento, o desenvolvedor cria um link (ligação) para uma página que contém os estilos, procedendo de forma idêntica para todas as páginas de um portal. Quando quiser alterar a aparência do portal basta portanto modificar apenas um arquivo.

Com a variação de atualizações dos navegadores (browsers) como Internet Explorer que ficou sem nova versão de 2001 a 2006, o suporte ao CSS pode variar. O Internet Explorer 6, por exemplo, tem suporte total a CSS1 e praticamente nulo a CSS2. Navegadores mais modernos como Opera, Internet Explorer 7 e Mozilla Firefox tem suporte maior, inclusive até a CSS 3, ainda em desenvolvimento.

A documentação dessa linguagem é bem vasta mas no geral eu uso apenas o site Maujour que é bem completo.

Java

Java é mais do que uma linguagem de programação, é uma plataforma de desenvolvimento que conta com inúmeras tecnologias, como os Servlets e as páginas JSP.

Páginas jsp não geram HTML. Elas são executadas nos browsers através da máquina virtual java. Todo o sistema é executado no servidor e o cliente recebe apenas as respostas.

Ela permite que páginas web incrustem pequenos programas (chamados applets) diretamente dentro da informação enviada que será rodada no computador do usuário. Esses applets são executados na própria máquina cliente, fornecendo uma experiência de usuário mais rica para o usuário

É uma linguagem considerada bastante segura, tanto que é a mais utilizada em sites de bancos e grandes corporações.

Site oficial: Java.Sun.com

XML

XML é uma recomendação da W3C para gerar linguagens de marcação para necessidades especiais. É um subtipo de SGML capaz de descrever diversos tipos de dados. Seu propósito principal é a facilidade de compartilhamento de informações através da Internet.

O principio do projeto era criar uma linguagem que pudesse ser lida por software, e integrar-se com as demais linguagens. Sua filosofia seria incorporada por vários princípios importantes:

  • Separação do conteúdo da formatação
  • Simplicidade e Legibilidade, tanto para humanos quanto para computadores
  • Possibilidade de criação de tags sem limitação
  • Criação de arquivos para validação de estrutura (Chamados DTDs)
  • Interligação de bancos de dados distintos
  • Concentração na estrutura da informação, e não na sua aparência

O XML é considerado um bom formato para a criação de documentos com dados organizados de forma hierárquica, como se vê frequentemente em documentos de texto formatados, imagens vetoriais ou bancos de dados.

Ajax

AJAX é o uso sistemático de tecnologias providas por navegadores, como Javascript e XML, para tornar páginas mais interativas com o usuário, utilizando-se de solicitações assíncronas de informações. AJAX não é somente um novo modelo, é também uma iniciativa na construção de aplicações web mais dinâmicas e criativas. AJAX não é uma tecnologia, são realmente várias tecnologias trabalhando juntas, cada uma fazendo sua parte, oferecendo novas funcionalidades. AJAX incorpora em seu modelo.:

  • Apresentação baseada em padrões, usando XHTML e CSS;
  • Exposição e interação dinâmica usando o DOM;
  • Intercâmbio e manipulação de dados usando XML e XSLT;
  • Recuperação assíncrona de dados usando o objeto XMLHttpRequest;
  • e JavaScript unindo todas elas em conjunto.

A maior vantagem das aplicações AJAX é que elas rodam no próprio navegador web. Então, para estar hábil a executar aplicações AJAX, bastar possuir algum dos navegadores modernos

CGI

CGI consiste numa importante tecnologia que permite gerar páginas dinâmicas, permitindo a um navegador passar parâmetros para um programa alojado num servidor web. Assim, designam-se por scripts CGI os pequenos programas que interpretam esses parâmetros e geram a página depois de os processar.

Embora a linguagem tipicamente associada aos CGI seja o PERL, o CGI foi concebido por forma a ser independente da linguagem utilizada. Actualmente tecnologias como ASP.NET ou PHP continuam a utilizar a especificação.

ASP

Primeiro de tudo não me condenem. Sei que não é uma linguagem para Linux mas ainda é muito utilizada na web. Não explanarei a frente sobre ferramentas para ela mas aqui darei uma pequena abordagem do que é a linguagem e para que se destina.

O ASP é uma estrutura de programação em Script que se utiliza de VBScript, JScript, PerlScript ou Python processadas pelo lado servidor para geração de conteúdo dinâmico na Web.

Ele roda nativamente em servidores Windows, através do serviço chamado de IIS ou do PWS em ambientes com Windows 98. Além disso ele pode rodar em outras plataformas, como Linux no servidor Apache quando usando um Módulo de um programa como o Tomcat.

O script é interpretado no lado do servidor e o que é enviado ao lado do usuário é apenas a saída. que normalmente é uma linguagem de marcação como HTML, XHTML ou XML.

Linguagens como o Javascript e o VBScript podem ser processadas pelo navegador do visitante e, neste caso, este precisa ser compatível com a linguagem. Contudo, como o ASP é processado pelo servidor, há independência de navegadores, uma vez que eles só processarão HTML.

Através dessa tecnologia também é possível executar consultas a Banco de Dados, através da biblioteca de componentes ActiveX.

O uso desta tecnologia vem diminuindo sensivelmente pela maturação da tecnologia .NET, sendo gradativamente substituído pelo ASP.NET que proporciona uma gama maior de recursos e um melhor desempenho.

Servidor web

Explanarei aqui um pouco sobre alguns servidores WEBs e alguns módulos. O que eu costumo utilizar é o Apache com módulo PHP.

Apache

Apache server é o mais bem sucedido servidor web livre. Numa pesquisa realizada em dezembro de 2005, foi constatado que a utilização do Apache supera 60% nos servidores ativos no mundo.

É a principal tecnologia da Apache Software Foundation, responsável por mais de uma dezena de projetos envolvendo tecnologias de transmissão via web, processamento de dados e execução de aplicativos distribuídos.

Site oficial: Apache.org

ModPHP

É o módulo necessário para que o servidor web interprete as páginas excritas em PHP e gerem o código HTML que será enviado para o cliente.

TomCat

O Tomcat é um servidor de aplicações Java para web. É distribuído como software livre e desenvolvido como código aberto dentro do conceituado projeto Apache Jakarta.

Tecnicamente o Tomcat é um container Web, cobrindo parte da especificação J2EE com tecnologias como Servlet e JSP, e tecnologias de apoio relacionadas como Realms e segurança, JNDI Resources e JDBC DataSources. O Tomcat tem a capacidade de atuar também como servidor web/HTTP, ou pode funcionar integrado a um servidor web dedicado como o Apache httpd ou o Microsoft IIS.

IIS

Novamente não me matem. Apenas estou explanando sobre este servidor para que possa fazer comparações. Como disse antes. Prefiro o apache para programar em PHP.

O IIS (Internet Information Services) é um servidor web criado pela Microsoft para seus sistemas operacionais para servidores.

Uma de suas características mais utilizadas é a geração de páginas HTML dinâmicas, que diferentemente de outros servidores web, usa tecnologia proprietária, o ASP (Active Server Pages), mas também pode usar outras tecnologias com adição de módulos de terceiros.

Depois do lançamento da plataforma .NET em 2002 o IIS ganhou também a função de gerenciar o ASP.NET. Este é formado basicamente por dois tipos de aplicações:

  • Páginas Web: Tradicionais acessadas por usuários, contém a extensão ASPX
  • Web Services: Funções disponibilizadas pela rede, chamada por aplicativos ASMX
<p style="text-indent: 26px;" align="justify"> O ASP.NET, assim como o seu concorrente direto, o JSP é compilado antes da execução. Esta característica traz vantagens sobre as opções interpretadas, como o ASP e o PHP

Zope

Zope é um acrônimo para "Z Object Publishing Environment" (Ambiente Z para Publicação de Objetos), foi desenvolvido pela Digital Creations Inc., hoje Zope Corporation devido à marca Zope ter superado a marca Digital Creations.

O Zope tem aproximadamente 85% do seu código escrito em Python, onde a aplicação necessitava maior performance o código foi convertido para C++.

Zope é um gerador de página Web dinâmico, que interpreta os fragmentos de códigos Zope e HTML em seus templates e gera uma saída HTML compreensível para qualquer navegador Web. Isso significa dizer que "não existem páginas "estáticas" (arquivos) no Zope. Ele não é um servidor de "arquivos" via Web; todas as páginas em um servidor Zope são geradas dinamicamente (no momento em que o servidor recebe o pedido do browser)"

Como possui seu próprio servidor Web, o ZServer (Zope Server), o Zope dispensa a presença de qualquer outro servidor. Esse servidor mapeia e acessa os objetos passados na URL do navegador através do ORB. Isso implica em que todo objeto, com permissão para tal, pode ser acessado via URL, o que lhe confere uma poderosa estrutura para trabalho na WWW.

Também ocorre que o Zope possui sua própria base de dados, o ZODB (Zope Object Data Base), que é um banco de dados transacional orientado à objetos, podendo também interagir com outros bancos de dados relacionais como Oracle, MySQL, PostGreSQL, etc..

Algumas empresas e órgãos do governo estão migrando suas páginas web para Zope, sobretuto utilizando o Plone como gerenciador de conteúdo.

Site Oficial: Zope.org

Browsers

Estarei aqui explanando sobre os diversos browsers, pois a idéia é que sua página seja apresentada da mesma forma em todos (ou maioria deles).

Internet Explorer

Não me xinguem. Sei que o artigo é sobre desenvolvimetno web em Linux mas não tem como fugir (ainda) do Internet Explorer. Ele ainda é o mais utilizado no mundo então necessitamos testar nele as nossas páginas.

ie4Linux

Este é um projeto que utiliza o wine para emular o Internet explorer dentro do Linux podendo assim você visualizar as suas páginas sem a necessidade de outra máquina com windows para fazer apenas isso.

Um ponto interessante é que o projeto instala 3 diferentes versões do Internet Explorer (5.0, 5.5 e 6.0). No windows isso não é possível a não ser que você tenha 3 máquinas diferentes. Se deseja que sua página seja vista da mesma forma por todos, deverá testa-la nessas 3 versões (a 7 ainda não está disponivel no Linux) pois em cada uma a página se comporta de uma maneira.

Página oficial do projeto: IE4Linux

Um detalhe importante é a necessidade de instalação do wine.

Mozilla Firefox

Hoje sem dúvida é o browser mais utilizado pelos usuários de Linux e tem sua grande parcela nos usuários de Windows também. Não entrarei em detalhes mas é impotantíssimo testar suas páginas neste browser.

Site oficial: Mozilla Brasil

Web-Developer

Este é um plugin que utilizo muito, sobretudo para entender como o meu css está atuando sobre o meu código. Possue também opções para formulários, imagens, ferramentas de validação de código para W3C. Para mim é indispensável.

Instale ele aqui.

HTML Validator

Gosto desse plugin por não ter que acessar a página da W3C para validar meu código HTML. Utilizo este para validar minhas intranet onde o sistema da W3C não consegue acessar. Detalhe é que ainda não encontrei uma ferramenta offline para CSS.

Instale ele aqui.

Firebug

Este plugin eu descobri a alguns dias e ainda estou testando mas já considero útil. Ele faz um dubug do código. Mostra conteúdo de variáveies entre outras coisas. Muito útil.

Instale ele aqui.

Seamonkey

Este é um projeto proveniente do Netscape. É interessante testar nele embora seja pouco utilizado.

Site oficial: Seamonkey

Opera

Opera é um navegador da web desenvolvido pela Opera Software. É conhecido por apresentar constantemente novos recursos, sem influenciar no desempenho e com estes transformando-se em uma verdadeira suite voltada para o mundo online

Uma importante característica é a questão de rodar em diversos sistemas operacionais (Windows, Linux, BSD, Mac, etc) inclusive tendo versões para dispositívos móveis (Celulares, smartfones, etc.)

Site oficial: Opera.com

Konqueror

É o navegador de sistemas de arquivos do KDE mas pode abrir páginas web também. É interessante utilizar este pois tem um sistema de renderização diferente dos demais.

Edição Gráfica (Layout)

Edição gráfica no Linux praticamente não perde para os concorrentes for Windows. Farei uma breve explanação dos 3 sistemas que uso para criar e editar layout

Xara Extreme

É um programa para desenhos vetoriais assim como o Corel Draw. É cheio de recursos e efeitos. Muito bom. Para explicar o poder dessa ferramente só testando mesmo. Estou testando a pouco tempo mas já virou minha primeira escolha.

O aplicativo é compatível com a maioria dos formatos gráficos utilizados para edição de imagens, como GIF, JPEG, BMP, PNG, PDF, AI (Adobe Illustrator) e CDR (CorelDRAW).

Dentre todos os editores gráficos, é considerado o mais fácil para aprender, especialmente para quem já teve alguma experiência com o CorelDRAW. Em versões recentes, o programa preocupou-se em auxiliar web designers por adicionar ferramentas para efeitos como sombras, relevos, e barras de navegação. Também inclui ferramentas para manipular bitmaps.

Site Oficial: Xara Extreme

Inskape

É outro programa para edição de imagens vetoriais. Tenho ele instalado e uso sempre, embora esteja trocando pelo Xara. Vale a pena esperimentar.

Utiliza o formato de arquivos recomendado pela W3C baseado em XML.

Site oficia: Inskape.org

Gimp

O que dizer do gimp? Acho que o que melhor o classifica é "Photoshop para Linux". Ele é bem completo e tem milhares de plugins de efeitos, brushs, filtros, etc. É simplesmente indispensável.

Site oficial: Gimp.org

Editores de Texto puro (com Sintax highlight)

Nenhum editor dessa categoria eu recomendo para trabalhar "pesado". São apenas para edição rápida de arquivo, quando não se houver outras opções. Todavia são interessantes.

vim

Este é um editor de texto em modo texto (Não gráfico). Tem configuração para deixar colorido as funções em diversas linguagens. Acho um editor muito poderoso mas para edição rápida como corrigir pequenos erros vi acesso remoto (SSH).

Kate

Editor básico do KDE. Para quem vem do Windows ele é como o bloco de notas só que tem auto atuazilação (se modificarem o arquivo não tem que fechar e abrir novamente para atualizar), colore a sintaxe (como todos dessa categoria), abre em abas diversos arquivos, entre outras funções. É poderoso mas prefiro outras opções (gosto pessoal)

Site oficial: Kate-editor.org

Gedit

Idem ao Kate, mas é o padrão do Gnome.

Site oficial: GEdit

Ferramentas Gráficas (Editores WYSIWYG)

Nesta categoria se enquadram os editores HTML visuais. Não sou fã desses editores pois no geral geram muito lixo no código. Utilizo mais para coisas simples e para criar o código para acentos e ç em HTML para não ter erros com codificação.

NVU

NVU é um editor WYSIWYG de HTML, baseado no componente Composer do Mozilla Application Suite. Ele foi desenvolvido para ser um equivalente de código aberto de programas proprietários, como o Frontpage do Windows e o Dreamweaver da Macromedia. Ele é também um dos primeiros editores WYSIWYG para o Linux. O Nvu foi projetado para ser fácil para usuários sem conhecimento técnico.

Ouvi falar que o sistema está descontinuado mas mesmo assim é interessante.

Site oficial: NVU.com

Amaya

Idem ao anterior. Não tenho muito a dizer pois ainda estou testando mas está me agradando. Vale a pena usar os dois e tirar suas próprias conclusões.

É importante ressaltar que este é o editor da W3C então o código feito por ele tente a ser validado sem contar que deve evoluir muito rápido.

Site oficial: Amaya

Geradores de código

Nesta categoria enquadram-se os editores não visuais que geram o código para você.

Quanta Plus

O quanta é um sistema bem simples que por intermédio de botões na barra de ferramentas, te gera o código HTML simples e puro. Tem poucas opções avançadas como escolha visual da cor. É interessante para aprender HTML e para que funciona cada Tag

Uma vantagem em relação ao BlueFish é a visualização nele próprio e não no navegador. Eu prefiro visualizar no navegador então praticamente não uso este sistema

Site Oficial: Quanta Plus

BlueFish

O BlueFish é como uma evolução do Quanta. Ele gera código HTML, SQL, Python, PHP, etc. Por intermédio de janelas ele pergunta as opções das variáveis e gera o código limpo. Quando quero saber a extrutura correta de alguma tag ou função que eu não lembro eu utilizo ele primeiro.

Site oficial: BlueFish

IDE de Desenvolvimento

Aqui falarei da minha preferência para desenvolvimento web. Utilizo também os outros sistemas mas passo a maior parte do tempo aqui.

Eclipse

O eclipse é uma IDE para desenvolvimento Java mas por intermédio de plugins vira uma poderosa ferramenta de desenvolvimento web.

Aqui vão alguns recursos que acho importante frisar:

  • Gerenciamento de projetos
  • Visualização de pastas e arquivos (Tipo Windows Explorer)
  • Sytaxe colorira (as outras também tem)
  • Controle de versões interno (pode acoplar no CVS) gráfico. É muito fácil fazer comparação nos históricos.
  • Inclusão de Plugins (Esse é importante)

Site oficial: Eclipse.org

Aptana

Este plugin para Eclipse eu estou testando a pouco. Ele tem suporte para PHP, JavaScript e CSS. Tem suporte a FTP/SFTP debugger de JavaScript.

É um plugin que engloba tudo mas dele mesmo só gostei do editor de CSS. O restante prefiro plugins específicos.

Site oficial: Aptana.com

PHP-Eclipese

Preferi este ao Aptana para edição de PHP pois tem auto completar de variável e funções e outras opções bem interessantes.

Site oficial: PHP-Eclipse

CSS-Editor

Foi o primeiro plugin de CSS que achei para o Eclipse. A vantagem é colorir o código. Vou acabar substituindo pelo editor de CSS do Aptana.

Qualquer um dos dois fica muito interessante com a opção de visualizar "OutLine" (Window --> Show View --> Autline). Com essa opção aparecer os links das tags, classes e ids do css. Ajuda muito para achar uma classe css no meio de diversas linhas de código. Mandando classificar por ordem alfabética então fica perfeito.

Site oficial: CSS-Editor

JSEclipse

Essa é minha escolha para Java Script. Muito bom. Possue também debugger para código. Vale a pena esperimentar.

Site oficial: JSEclipse

Referências

Autor




Pessoalmente para programação web eu recomendo o Eclipse com os plugins PHP-Eclipse (Para PHP), JSEcliese ( Para Java Script) e CSS-Editor (Para CSS é claro).

Para design eu uso o Inskape (trocando pelo Xara) e Gimp.

Como Editor WYSIWYG utilizo o NVU pois gosto de colocar sempre com o código html para acentos e ç para não ter problema com codificação e ele quebra um galhão nisso.

Para gerar um código limpo tem o BlueFish e o Quanta.

O quanta é mais gráfico mas faz só html. A vantagem é que tem uma visualização. Pessoalmente prefiro ter o apache instalado e atualizar pelos browsers.

O BlueFish faz php, html e SQL (Interbase, MySQL ou ODBC)

Horários baseados na GMT -3. Agora são 16:07.


Powered by vBulletin®
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd
SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.