Quando estendi os serviços da i4B para a hospedagem de sites (descontinuei) e consultoria em identidade online (afinal de contas sempre apresento a Internet como se fosse um novo continente que estamos descobrindo) passei a precisar de designers e outros profissionais preparados para construir e atualizar os sites dos nossos clientes.

Por conta disso estou sempre conversando e buscando gente nova e percebi algo um tanto alarmante para quem está procurando um profissional para fazer seu site e para o profissional que quer viver de desenvolvimento Web: falta muito conhecimento de princípios básicos da Grande Rede.

A grande maioria parece ainda viver na década de 90 quando os sites eram feitos em HTML com o Dreamweaver (até hoje a única opção real para sites à moda antiga).

Decidi escrever então este post na tentativa de dar uma visão geral da Rede como está hoje.

HTML – Sites estáticos

Apesar deles estarem sumindo rapidamente ainda são os mais comuns.

Um site html é como um documento Word e não passa de um texto que você visualiza na Internet ainda que possamos inserir imagens, sons e vídeos neles.

O site html é estático. Você não pode interagir com ele, deixar comentários dar pontos para ele ou modificá-lo.

Aqui está um exemplo de um belo site estático:

http://vocenopalco.com.br/ (o domínio não existe mais)

Não é que o site estático seja ruim. No caso acima ele atende perfeitamente às necessidades, mas há várias razões para usar as tecnologias mais modernas, entre elas:

  • Você pode atualizar seu site de qq lugar que tenha uma conexão à Internet e um navegador sem ter que instalar nada em seu computador
  • Seus visitantes podem interagir com você respondendo enquetes, deixando comentários…

Para fazer um site estático você precisa instalar um editor de páginas em seu computador. O melhor deles, como já disse, é o Dreamweaver, mas ele custa algo em torno de 2 mil Reais. Por isso indico para o newbie (novato) uma alternativa OpenSource, o Kompozer. É a mesma que uso no vídeo abaixo para apresentar o básico da edição de uma página html:

Flash

Isso é uma questão de amor e ódio. Eu não gosto do flash do jeito que ele é comumente usado: para fazer páginas “dinâmicas” onde “dinâmicas” na verdade quer dizer animadas com barulhos, coisas se movendo e menus estranhos.

Um exemplo de Flash bem usado está no side da Designer Aline Mirilli:

http://www.alinemirilli.com.br/

E podemos ver o Flash levado a seus limites no Adobe Buzzword:

http://www.adobe.com/acom/buzzword/ 

Porque então eu disse que há uma questão de ódio em relação ao Flash?

Bem, acontece que ele não é um padrão Web, ele é uma ferramenta da Adobe e isso por si já o torna um pouco indesejado (por ser um código proprietário e vulnerável aos humores da empresa que o faz), mas além disso ele é projetado para ter um visual excelente e não uma flexibilidade excelente.

Não se pode fazer um blog, uma rede social ou um portal de notícias usando Flash.

Essa é uma tecnologia viável para fazer sites visualmente atraentes, desenhos animados (como os do charges.com) e até aplicativos, mas o site médio tem seu foco em texto, conteúdo, interatividade e “amigabilidade” (no sentido de “não preciso pensar duas vezes para saber onde clicar”).

Entra o CMS

É bem provável que 90% dos sites que você visite usem um CMS ou Content Management System.

Aqui está uma vídeo-aula em duas partes que fiz sobre isso:

O CMS é um programa (geralmente em PHP) que roda no seu próprio site, ou seja, em vez de entrar em seusite.com.br você entra em seusite.com.br/administrator e, depois de informar um login e senha, é levado para sua área de administração onde você pode fazer praticamente tudo que puder imaginar com seu site.

Existe um mercado para programadores de CMS e alguns profissionais gostam de desenvolver um CMS próprio que vendem ou alugam para seus clientes, não acho este caminho bom nem para o desenvolvedor e muito menos para o cliente.

O ideal quando se trata de CMS é escolher um já consagrado como o Drupal, Zope, WordPress ou Joomla e trazer um designer para criar um modelo personalizado e, se necessário, um programador para estender os recursos dele (isso raramente é necessário).


CMS especiais: redes sociais e Web Applications

Quando falamos em CMS geralmente pensamos nos portais (Zope, Drupal, Joomla) ou nos famosos blogs (WordPress, TypePad, Movable Type, Blogger), mas tecnicamente falando, Orkut, Del.icio.us, twitter, Wikipedia (é um CMS Wiki) e até um Docs (docs.google.com ou zoho.com) são CMS, mas são suficientemente diferentes para justificar uma categoria à parte aqui neste pretensioso “resumo da Internet”.

Esses aplicativos estão na dianteira do novo mundo.

