Os 30 webmasters online que criaram imperios antes dos 30 anos de idade!

Escrito em: 06-10-2008
Por: Paulo Faustino
Fonte: http://www.fique-rico.com/2008/10/06/os-30-webmasters-online-que-criaram-imperios-antes-dos-30-anos-de-idade/
Inserido em: Análise de Projectos Sobre Dinheiro

Hoje gostava de lhe trazer uma visão diferente sobre a internet. Como sabemos existem milhares de milhões de webmasters que todos os dias procuram o sucesso na internet. Muitos deles têm idades inferiores a 30 anos e o seu sucesso dependeu exclusivamente da criação de modelos de negócio online que se tornaram em verdadeiros casos de sucesso. Embora existam muitos empreendedores que obtiveram sucesso depois dos 30, que gostaria de me focar exclusivamente no TOP30 dos webmasters que conseguiram criar maiores fortunas antes dos 30. Embora todos os projectos tenham em comum o facto de serem escritos em Inglês, representam várias oportunidades de negócio completamente distintas e que seguramente irão servir-lhe de inspiração para a criação de novos projectos online, procura de nichos de mercado pouco explorados na língua portuguesa, ou simplesmente uma visão do que é possível fazer e ganhar na internet com a construção de sites e blogs em nichos específicos.

facebook

