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:
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!)
Vou fazer uma considera��o com rela��o � tencologia .net, que voc� n�o julgou como promissora para a rede.
Antes de mais nada, gostaria de dizer que o orkut, a maior rede de relacionamentos do Brasil, � desenvolvida em .Net. Falhas? Claro que vai ter, � uma solu��o onde s� os programadores do Orkut t�m acesso. Vai me dizer que as solu��es Open Source nascem sem falhas? Claro que n�o… Profissionais do mundo inteiro metem a m�o no c�digo… o que pra uma empresa pode n�o ser uma boa id�ia por uma s�rie de fatores…
Um sistema de informa��o comercial, disparadamente, a escolha � ou .Net ou Java. E vou resumir isso a uma �nica palavra: Suporte. Voc� ficar na m�o da comunidade open source para desenvolver uma solu��o (ou resolver um problema) para o seu neg�cio, � um suic�dio. � contar com o ovo na cloaca da galinha. Nem as empresas de Java utilizam os frameworks open sources para determinado tipo de solu��o e cliente.
� importante citar que em solu��es robustas para empresas, solu��es open source n�o atendem. Precisam de customiza��o e acabam perdeiro a magia do Open Source.
Para finalizar, hoje, as l�deres de mercado em desenvolvimento de Software s�o Microsoft e Sun, detentoras do .Net e Java, respectivamente. Se elas s�o as maiores, naturalmente possuem as melhores ferramentas de desenvolvimento com frameworks poderos�ssimos para diversos tipos de aplica��o, desde sistemas comerciais at� jogos.
N�o sou contra o Open Source, de maneira alguma. Eu utilizo ferramentas open source tamb�m, mas eu gostaria de deixar registrado que solu��es fechadas e open source s�o para atingir p�blicos totalmente diferentes.
Um abra�o!
PS: Claro se algu�m contratar a minha empresa(http://www.rsconsultoria.com) para fazer uma solu��o tanto em PHP quanto Java ou .NET, iremos desenvolver, pois temos profissionais capacitados para isso.
Eu n�o disse que n�o acho promissora, disse que n�o acredito, � um pouco diferente embora realmente d� dupla interpreta��o.
Eu acredito que as solu��es opensource s�o a melhor forma de transformar a tecnologia em commodity movendo assim a economia para servi�os.
Do ponto de vista de quem desenvolve voc� tem dezenas de milh�es de sites pessoais ou de pequenas ou m�dias empresas rodando em solu��es opensource contra alguns milhares de empresas.
Orkut foi um p�ssimo exemplo! O treco � mal programado pacas! E se fosse opensource a comunidade brasileira j� teria corrigido tudo! ;)
A prop�sito para mim h� um mito do suporte ao c�digo fechado… Procure suporte para o Quicken! Deixe a MS perder um pouco de mercado…
Opensource tem suporte garantido enquanto algu�m usar o sistema…
Na verdade qq dia tenho que escrever sobre isso… Se bem que acho que j� fiz um post a respeito.
Ramon,
Me desculpe mas a hist�ria provou que � mais prov�vel vc ficar na m�o com uma solu��o comercial (empresa fecha ou descontinua o software – exs: photostyler, todos da Aldus, etc) do que com uma de c�digo aberto, em que sempre vai ter um maluco que quer tocar o projeto para frente.
Entendo – e concordo – que as solu��es devem ser analisadas caso a caso e que, principalmente em se tratando de web, n�o h� lei da f�sica, ou seja, n�o existe algo que seja v�lido para todos sem exce��o.
Agora, dizer que o opensource � menos confi�vel que o comercial � absurdo at� mesmo se pensarmos em termos de pr�ticas de mercado: uma empresa cujo lucro vem de um produto, ir� descontinu�-lo ou n�o de acordo com pol�ticas internas e l�gicas comerciais; enquanto um produto que conta com uma comunidade inteira para mant�-lo n�o morre (exs fora do mundo do sw: biscoitos Globo, que jamais deixou de ser uma empresa familiar que n�o investe em propaganda).
[]s
Oi Carol!
Depois me lembrei que, de certa forma, mesmo empresas que preferem c�digo “fechado” usando um .Net ou Flash para seus sistemas exigem (muito sabiamente) que os desenvolvedores entreguem o c�digo fonte ou .fla para que possam fazer manuten��o nos sistemas caso o desenvolvedor desapare�a!
N�o � o mesmo que open source, mas o c�digo � aberto do mesmo jeito em termos pr�ticos.
Esta compara��o entre open e close surce atrav�s do suporte s� � v�lida para algo como um complexo sistema de gerenciamento de rede ou um R3 da vida pois atr�s do sistema h� uma mega-empresa.
Hohoho, n�o tenho nada a acrescentar, s� queria testar o sisteminha de comentar coment�rios.
:D
Bjs
e se comentar o coment�rio do coment�rio?
t�, eu paro.
Deixei s� at� tr�s n�veis, ou seja, o coment�rio, ao coment�rio do coment�rio n�o poder� ser comentado ;)