|
|||||||
| Wiki | Classificados | Galeria | Reviews | Jogos | Grupos Sociais | RSS Feeds | FAQ | Termos de Uso | Sobre |
| Registrar | Fotos | Membros | Calendário | Pesquisar | Postados Hoje | Marcar Fóruns Como Lidos |
FerramentasPublicidade |
From UnderLinux WikiDesenvolvimento web no Linux
[editar] IntroduçãoHá 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 [editar] Linguagens de programaçãoAqui entraremos na questão da linguagem escolhida. Está certo que isso é gosto pessoal mas hoje essas são as principais para web. [editar] HTML/DHTML/XHTMLIsso é 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. [editar] PHPSem 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/ [editar] JavaScriptJavaScript é uma linguagem de programação criada pela Netscape em 1995, que a princípio se chamava LiveScript, para atender, principalmente, as seguintes necessidades:
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. [editar] CSSCascading 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. [editar] JavaJava é 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 [editar] XMLXML é 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:
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. [editar] AjaxAJAX é 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.:
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 [editar] CGICGI 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. [editar] ASPPrimeiro 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. [editar] Servidor webExplanarei aqui um pouco sobre alguns servidores WEBs e alguns módulos. O que eu costumo utilizar é o Apache com módulo PHP. [editar] ApacheApache 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 [editar] 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. [editar] TomCatO 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. [editar] IISNovamente 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:
[editar] ZopeZope é 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 [editar] BrowsersEstarei aqui explanando sobre os diversos browsers, pois a idéia é que sua página seja apresentada da mesma forma em todos (ou maioria deles). [editar] Internet ExplorerNã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. [editar] ie4LinuxEste é 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. [editar] Mozilla FirefoxHoje 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 [editar] Web-DeveloperEste é 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. [editar] HTML ValidatorGosto 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. [editar] FirebugEste 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. [editar] SeamonkeyEste é um projeto proveniente do Netscape. É interessante testar nele embora seja pouco utilizado. Site oficial: Seamonkey [editar] OperaOpera é 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 [editar] 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. [editar] 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 [editar] 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 [editar] 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 [editar] GimpO 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 [editar] 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. [editar] vimEste é 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). [editar] KateEditor 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 [editar] GeditIdem ao Kate, mas é o padrão do Gnome. Site oficial: GEdit [editar] 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. [editar] NVUNVU é 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 [editar] AmayaIdem 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 [editar] Geradores de códigoNesta categoria enquadram-se os editores não visuais que geram o código para você. [editar] Quanta PlusO 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 [editar] BlueFishO 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 [editar] IDE de DesenvolvimentoAqui falarei da minha preferência para desenvolvimento web. Utilizo também os outros sistemas mas passo a maior parte do tempo aqui. [editar] EclipseO 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:
Site oficial: Eclipse.org [editar] AptanaEste 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 [editar] PHP-EclipesePreferi 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 [editar] CSS-EditorFoi 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 [editar] JSEclipseEssa é minha escolha para Java Script. Muito bom. Possue também debugger para código. Vale a pena esperimentar. Site oficial: JSEclipse [editar] Referências
[editar] Autor
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) |