1º. FACEBOOK (http://www.facebook.com/) - $700 MILHÕES DÓLARES
O Facebook foi criado por Mark Zuckerberg numa altura em que já existiam redes sociais na internet. No entanto esta rede social entrou primariamente no nicho de mercado das faculdades Norte Americanas, e aos poucos foi-se tornando uma referência nos Estados Unidos, até que abriu várias versões em outras tantas línguas, tornando-se actualmente na maior rede social do mundo. Actualmente o volume de facturação anual estimado para o site é de cerca de $700 Milhões de Dólares, com parcerias com grandes empresas como a Microsoft a título de exemplo.

runescape

2º. RUNESCAPE (http://www.runescape.com/) - $650 MILHÕES DÓLARES
O RunEscape é um jogo online extremamente popular em todo o mundo, que além de ser gratuito, conta actualmente com cerca de 135 milhões de jogadores. Além de ser um jogo multiplayer onde é possível combater e conhecer jogadores em todo o mundo, o jogo é corrido on-browser a partir dos servidores da RunEscape sem que seja necessário instalar alguma coisa no seu computador, permitindo ao jogador também, uma maior mobilidade para jogar em qualquer lugar. O seu criador foi Andrew Gower e o projecto rende actualmente cerca de $650 milhões de dólares em publicidade todos os anos.

mozilla

3º. MOZILLA (http://www.mozilla.org/) - $120 MILHÕES DÓLARES
Embora a fundação Mozilla não tenha fins lucrativos, ela rende cerca de $120 milhões de dólares por ano, que são investidos no pagamento dos ordenados de todos os trabalhadores e investidos também no desenvolvimento de novos aplicativos, traduções e novidades para a empresa. A fundação foi criada por Blake Ross e David Hyatt, ambos bem abaixo dos 30 anos de idade. Hoje em dia a Mozilla é extremamente conhecida pelo seu browser Firefox e embora já existissem browsers no mercado quando o Firefox apareceu, nada o impediu de se tornar uma referência na internet.

youtube

4º. YOUTUBE (http://www.youtube.com/) - $85 MILHÕES DÓLARES
O Youtube foi criado por Chad Hurley quando este tinha perto de 30 anos de idade. Chad tornou-se um verdadeiro empreendedor online e um webmaster de sucesso quando criou a primeira versão do Youtube, uma página de partilha e publicação de videos online, que mais tarde viria a ser comprado pelo Google por 1,5 biliões de dólares, alterando completamente a vida de Hurley, que ainda assim se manteve a trabalhar no projecto. O video já existia quando Chad o tornou no Youtube, e embora o conceito de sites de partilha de videos ainda estivesse muito verde, a verdade é que o Youtube alterou a forma como a partilha de videos era feita até então.

deviant art

5º. DEVIANT ART (http://www.deviantart.com/) - $75 MILHÕES DÓLARES
A Deviant Art foi originalmente criada por Angelo Sotira e nasceu como um projecto que pretendia reunir a arte e o potencial de vários designers e artistas online. Tornou-se rapidamente numa comunidade de arte online e hoje é seguramente a maior do seu género. Por ano produz rendimentos na casa dos $75 milhões de dólares e conta com vários milhões de artistas registados e que todos os dias partilham as suas obras livremente.

popcap games

6º. POPCAP GAMES (http://www.popcap.com/) - $60 MILHÕES DÓLARES
A PopCap Games está dentro de um nicho de mercado extremamente saturado como são os jogos online, jogos flash e tudo o que esteja relacionado com jogos a partir de sites. No entanto o seu criador, John Vechey conseguiu fazer do PopCap uma referência na área, que hoje rende-lhe cerca de $60 milhões de dólares por ano maioritariamente em publicidade. Embora não considere este nicho de mercado uma opção neste momento, a verdade é que há sempre espaço para inovar, como fez o Rui com o SpeedUpCars por exemplo.

wordpress

7º. WORDPRESS (http://wordpress.com) - $57 MILHÕES DÓLARES
Embora a grande maioria das referências apontem Matt Mullenweg como o criador do Wordpress, existem outras que apontam Alexander Levin como o cérebro por detrás da primeira ideia formal do projecto. Independentemente disso, o Wordpress surgiu há 5 anos, numa altura em que já existiam outras plataformas para blogs, mas onde existiam claramente lacunas e opções para um crescimento sustentado no mercado. Actualmente o Wordpress rende cerca de 57 milhões de dólares por ano, maioritariamente produzimos pelo Wordpress.com e pelos seus serviços prestados a clientes.

imageshack

8º. IMAGESHACK (http://imageshack.us/) - $56 MILHÕES DÓLARES
O ImageShack foi outro projecto que revolucionou a forma como se alojavam imagens na internet. As fotografias e as imagens já existam, no entanto, o seu criador Alexander Levin desenvolveu uma ideia de hosting gratuito e rápido para todos aqueles que pretendiam colocar imagens num servidor, gratuitamente, e com múltiplas opções à escolha e códigos de colocação em fórums e blogs automatizados. O projecto rende actualmente cerca de 56 milhões de dólares, suportados por publicidade e também pela venda de pacotes Premium e doações.

threadless

9º. THREADLESS (http://www.threadless.com/) - $50 MILHÕES DÓLARES
O ThreadLess é um modelo de negócio extremamente interessante e de uma inteligência enorme. Embora seja um portal de venda de t-shirts, a ideia base criada por Jake Nickell é a de ganhar dinheiro dando dinheiro a ganhar. Por outras palavras, os designers e criadores enviam logotipos, estampagens e desenhos para o site, as suas t-shirts são colocadas à venda e sempre que alguém comprar uma t-shirt, o autor do desenho ganha uma comissão e o site ganha uma percentagem da venda. A ideia rende actualmente cerca de $50 milhões de dólares por ano em rendimentos.

biz chair

10º. BIZ CHAIR (http://www.bizchair.com/) - $42 MILHÕES DÓLARES
A Biz Chair parece provavelmente um modelo de negócio básico. Vender cadeiras. No entanto o seu criador, Sean Belnick, com menos de 20 anos de idade projectou o negócio com o intuito de vender apenas cadeiras de escritório, tanto para empresas como para executivos. Ao sectorizar o seu modelo Sean conseguiu ganhar visibilidade e hoje o projecto rende cerca de $42 milhões de dólares por ano.

digg

11º. DIGG (http://digg.com/) - $31 MILHÕES DÓLARES
O Digg é seguramente o maior agregador de conteúdos do mundo, e foi criado por Kevin Rose, considerado actualmente como um dos webmasters mais influentes da internet. Durante vários meses foi dado como provavelmente parte da Google, numa proposta de vários milhões de dólares, mas ao que parece Kevin resistiu e o Digg continua a crescer diariamente, tendo já ultrapassado a meta dos $30 milhões de dólares de facturação por ano. Depois da criação e do sucesso do Digg, surgiram na internet muitos milhares de clones a tentarem a sua sorte em nichos de mercado específicos e línguas próprias, sendo que actualmente o mercado encontra-se um pouco saturado deste tipo de aplicativos.

mini clip

12º. MINI CLIPS (http://www.miniclip.com/) - $23 MILHÕES DÓLARES
O Mini Clips foi criado por Robert Small, um jovem webmaster que entrou num nicho de mercado idêntico ao do PopCap Games, ou seja, jogos online e jogos flash, e conseguiu aos poucos tornar-se uma referência num conceito mini. Os jogos são em formato curto e de execução rápida, e o site encontra-se actualmente traduzido para várias línguas, o que ajuda imenso ao crescimento global. Actualmente o site rende algo como $23 milhões de dólares em publicidade todos os anos.

engadget

13º. ENGADGET (http://www.engadget.com/) - $20 MILHÕES DÓLARES
O Engadget foi criado por Ryan Block, que havia criado o Gizmodo e mais tarde saiu da equipa editorial para fundar o Engadget. Este é seguramente um dos maiores blogs do mundo na actualidade, e foca-se unicamente em trazer diariamente entre 30 a 50 notícias sobre a área da tecnologia, informática e gadgets. O site é rentabilizado através de contratos de publicidade e rende cerca de $20 milhões de dólares ao ano. Resta dizer que este nicho de mercado encontra-se actualmente muito saturado e que é seguramente muito competitivo.

stat counter

14º. STAT COUNTER (http://www.statcounter.com/) - $18 MILHÕES DÓLARES
O Stat Counter é um serviço de análise métrica de dados tal como acontece com o Google Analytics. No entanto este serviço é extremamente completo a vários níveis, e embora tenha uma versão gratuita até 250k pageviews/mês, a partir dai ele é um serviço pago. O seu criador Aodhan Cullen encaixa por ano cerca de $18 milhões de dólares, provenientes desses pacotes e também de publicidade.

newsgrounds

15º. NEWSGROUNDS (http://www.newgrounds.com/) - $15 MILHÕES DÓLARES
O Newsgrounds foi fundado por Tom Fulp, já perto dos 30 anos de idade, e é basicamente um portal com tudo e feito por todos. Ele inclui notícias, blogs, jogos, filmes e uma variada oferta de recursos, criados e potenciados pelos seus diversos autores. O site é rentabilizado maioritariamente com campanhas publicitárias, e rende por ano o equivalente a $15 milhões de dólares.

voltage

16º. VOLTAGE (http://www.voltage.com/) - $12 MILHÕES DÓLARES
A Voltage foi inicialmente fundada por Rishi Kacker e Matt Pauker, ambos empreendedores sub-30. A empresa dedica-se actualmente às praticas de encriptação de emails, encriptação de bases de dados e gestão de soluções empresariais na área da protecção de dados. Actualmente é uma empresa robusta e cresceu ao ponto de trabalhar com algumas das maiores empresas do mundo. O negócio rende actualmente cerca de $12 milhões de dólares por ano.

plenty of fish

17º. PLENTY OF FISH (http://www.plentyoffish.com/) - $10 MILHÕES DÓLARES
O Plenty of Fish é um website de encontros e relações entre homens e mulheres. Já haviamos falado dele na série de Milionários do Adsense. Ele foi criado por Markus Frind, que sozinho e contra todas as expectativas, ganha cerca de $10 milhões de dólares por ano, com uma forte rentabilização com Google Adsense.

my year book

18º. MY YEAR BOOK (http://www.myyearbook.com/) - $10 MILHÕES DÓLARES
O My Year Book foi fundado por Catherine e David Cook, dois jovens sub-20 e obviamente sub-30. Esta é actualmente uma das redes sociais que mais cresce em todo o mundo, recebendo milhares e milhares de novos utilizadores todos os dias. Além do factor rede social, o site oferece jogos de perguntas, weblogs e também videos. A brincadeira dos dois jovens já rende cerca de $10 milhões de dólares ao ano.

the pirate bay

19º. THE PIRATE BAY (http://thepiratebay.org/) - $10 MILHÕES DÓLARES
Este é seguramente um nicho de mercado pelo qual não o aconselho a enverdar. As questões legais em torno dos torrents e da partilha ilegal de ficheiros podem não compensar os lucros anuais do projecto. O Pirate Bay foi fundado por Fredrik Neij e embora esteja praticamente todos os anos envolvido em questões legais em tribunais, é um projecto que rende $10 milhões de dólares por ano em publicidade.

iced out gear

20º. ICED OUT GEAR (http://www.icedoutgear.com/) - $10 MILHÕES DÓLARES
A Iced out Gear é uma loja online de comércio de acessórios urbanos, como braceletes, bijuteria e muitos outros tipos de acessórios de moda. Embora seja um modelo de negócio típico, actua num nicho de mercado muito específico, o que lhe garante alguma visibilidade face aos grandes retalhistas. O projecto foi criado por David Levich e rende actualmente cerca de $10 milhões de dólares por ano.

CONCLUSÃO

O objectivo deste artigo, além do teor inspirativo que poderá ter em todos nós, é o de centrar as atenções na grande variedade de nichos de mercado aqui explorados. No meio de tanto sucesso existem alguns blogs também, e alguns sites que pela sua simplicidade e funcionalismo, poderiam muito bem ter sido criados por você. Esta lista como referi em cima, é apenas de webmasters sub-30, ou seja, que criaram riqueza na internet antes dos 30 anos de idade.

Existem aqui seguramente alguns exemplos perfeitamente incríveis, de empreendedores que conseguiram ser visionários nas suas ideias, mas existe também muito trabalho e suor em áreas e modelos de negócio já muito frequentados e concorrenciais. Acima de tudo o sucesso está sempre aliado à pericia que o autor tem de saber criar e promover o seu projecto, e não propriamente o facto de o nicho de mercado já estar ou não saturado. O Google tambem entrou no mercado quando já existiam motores de busca, correcto?

Alguns destes exemplos são seguramente uma inspiração para mim a vários níveis, e cabe a tanto a mim como a você, conseguir extrair o máximo destas aprendizagens e compreender quais os melhores caminhos a seguir na hora de criar um novo site ou blog. Como referi ao longo do artigo, existem ai modelos de negócio que são nichos de outros nichos de mercado, como por exemplo a venda de cadeiras de escritório para executivos, ou a venda de acessórios de moda para jovens urbanos.

Bons empreendimentos!
Até Já!

Ativando o mod_rewrite

O que é mod_rewrite?

É um módulo escrito para o servidor Apache, responsável pela reescrita de URLs em páginas Web. Que fornece uma regra simples sem níveis de seção na URL.

Hoje em dia, com a popularização de assuntos como SEO, usabilidade e acessibilidade, esta prática se tornou comum e está cada vez mais sendo utilizada por grande portais.

Antes de mais nada, para que o módulo mod_rewrite funcione, obviamente você deve ter configurado e ativado no seu servidor Apache.

Obs: Caso você use o Wordpress ou algum sistema que use essa função e ao tentar abrir a pagina de um erro então crie o arquivo .htaccess conforme explicado abaixo.

Criando o .htaccess

Crie um arquivo com o nome “.htaccess” (exatamente desta forma), e mova para a pasta raiz do seu domínio (ou onde queira implantar a reescrita). Em seguida, insira o código abaixo:

RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php?cod=$1

Entendendo o código:

RewriteEngine On = Ativa o suporte à reescrita
RewriteCond %{SCRIPT_FILENAME} !-f = Não aplica a condição para arquivos
RewriteCond %{SCRIPT_FILENAME} !-d = Não aplica a condição para diretórios
RewriteRule ^(.*)$ index.php?cod=$1 = Regra de reescrita onde qualquer string (.*) após a pasta, onde estiver o .htaccess, será interpretado por index.php passado na variável cod

Na prática, se você tem uma URL do tipo www.url.com.br/secao/subsecao/, será interpretada por www.url.com.br/index.php?cod=secao/subsecao/. E mais, você não terá limite de níveis para utilizar com as /.

Ativando no Apache

Para ativar o mod_rewrite no apache(ele vem desativado por padrão) faça o seguinte

No arquivo Conf/httpd.conf, procure pela linha:

#LoadModule rewrite_module modules/mod_rewrite.so

e descomente removendo o símbolo “#” do início da linha para ficar assim:

Procure também pela linha

AllowOverride None

e altere para

AllowOverride All

1º Evento Senac TI de Web Desing transmitido online!

O que eu tenho para dizer dos primeiros 20 minutos de palestra?
MUITA GENTE, mas MUITA gente MESMO! Está lotadinho! \o/

Quem está no comando agora é a Daniela Melo da UOLhost, com uma palestra bem dinâmica, ela contou um pouquinho da vida dela, mostrou dados e porque que as pessoas não compram por internet. Mostrou também alguns comerciais engraçados sobre o assunto.

Vejam algumas fotinhos que já conseguimos registrar!


Resumo da Palestra PagSeguro UOL

Daniela Melo abriu a noite de palestras do 1º Encontro Senac TI de Web Design, na Faculdade Senac Florianópolis. O tema central da apresentação é o Pag Seguro, sistema de pagamentos via internet desenvolvido pela UOL. “Além de seguro, o processo é rápido”, definiu Daniela, que apresentou o funcionamento, as formas de transação e de comunicação com o cliente. Segundo ela, um dos principais objetivos do programa é garantir a segurança ao consumidor, eliminar as perdas e reduzir os custos, com um diferencial importante: o cliente não paga por isso.

Resumo da Palestra .COM da VeriSign

A “any era” chegou. Assim Paula Romano define os novos tempos da web no Brasil e no mundo. O que se vê hoje em dia, segundo ela, é um aumento dramático nas interações em rede. O uso da internet cresce velozmente e o perfil dos usuários mudou bastante. Dados apresentados pela palestrante mostram que, em maio deste ano, 20,6 milhões de pessoas acessaram redes sociais. “Isso revela que a internet está sendo utilizada para troca de idéias”, complementa.

O mundo dos domínios foi o tema da apresentação. A representante da VeriSign ressaltou que há um grande mercado em expansão no Brasil. “Entre todas as empresas que possuem acesso a internet, apenas 54% têm web site”, destaca Paula. Os trabalhos da VeriSign são de registro dos domínios .com e .net. Ela explicou o processo de registros e ainda ressaltou que a escolha do endereço faz toda a diferença, já que é a identidade da empresa na internet.

Hoje, a VeriSign é responsável pela certificação de segurança dos 40 maiores bancos do mundo. E mais, dos 50 maiores sites de e-comerce, 47 utilizam o certificado de segurança deles.

Novidades : DZone

segue uma lista de coisas interessantes e úteis:

- JavaFX : Entrevista com Tom Ball (ligação com o compilador openjfx)

- Porque programadores não gostam de base de dados relacionais

- Tutorial Silverlight - Interação com o DOM

- Computação paralela em java

- Flash, ou Flex, ou ambos?

- Vem ae o PHP6 com algumas modificações e novidades

- Usando Subversion para projetos web

- Experiência - Flash : o incrível renderizador

- Soluções de negócios OpenSource: ECM, CRM, CMS, outros

- 40 bons programas gráficos OpenSource

- Lista de 5 coisas interessantes sobre o Eclipse relacionadas a gerenciamento de projeto

Iniciando : Adobe AIR e Flex

um post muito interessante, introdutórios sobre Adobe Flex e AIR, muito interessante que recomendo… (em inglês)

Adobe AIR and Flex : Getting Start

Fonte : DZone

Flex e o MVC…

O Cairngorm é o carro chefe dos frameworks para a plataforma Flex. Há quem diga que é o framework que todo desenvolvedor flex deve conhecer. E de fato o é. Ele é simples e intuitivo, e é também suportado pela Adobe. Por todos esses motivos é o mais utilizado no mercado. Bom é que ele não é o único.

Dentre os frameworks para a plataforma Flex em desenvolvimento atualmente, um deles vem se tornando cada vez mais popular. Me refiro ao PureMVC, visto ter sido citado como “vencedor” em uma comparação de frameworks (ao todo, 9) para o Flex e desde então só tem aumentado seu número de interessados.

Antes de iniciar a exposição do framework em questão, em linhas gerais, é necessário entender o que é um Framework de Aplicação. Assisti a exposição citada logo acima e achei-a clara, precisa e útil no que concerne a definição de um Application Framework. Recomendo a visão desta apresentação com atenção mais precisa a esta parte. Reproduzo agora em um parágrafo a síntese do que assimilei para que não percamos o desenrolar do raciocínio.

Um Application Framework(Servidor de Aplicação) pode ser dividido em duas metades. A parte Prática e a parte Metodológica. A parte prática pode ser definida como as classes e padrões que irão compo-lo. A parte Metodológica é a parte do como fazer, como usar. Esta parte, muitas vezes chamada de boas práticas, pode ser entendida como a ideologia de utilização dos patterns de um determinado framework. É a vontade constante de manter tudo desacoplado e coeso. É aquilo que nos baseamos na hora de decidir se é melhor criar um Command para executar determinada função ou disparar um evento para um Manager definido no Model que executará uma função específica de uma View. Enfim, a junção destas duas metades é chamada de Application Framework. Capiche?

O PureMVC:

Model
View
Controller
Façade
Mediator
Command
Proxy
Notification
Observer

Diferenças primariamente percebidas entre o PureMVC e o Cairngorm:

A estrutura meta-padronizada Model-View-Controller do PureMVC é pouco similar ao Cairngorm. Diferentemente deste, nós não desenvolvemos classes do tipo Model, View, ou Controller. Estas classes já estão implementadas no PureMVC de maneira que ficam essencialmente “escondidas”. Utilizamos o MVC implementando Mediators, Commands e Proxys. Estes são registrados nas classes Singleton: View, Controller e Model respectivamente. Trocando em miúdos, Mediator = View, Command = Controller e Proxy = Model.

O registro nas Entidades principais citadas logo acima acontece da seguinte forma. As classes Model, View e Controller são instanciadas como Singleton dentro da Classe Facade, de maneira que o Facade, que também é Singleton, disponibiliza métodos que tem a função de registrar um Mediator na View, um Command no Controller e um Proxy no Model, tudo por composição. Uma vez instanciado o Facade, a estrutura MVC já está criada e pronta para uso. Sim, o PureMVC é lindo. Brincadeiras a parte, imagino que se tudo está claro até agora, é fácil concluir que todo o trabalho de implementação de uma aplicação desenvolvida com o PureMVC vai ser feita dentro de Mediators, Views e Commands.

Ok, mas como esses “caras” se comunicam??

Diferentemente do Cairngorm que usa uma estrutura de eventos (CairngormEvent) o PureMVC utiliza o padrão Notification. Uma notificação pode ser disparada de um Mediator, por exemplo, e ser “escutada” em um ou mais Commands e vice versa. A estrutura do padrão Notification, isto é, a forma como, por exemplo, um Mediator pode escutar uma notificação de um Proxy, está implementada internamente no framework, através do padrão Observer, ficando longe da visão do desenvolvedor. Apesar do PureMVC ser mais complexo e com uma curva de aprendizado maior do que a curva de aprendizado do Cairngorm a estrutura do padrão Notification, isto é, a forma como um Mediator pode escutar uma notificação de um Proxy por exemplo, está implementada internamente no framework ficando longe da visão do desenvolvedor. Isto faz o nosso framework em questão ser simples de implementar mas sem perder a robustez.

Após esta exposição superficial, é possível concluir que, por agrupar mais patterns que o Cairngorm, o PureMVC é mais complexo. Apesar da complexidade ficar “escondida” do desenvolvedor, é claro que é necessário, num primeiro momento, entende-la. Desta forma, a curva de aprendizado se torna maior. É melhor que o Cairngorm? Pode ser. Acredito que este framework irá dar bons frutos em projetos grandes no futuro, mas assim como o Cairngorm, o PureMVC é um Application Framework e por esse motivo sofre dos males que todos os Applications Frameworks sofrem: Se não utilizado com uma METODOLOGIA bem definida, isto é, com a vontade constante de manter tudo coeso e desacoplado, pode abrir espaço para problemas de implementação.

Convenções de Código e Melhores Práticas

Estes dias a Adobe publicou as convenções de código e melhores praticas para se desenvolver ActionScript 3.0.

O documento não é muito diferente do que foi publicado pelo Fabio Teraccini há um tempo atrás.

Aconselho você desenvolvedor Flex a dar uma lida nestes documentos. Com certeza irá te ajudar a produzir um código “consistente, bem organizado e profissional” .

Eu procuro seguir essas convenções (sempre escapa uma ou outra), mas e vocês ? Mais alguém se preocupa em manter um código padronizado ?

Fonte: http://blog.dclick.com.br/2008/04/17/convencoes-de-codigo-e-melhores-praticas/

Simplificando remoting com flex

Apesar de existir um bom número de opções para facilitar o uso do remoting do Flex, desenvolvemos na DClick uma outra forma bastante simples que é adequada para projetos pequenos.

A API consiste em uma simples classe, Service, que deve ser extendida pelas classes de seu projeto que farão as chamadas remotas:

Actionscript:

1.package br.com.dclick.services
2.{
3.    import br.com.dclick.mm.components.utils.GenericLoader;
4.    import mx.controls.Alert;
5.    import mx.rpc.AsyncToken;
6.    import mx.rpc.events.AbstractEvent;
7.    import mx.rpc.events.FaultEvent;
8.    import mx.rpc.events.InvokeEvent;
9.    import mx.rpc.events.ResultEvent;
10.    import mx.rpc.remoting.RemoteObject;
11.
12.    public class Service
13.    {
14.        private static const SUFIX_RESULT = “Result”;
15.        private static const SUFIX_FAULT  = “Fault”;
16.
17.        protected var service:RemoteObject;
18.
19.        function Service( source:String = “”, destination:String = “” )
20.        {
21.            service = new RemoteObject( source );
22.            service.source = source;
23.            service.addEventListener( InvokeEvent.INVOKE, invoke );
24.            service.addEventListener( ResultEvent.RESULT, result );
25.            service.addEventListener( FaultEvent.FAULT, fault );
26.        }
27.
28.        private function invoke( event:InvokeEvent ):void
29.        {
30.            before();
31.        }
32.
33.        private function result( event:ResultEvent ):void
34.        {
35.            resultOrFault( event, defaultResultHandler, SUFIX_RESULT );
36.        }
37.
38.        private function fault( event:FaultEvent ):void
39.        {
40.            resultOrFault( event, defaultFaultHandler, SUFIX_FAULT );
41.        }
42.
43.        private function resultOrFault( event:AbstractEvent, defaultHandler, sufix:String )
44.        {
45.            removeEventListeners();
46.            try
47.            {
48.                var method:String = getMethod( event.token ) + sufix; /// xxxResult ou xxxFault
49.                if( this.hasOwnProperty( method ) )
50.                {
51.                    execute( method, event );
52.                }
53.                else
54.                {
55.                    defaultHandler( event )
56.                }
57.            }
58.            catch( e:Error )
59.            {
60.                throw e;
61.            }
62.            finally
63.            {
64.                after();
65.            }
66.        }
67.
68.        private function removeEventListeners():void
69.        {
70.            service.removeEventListener( InvokeEvent.INVOKE, invoke );
71.            service.removeEventListener( ResultEvent.RESULT, result );
72.            service.removeEventListener( FaultEvent.FAULT, fault );
73.        }
74.
75.        private function execute( method:String, event:AbstractEvent ):void
76.        {
77.            this[ method ]( event );
78.        }
79.
80.        private function getMethod( token:Object ):String
81.        {
82.            // nome do método executado no RemoteObject
83.            return AsyncToken( token ).message[ "operation" ];
84.        }
85.
86.        // método executado antes de todas as chamadas. Pode sofrer override.
87.        protected function before():void
88.        {
89.            GenericLoader.show();
90.        }
91.
92.        // método executado após todas as chamadas. Pode sofrer override.
93.        protected function after():void
94.        {
95.            GenericLoader.hide();
96.        }
97.
98.        // método default executado após o sucesso de uma chamada caso não haja um result handler adequado
99.        // na classe filha.
100.        protected function defaultResultHandler( event:ResultEvent ):void
101.        {}
102.
103.        // método default executado após a falha de uma chamada caso não haja um result handler adequado
104.        // na classe filha
105.        protected function defaultFaultHandler( event:FaultEvent ):void
106.        {
107.            var method:String = getMethod( event.token );
108.            trace( event.fault.getStackTrace() );
109.            Alert.show( event.fault.getStackTrace(), “Error in method ” + this + “.” + method + “()” );
110.        }
111.    }
112.}

Existem dois pontos chaves nesta classe:
1. Os event listeners adicionados no construtor. Eles permitem a execução de métodos genéricos antes e após as chamadas. No nosso caso mostramos um componente genérico de “loading”, que reforça para o usuário que alguma tarefa está sendo realizada.
2. A lógica executada no método resultOrFault. Este método descobre qual o nome do método executado no servidor e chama o handler adequado na classe filha, se houver.
Por exemplo, se foi executado um método “listUsers” no servidor e a chamada teve sucesso, a classe Service procura um método chamado “listUsersResult” na classe filha e o chama. Caso houvesse erro na chamada, procuraria pelo método “listUsersFault”.
As constantes “Result” e “Fault” são configuradas nas linhas 14 e 15.

O uso desta API é bastante simples. Vamos supor uma classe UserService:

Actionscript:

1.package br.com.dclick.services
2.{
3.    // imports omitidos
4.    public class UserService extends br.com.dclick.services.Service
5.    {
6.        function UserService()
7.        {
8.            // id do servico configurado
9.            super( “clientService” );
10.        }
11.
12.        function listUsers():void
13.        {
14.            service.listUsers();
15.        }
16.        function listUsersResult( event:ResultEvent ):void
17.        {
18.            var users:ArrayCollection = event.result as ArrayCollection;
19.            UserModel.getInstance().users = users;
20.        }
21.
22.        function login( user:UserVO ):void
23.        {
24.            service.login( user );
25.        }
26.        function loginResult( event:ResultEvent ):void
27.        {
28.            UserModel.getInstance().user = event.result as user;
29.        }
30.        function loginFault( event:FaultEvent ):void
31.        {
32.            Alert.show( “Erro”, “Login inválido” );
33.        }
34.    }
35.}

E para usar nosso serviço, basta:

Actionscript:

1.new UserService().listUsers();
2.new UserService().login( userVO );

É possível reutilizar uma instância do mesmo serviço, desde que os métodos chamados não utilizem variáveis de instância, o que não é recomendado de qualquer forma:

Actionscript:

1.var userService:UserService = new UserService();
2.userService.listUsers();
3.userService.login( userVO );

O código da classe Service está liberado sob a licensa LGPL.

Fonte: http://blog.dclick.com.br/2008/01/21/simplificando-remoting-com-flex/

Adobe Flex : porque usar remoting?

Algo bem interessante que estava pesquisando, o porque que o uso do LiveCycleDS, GraniteDS, AMFPHP (AMF3) é melhor que utilizar XML, ou o Web Services?

e a resposta é simples, porque trafega menos dados (bytes) com isso o tempo de resposta é consideravelmente menor :-D

em um exemplo que vi na internet [link], foi realizado um teste simples com os 3 tipos de comunicação, monitorando os pacotes TCP para saber o total de dados trafegados, no caso foram recuperados 5 registros da base de dados…

onde foi obtido o seguinte resultado (valores representado bytes) [chamada | resposta]:

XML : 234 | 912
Web Service : 914 | 7249
Flash Remoting(AMF) : 330 | 677

observando isto podemos concluir que o pior dos 3 é o Web Service pois a quantidade de dados enviados na resposta é muito alta, enquanto a quantidade enviada pelo AMF é a menor, lembrando que este protocolo também trabalha com os dados em modo binário ao inves de texto como os outros 2.

Fonte: http://erkobridee.com/2007/11/30/adobe-flex-porque-usar-remoting/

Aulas Magicas

Trabalho como instrutor de infromática desde 1996, já fiz alguns cursos, oficinas pedagógicas, sempre tentado melhorar a didática e a forma de ensino, com o auxilio da internet, eu tenho feito uso de alguns recursos em sala, foram testes simples para solucionarem deficiências de aprendizado de alguns alunos, como alguns alunos mesmo anotando, usando o livro, sentem dificuldades em lembrar ou praticar alguns exercícios, fiz uso de Screencasts1 e Podcasts2, disponíveis3 no meu site4.

A idéia é estender a aula, o vinculo com o aluno e fornecer material de estudo, criando um atrativo a mais as aulas. Universidades como a Univali 5 e Unisul 6, têm utilizado recursos como blogs dos cursos onde os alunos e visitantes acompanham, eventos e noticias de cada área especifica Podcasts com debates, palestras ou disponibilidades de aula, Screencasts de palestras, eventos e aulas.

Na grande maioria utilizando recursos gratuitos da web (Youtube, Freescreencast, Mypodcast, Blogger). Disponibilizar ao aluno material, para que ele veja e reveja o uso de uma ferramenta, ou pegue dicas de uma aula que ele faltou, ou mesmo conteúdo que ele não anotou. Utilizando como base para uma melhor formação de idéias e conceitos.

Acredito que qualquer Instituição tem estrutura, material pra montar alguns demonstrativos, fazer alguns testes em matérias especificas, sem onerar custo algum, as ferramentas são gratuitas, o máximo serias disponibilizar um microfone na maquina do professor. Acredito que terá uma ótima aceitação dos alunos, para os professores é mais uma ferramenta de trabalho, que fará com que o aluno aproveite melhor seus conhecimentos.

Fica a sugestão, seguem algumas matérias do UNIVERSIA falando sobre o uso de tecnologias em sala:

Intimidade com a web - Como a Internet pode tornar as aulas mais dinâmicas e interessantes http://www.universia.com.br/materia/materia.jsp?materia=13525

Professor “blogueiro” - Razões para criar um blog e usá-lo como aliado em sala de aula http://www.universia.com.br/materia/materia.jsp?materia=14193

Aulas mágicas - É possível fazer de sua aula a número 1. Aprenda com os mestres!
http://www.universia.com.br/materia/materia.jsp?materia=14315

Multiplicando Competências - Entenda o conceito de metacapacitação http://www.universia.com.br/materia/materia.jsp?materia=12311

Ponto para o professor - Saiba como usar a avaliação institucional a seu favor http://www.universia.com.br/materia/materia.jsp?materia=13296

1 - ScreenCasts é o registro (gravação) da saída do vídeo gerado por computador em atividade. Pode ou não conter o áudio integrado.São úteis para demonstrar características de softwares. Usuários podem relatar erros e colaboradores mostrar a outros como uma tarefa é realizada em um ambiente específico. Considerando o custo elevado de um curso/treinamento presencial é provável que os ScreenCasts se tornem populares. Por exemplo, organizadores de seminários sobre softwares podem gravar seminários completos e disponibilizá-los em DVDs a todos os participantes para futura referência e/ou vender estas gravações.Na internet os ScreenCasts são largamente utilizados em forma de vídeos-tutoriais ou vídeos-aula, para ensinar iniciantes ou até usuários mais experientes o funcionamento de um determinado software.

Referencias:
http://screencastsonline.com/sco/
http://freescreencast.com/
http://www.webpaulo.com/screencast.htm

2 - Podcasting é uma forma de publicação de programas de áudio, vídeo e/ou fotos pela Internet que permite aos utilizadores acompanhar a sua atualização. A palavra “podcasting” é uma junção de iPod - um aparelho que toca arquivos digitais em MP3/MP4 - e broadcasting (transmissão de rádio ou tevê).Assim, PodCasts são arquivos de áudio que podem ser acessados pela internet.Estes áudios podem ser atualizados automaticamente mediante uma espécie de assinatura. Os arquivos podem ser ouvidos diretamente no navegador ou baixados no computador.

Referencias:
http://www.mypodcast.com/
http://eupodo.com.br/2004/12/11/podcasts/
http://int.limao.com.br/mm/ShowPodCastsLimao.action
http://veja.abril.com.br/idade/podcasts/mainardi/
http://www1.folha.uol.com.br/folha/podcasts/

3 – Por problemas de espaço e consumo de banda tive que remover do site, só deixando os tutoriais.

4 – Guias e materiais extras disponíveis para os alunos

[Ilustração e tratamento de imagens]
Arquivos - http://www.jacksonfdam.com.br/designgrafico.html
Tutoriais e Guias - http://www.jacksonfdam.com.br/design.html
[Desenvolvedor Web]
Arquivos - http://www.jacksonfdam.com.br/webdesign.html
Tutoriais e Guias - http://www.jacksonfdam.com.br/design.html
[PHP]
Arquivos - http://www.jacksonfdam.com.br/desenvolvedorweb.html
Tutoriais e Guias - http://www.jacksonfdam.com.br/desenvolvimento.html

5 – Referencias da Univali:

http://www.univali.br/modules/system/stdreq.aspx?P=2365&VID=default&SID=507964118333497&S=2&C=31152
Todos os Casts de Aula esta disponíveis só para alunos.

6 – Referencias da Unisul:

http://www.unisul.br/content/site/AUniversidade/campusdaunisulvirtual/
http://webcast4.isat.com.br/unisul/