Montando um workstation de desenvolvimento web em GNU/Linux
Muita gente atualmente usa Linux em casa e trabalha há muito tempo utilizando seus recursos no campo que abrange servidores, mas infelizmente muitos profissionais ficam presos ao Windows devido a falta de opções em ferramentas de desenvolvimento web. Nesse artigo tento mostrar como é possível abandonar os famosos produtos Macromedia e substituí-los por ferramentas open source.
Uma pequena crônica: onde começa o problema do desenvolvimento Web
Fala moçada,
Sem delongas tentarei ir direto à raiz do problema dos web developers (exceto webdesigners e layoutistas) e das empresas de desenvolvimento web.
Sairei um pouco do foco principal do assunto para todo mundo se situar à realidade das empresas de hoje e deixar o artigo com um caráter mais didático.
A engenharia de softwares deve(ria) ser aplicada a todos os projetos desenvolvidos, mas essa fatia tão peculiar do mercado que somos obrigados a lidar SEMPRE tem problemas em comum:
Devido a essa realidade, infelizmente as empresas - que por sua vez visam lucros - não estão precisando de profissionais que programam da melhor forma possível, mas sim os que resolvem os seus problemas/problemas da empresa mais rápido. E nessa parte se você não tiver um ambiente de desenvolvimento bom - que facilite sua vida - você fica com uma desvantagem enorme em relação à outros profissionais.
Cheguei agora num ponto onde o problema começa e, se agora estivéssemos em uma mesa redonda, alguém me interromperia para falar algo do tipo:
"-Tá... Mas e daí? Eu uso o Macromedia Dreamweaver! Existe ambiente de desenvolvimento melhor que esse?!"
Bem... A princípio não existe, mas por causa das empresas cultuarem tanto quem desenvolve mais rápido, entramos agora em um paradigma (ou seria paradoxo :D ? [ou não será um problema no futuro?] ). Por favor não esqueça dessas perguntas durante sua leitura ao longo dessa página...
Quem desenvolve mais rápido (usando o MM Dreamweaver por exemplo) gera o famoso "HTML garbage" ou em bom português a "lixeira HTML", e como o consumo de link é sempre um problema sério para o usuário final e a empresa, os desenvolvedores codistas que usam Dreamweaver estão tendo que reeaprender as tags HTML - Eu sei que parece brincadeira, se fôssemos fazer uma analogia seria algo como pegar um caixa bancário e o fizesse estudar tabuada... Mas isso não é brincadeira, vocês ainda irão ouvir o que eu estou falando.
Contudo, como atualmente os *hardwares não estão tão caros, pequenas e médias empresas fazem um investimento razoável e tem em mãos uma máquina muito boa para prover seus serviços web, logo, a parte da qualidade de código fica meio de escanteio porque a máquina resolve tudo (ou quase tudo). Porém como bendito link é muito caro, então os chefes não se importam se os nossos códigos comem muito processamento ou memória, DESDE QUE ele não gere lixo no retorno para quem acessa as aplicações. Resumindo: o link é sempre o gargalo do projeto.
E isso ocorre muito por que os browsers não são tão rígidos no tratamento das sintaxes HTML, ou seja, você já viu algum "parse error" ou "segmentation fault" por que você não fechou um <body> com </body>? Por causa disso os editores HTML visuais usam e abusam da tolerância dessa sintaxe gerando um lixo de proporções grotescas.
Isso é tão sério que muitas empresas - até as de pequeno e médio porte médio - estão adotando a prática da divisão sistemática de profissionais no modo de desenvolvimento de projetos em grupo, além das mudança de ferramentas utilizadas no desenvolvimento dos seus projetos:
1 - Mudança na prática da divisão sistemática de profissionais no modo de desenvolvimento de projetos em grupo.
No primeiro ítem citado, mais especificamente na parte gráfica, os designers da parte de criação/arte a princípio "desenham" o layout e repassam em seguida seu trabalho para os designers de template, que recortam e geram os HTMLs com o mínimo de lixo possível, que por sua vez atendem as necessidades do projeto elaborado.
O projeto por sua vez é desenvolvido por analistas que geralmente desenham o esboço do projeto, rotinas, banco de dados, etc e logo em seguida repassam seu trabalho à engenheiros e programadores ligados à área de auditoria. Nesse ponto eles revisam, fazem eventuais correções e pedem uma homologação (aprovação) por parte do cliente. Com o projeto aprovado, tudo é repassado ao chefe de desenvolvimento da programação e finalmente entra na parte de codificação.
E acredite ou não, ainda existem divisões nas tarefas de codificação... Parece muita coisa né? Mas na verdade seria o mais próximo do ideal possível. Por que "programar" qualquer uma pessoa com um pouco de instrução técnica programa, no entanto apenas um número mais restrito de profissionais sabe organizar classes, modularizar o projeto, padronizar formas de codificação de documentação, ou seja, basicamente a parte de codificação dividi-se com a equipe que consome 10 vezes mais cafeína que uma pessoa normal - os que criam as rotinas usadas por todo o projeto - e, a parte que faz a programação de "trabalho braçal".
2 - Mudança de ferramentas utilizadas no desenvolvimento dos seus projetos.
Bem, o Dreamweaver está feio na foto por que ele gera lixo e o link é caro, pra piorar mais ainda ele ainda tem uma licença pra uso comercial muito cara, mas a MM tem uma ferramenta chamada Homesite que faz exatamente o que essa nova empresa quer, seus desenvolvedores vão perder a comodidade de usar a aplicação de desenvolvimento gráfico, mas com o tempo e com a divisão de trabalho eles vão economizar em link, em licenças e em processamento (quem já usou um Dreamweaver MX sabe o quanto ele é pesado).
Com o tempo no entanto a MM viu que podia cobrar mais caro por seu produto por que as empresas de desenvolvimento precisavam dele agora. As empresas de pequeno e médio porte se viram obrigadas a encontrar uma saída entre as suas poucas escolhas:
Geralmente (ex-)funcionários insatisfeitos com a empresa podem comprometer a primeira opção. Já na segunda não existem opções... CALMA AÍ!!! Não EXISTIA, por que hoje existem ferramentas tão boas ou ainda melhores que o Homesite.
Estamos em um paradigma? Num paradoxo? Ou no futuro o HTML vai cair por desuso? Ou ainda será que o link não será um problema no futuro?
Aposte suas fichas, mas até lá mantenha seus pés no chão.
Sem delongas tentarei ir direto à raiz do problema dos web developers (exceto webdesigners e layoutistas) e das empresas de desenvolvimento web.
Sairei um pouco do foco principal do assunto para todo mundo se situar à realidade das empresas de hoje e deixar o artigo com um caráter mais didático.
A engenharia de softwares deve(ria) ser aplicada a todos os projetos desenvolvidos, mas essa fatia tão peculiar do mercado que somos obrigados a lidar SEMPRE tem problemas em comum:
- Os prazos para conclusão dos projetos muito curtos.
- Clientes leigos pedem softwares que não lhes satisfazem invés de soluções.
- Existe a necessidade, mas não existe cobrança de organização dos arquivos físicos no projeto, ou seja, a organização dos arquivos "soltos".
Devido a essa realidade, infelizmente as empresas - que por sua vez visam lucros - não estão precisando de profissionais que programam da melhor forma possível, mas sim os que resolvem os seus problemas/problemas da empresa mais rápido. E nessa parte se você não tiver um ambiente de desenvolvimento bom - que facilite sua vida - você fica com uma desvantagem enorme em relação à outros profissionais.
Cheguei agora num ponto onde o problema começa e, se agora estivéssemos em uma mesa redonda, alguém me interromperia para falar algo do tipo:
"-Tá... Mas e daí? Eu uso o Macromedia Dreamweaver! Existe ambiente de desenvolvimento melhor que esse?!"
Bem... A princípio não existe, mas por causa das empresas cultuarem tanto quem desenvolve mais rápido, entramos agora em um paradigma (ou seria paradoxo :D ? [ou não será um problema no futuro?] ). Por favor não esqueça dessas perguntas durante sua leitura ao longo dessa página...
Quem desenvolve mais rápido (usando o MM Dreamweaver por exemplo) gera o famoso "HTML garbage" ou em bom português a "lixeira HTML", e como o consumo de link é sempre um problema sério para o usuário final e a empresa, os desenvolvedores codistas que usam Dreamweaver estão tendo que reeaprender as tags HTML - Eu sei que parece brincadeira, se fôssemos fazer uma analogia seria algo como pegar um caixa bancário e o fizesse estudar tabuada... Mas isso não é brincadeira, vocês ainda irão ouvir o que eu estou falando.
Contudo, como atualmente os *hardwares não estão tão caros, pequenas e médias empresas fazem um investimento razoável e tem em mãos uma máquina muito boa para prover seus serviços web, logo, a parte da qualidade de código fica meio de escanteio porque a máquina resolve tudo (ou quase tudo). Porém como bendito link é muito caro, então os chefes não se importam se os nossos códigos comem muito processamento ou memória, DESDE QUE ele não gere lixo no retorno para quem acessa as aplicações. Resumindo: o link é sempre o gargalo do projeto.
E isso ocorre muito por que os browsers não são tão rígidos no tratamento das sintaxes HTML, ou seja, você já viu algum "parse error" ou "segmentation fault" por que você não fechou um <body> com </body>? Por causa disso os editores HTML visuais usam e abusam da tolerância dessa sintaxe gerando um lixo de proporções grotescas.
Isso é tão sério que muitas empresas - até as de pequeno e médio porte médio - estão adotando a prática da divisão sistemática de profissionais no modo de desenvolvimento de projetos em grupo, além das mudança de ferramentas utilizadas no desenvolvimento dos seus projetos:
1 - Mudança na prática da divisão sistemática de profissionais no modo de desenvolvimento de projetos em grupo.
No primeiro ítem citado, mais especificamente na parte gráfica, os designers da parte de criação/arte a princípio "desenham" o layout e repassam em seguida seu trabalho para os designers de template, que recortam e geram os HTMLs com o mínimo de lixo possível, que por sua vez atendem as necessidades do projeto elaborado.
O projeto por sua vez é desenvolvido por analistas que geralmente desenham o esboço do projeto, rotinas, banco de dados, etc e logo em seguida repassam seu trabalho à engenheiros e programadores ligados à área de auditoria. Nesse ponto eles revisam, fazem eventuais correções e pedem uma homologação (aprovação) por parte do cliente. Com o projeto aprovado, tudo é repassado ao chefe de desenvolvimento da programação e finalmente entra na parte de codificação.
E acredite ou não, ainda existem divisões nas tarefas de codificação... Parece muita coisa né? Mas na verdade seria o mais próximo do ideal possível. Por que "programar" qualquer uma pessoa com um pouco de instrução técnica programa, no entanto apenas um número mais restrito de profissionais sabe organizar classes, modularizar o projeto, padronizar formas de codificação de documentação, ou seja, basicamente a parte de codificação dividi-se com a equipe que consome 10 vezes mais cafeína que uma pessoa normal - os que criam as rotinas usadas por todo o projeto - e, a parte que faz a programação de "trabalho braçal".
2 - Mudança de ferramentas utilizadas no desenvolvimento dos seus projetos.
Bem, o Dreamweaver está feio na foto por que ele gera lixo e o link é caro, pra piorar mais ainda ele ainda tem uma licença pra uso comercial muito cara, mas a MM tem uma ferramenta chamada Homesite que faz exatamente o que essa nova empresa quer, seus desenvolvedores vão perder a comodidade de usar a aplicação de desenvolvimento gráfico, mas com o tempo e com a divisão de trabalho eles vão economizar em link, em licenças e em processamento (quem já usou um Dreamweaver MX sabe o quanto ele é pesado).
Com o tempo no entanto a MM viu que podia cobrar mais caro por seu produto por que as empresas de desenvolvimento precisavam dele agora. As empresas de pequeno e médio porte se viram obrigadas a encontrar uma saída entre as suas poucas escolhas:
- Usam o programa ilegalmente;
- Usam ferramentas criadas pela comunidade de código livre.
Geralmente (ex-)funcionários insatisfeitos com a empresa podem comprometer a primeira opção. Já na segunda não existem opções... CALMA AÍ!!! Não EXISTIA, por que hoje existem ferramentas tão boas ou ainda melhores que o Homesite.
Estamos em um paradigma? Num paradoxo? Ou no futuro o HTML vai cair por desuso? Ou ainda será que o link não será um problema no futuro?
Aposte suas fichas, mas até lá mantenha seus pés no chão.
Eu também estou analisando o Bluefish e o NVU para montar o meu site. E como você mesmo disse, o famoso Dreamweaver deixa muito lixo. O NVU também contribui bastante para a geração de lixo, e realmente falta uma ferramenta para gerenciar melhor um grande site ou uma grande quantidade de sites.
Só uma coisa que não gostei no NVU foi o preview da página, me parece mal implementado ainda. Mas pra quem quer começar a se livrar dos softwares para M$ Windows é uma excelente opção.
[]'s
ManoZeh