Comparando a Rede ao tempo das colonizações podemos dizer que o CMS “normal” é uma nova rota para as índias, já esses outros aplicativos são o tal Mundo Novo onde tudo pode ser diferente e a nossa civilização pode mudar.

Creio que podemos dividí-los em duas categorias: redes sociais e aplicativos online.

Todos conhecemos as redes sociais por causa do Orkut, mas ele é uma das mais míopes e outras iniciativas como o Facebook e a api OpenSocial do Google apontam para um sentido: A Internet inteira será uma interface entre pessoas e todo site será como um tipo de encarnação digital do seu autor. É a Matrix ou melhor ainda, Simulacron 3 virando realidade.

Já os aplicativos, embora menos revolucionários do ponto de vista social são a realização dos sonhos da Sun na década de 90: A Rede é o computador. Rede com R maiúsculo porque se refere à rede das redes, a Internet.

Se hoje você se importa com o seu computador, seu HD e os programas e dados guardados nele amanhã você provavelmente achará isso anacrônico pois hoje já há programas para editar texto, planilhas, apresentações, gráficos e até vídeos que rodam dentro da janela do seu navegador. Basta entrar no site e, em vez de uma página, abre um processador de textos que pode ser usado simultaneamente por várias pessoas em lugares distintos do mundo. Não importa que usem Linux, Windows, Mac ou OS/2.

No momento ainda deixam bastante a desejar se comparados a um OpenOffice, mas já são capazes de atender todas as necessidades de 80% ou mais dos usuários e eles estão apenas em seus primeiros passos.

Tem aqui uma vídeo-aula sobre esses aplicativos:

Como trabalhar colaborativamente online? from Roney Belhassof on Vimeo.

E você, desenvolvedor?

Ok, você está pensando “O Roney é louco! Isso tudo é muito complicado! Quero só fazer umas pagininhas no (argh) Front Page!” ou “Pirou! Isso é ficção científica!”.

Se você está no segundo caso veja os links! ;-) Essas coisas estão acontecendo AGORA!

Os que se encontraram no primeiro caso… Bem, ainda há muito mercado para fazer páginas estáticas, mas se você tem preguiça de aprender as outras coisas é melhor pensar em outra profissão para daqui alguns anos.

Além disso um site não se faz com HTML e CSS! Muito mais importante que isso é ter um bom designer! Se você não tem talento para isso procure um parceiro ou parceira. É essencial. Procure estudar design também. Creio que vale mais a pena fazer cursos de Design do que de HTML, CSS etc.

Linguagens e BDs

Para os que querem entrar na crista da onda e desenvolver novos Facebooks ou Twitters é necessário gostar de programação e ter uma boa ideia das opções disponíveis no mercado.

Não me peça para falar em .Net, não acredito em tecnologia fechada para a Rede.

As opções são PHP, Ruby on Rails (RoR), Java e Python.

PHP é de longe a mais usada por ser a mais antiga sobrevivente. Ela pode ter várias limitações (algo que nasceu mais de 10 anos atrás com nome de Personal Home Page tem que ter limitações), mas segura muito bem o tranco se você for um bom programador.

Ruby on Rails é uma solução que vem crescendo rapidamente porque realmente é MUITO fácil programar com ela. Só vendo.

Python e Java estão mais ou menos na mesma categoria. São quase mandatórias em ambientes corporativos (apesar do Zope ser feito em Python) por serem realmente linguagens e ambientes orientados a objetos e linguagens de… ainda se fala assim?… quarta geração ;)

Por trás dessas linguagens sempre (ou quase) precisaremos de um banco de dados para armazenar o conteúdo do nosso site. O mais usado é o mySQL, mas há opções mais robustas como o PostgresSQL e o, claro, Oracle. Por outro lado… O YouTube roda em mySQL, precisa dizer mais?

Concluindo

Se você chegou aqui lendo tudo acima então você realmente tem interesse em desenvolver para web, do contrário pode-se resumir tudo dizendo que:

Na web moderna ainda há espaço para sites feitos em html e CSS ou em Flash, mas a tendência a cada dia é que os sites sejam feitos com linguagens de programação que armazenam o site em bancos de dados permitindo uma infinidade de recursos, até mesmo aplicativos Web.

Se você quer desenvolver para Web pense em se colocar em uma dessas três categorias:

  • Designer: sabe fazer belas interfaces usando html e CSS ou tem um parceiro que saiba
  • Desenvolvedor: para criar aplicativos Web totalmente novos ou adicionar funcionalidades (plugins) a CMSs já existentes como o WordPress
  • Especialista em HTML e CSS, ou seja, você não sabe nada de design, mas se te mandarem uma imagem do que deve ser feito você constrói um site html ou um template para um CMS consagrado (não deixe de estudar os templates dos CMS consagrados e ficar de olho nos novos!)