Quero desenvolver para Web, e agora?
10th, June 2008
Quando estendi os serviços da i4B para a hospedagem de sites 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:
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.
Esta é 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 video-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 pretencioso “resumo da Internet”.
Estes 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á estes 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 estará achando 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% o mais dos usuários e eles estão apenas em seus primeiros passos.
Tem aqui uma video-aula sobre estes 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!
Estas 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 desing 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 idéia 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 destas 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 destas três categorias:
- Designer: sabe fazer belas interfaces usando html e css ou tem um parceiro que saiba
- Desenvolvedor: para criar aplicativos Web totalemente 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ê constroi 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!)
Filed under: Tecnologia, infoBee



June 11th, 2008 at 12:38 am
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.
Comentar
June 11th, 2008 at 12:07 pm
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.
Comentar
June 11th, 2008 at 5:39 pm
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
Comentar
June 11th, 2008 at 10:35 pm
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.
Comentar
Carolina Vigna-Marú comentário em June 12th, 2008 8:33 pm:
Hohoho, não tenho nada a acrescentar, só queria testar o sisteminha de comentar comentários.

Bjs
Comentar
Carolina Vigna-Marú comentário em June 12th, 2008 8:33 pm:
e se comentar o comentário do comentário?
Comentar
Carolina Vigna-Marú comentário em June 12th, 2008 8:34 pm:
tá, eu paro.
Roney comentário em June 12th, 2008 11:33 pm:
Deixei só até três níveis, ou seja, o comentário, ao comentário do comentário não poderá ser comentado