Jump to content

Archived

This topic is now archived and is closed to further replies.

Guilherme Oderdenge

Code52-like no iMasters

Recommended Posts

Olá!

 

O CODE52

O Code52 é um projeto de projetos. Toda semana, durante 52 semanas, eles lançam um software novo. Todos sabemos que projetos Open Source, hoje, não é pra qualquer um - e a maior ambição do Code52 é justamente essa: unir a comunidade Open Source. Fazer com que nós, desenvolvedores, prestemos mais atenção no "Open Source".

 

Para saber mais, clique aqui e leia a matéria que o iMasters preparou para o Code52.

 

E O QUE O IMASTERS TEM A VER COM ISSO?

A comunidade do iMasters é grande. E que tal aproveitarmos o máximo dela de fato? Que tal se fizéssemos uma brincadeira como o Code52 está fazendo? Claro, nada tão grande. Eu diria algo como uma solução por mês. Não precisamos fazer necessariamente um software complexo, mas sim uma solução, tal como um plug-in para jQuery ou algum script em PHP.

 

Tenho certeza que vai ter quem critique a ideia. Peço que o façam, mas de forma produtiva. Não quero fazer polêmica na comunidade, mas gostaria mostrar que juntos, podemos. É como eu disse: nada muito complexo. A ideia é que todos dêem continuidade a solução, organizando-a melhor, arrumando seus erros, e implementando recursos.

 

POR QUE ISSO?

Se vocês visualizarem o meu status mais recente, verão que eu estou sem "nada" para fazer e quero praticar. Então, por que não praticar de maneira produtiva, à todos? E eu tenho certeza que independente do que façamos juntos, será bom. Não só pra mim, mas para todos os envolvidos. Seja pelo networking (trabalho em equipe), seja pelo conhecimento adquirido, ou até mesmo pelo "lidar" com o Open Source.

 

MAS EM QUE LINGUAGEM? QUANTOS PROGRAMADORES? QUANTOS DESIGNERS?

Calma! Calma! Calma! Eu não considero essa minha ideia nem um projeto ainda. É um esboço de projeto - e só vai pro papel se realmente render. Mas para organizar melhor as suas perspectivas à respeito desse projeto colaborativo, aqui vai:

 

  • LINGUAGENS
  • A linguagem deve ser comum entre os envolvidos no(s) projeto(s). Se os desenvolvedores em comum programarem melhor em php, então a solução em questão é em php. É claro que isso vai ser melhor organizado no ato
    preparatório para o desenvolvimento do software.
     
  • REALIZADORES
  • Quando falamos de Open Source, falamos de colaboradores. Todos poderiam participar, mas para melhor organização, teria de ser aprovado em um rápido processo seletivo. É claro que existem as exceções, tal como aqueles que nós conhecemos o comprometimento e a experiência como desenvolvedor.
     
  • RESPONSABILIDADES
  • Cada usuário que entrar no projeto de desenvolvimento de um aplicativo terá uma responsabilidade. Existirá(ão) o(s) encarregado(s) pela interface gráfica do aplicativo; existirá(ão) o(s) encarregado(s) pela programação do aplicativo e etc. Neste caso é tudo relativo, porque vai depender das especialidades dos usuários envolvidos, e de quantos usuários trabalharão em um aplicativo em questão.
     
  • PRAZOS
  • Isso é um detalhe a ser resolvido mais adiante. Todos aqui tem seus afazeres e não tem 100% do tempo disponível para um "projeto Open Source". Mas a partir do momento que algum tempo do dia de cada envolvido for destinado ao projeto, podemos matematizar prazos para o software. Não precisa ser nada tão preciso como o Code52, mas a ideia é que seja parecida.
     
  • DESENVOLVIMENTO
  • Desenvolveremos o que achar que devemos desenvolver. Não iremos procurar uma solução que falta no mercado, e tampouco iremos re-inventar a roda. Tentaremos nos divertir fazendo algo diferente, que em algum momento ajudará alguém, e faremos algo para mostrar que juntos podemos.
     
  • ESTRUTURA
  • Com gastos relacionados ao domínio e a hospedagem, estou disponível para me responsabilizar. Não tenho em mente adquirir um domínio para cada solução lançada, mas um para todos - tal como o Code52. Utilizaremos o fórum do iMasters como base para disponibilização dos aplicativos, acompanhamento do desenvolvimento e como fonte de instrução para os futuros colaboradores. O QG para os desenvolvedores debaterem à respeito de um aplicativo é algo a ser discutido.

 

LEGAL. ESTOU INTERESSADO, E AGORA?

Open Source - lembre-se disso. Poste aqui no tópico algo que demonstre o seu interesse. Deixe sua opinião; deixe o seu manifesto. Se realmente estiver interessado à desenvolver, diga-nos o que você pode fazer pelos softwares e quanto tempo tem disponível para atuar como "programador aberto".

 

NÃO ESTOU INTERESSADO, E AGORA?

Bom, infelizmente, não posso fazer nada. Mas acredite, se tudo der certo e você mudar de ideia, estaremos de portas abertas para você e seus conhecimentos! :thumbsup:

 

NÃO SEI FAZER NADA, MAS QUERO PARTICIPAR. E AGORA?

O projeto é para todos. Infelizmente, nas instâncias iniciais, procuraremos botar quem consegue pôr a mão na massa - por que de que vale um projeto se ele não sai do lugar? Mas não se preocupe, tenho certeza que você deve ter boas ideias para o projeto. E as ideias serão muito bem-vindas. ;)

 

E O PROJETO COMEÇA QUANDO?

Caaaaaaaaaaaaalma, tchê! Se eu fosse onipotente, começaria agora. Estou louco para desenvolver. Mas sem uma equipe, no way. Então, vamos aguardar e ver o que acham dessa idea-based. :)

 

CONSIDERAÇÕES FINAIS

Se você leu tudo, até agora, eu lhe agradeço, de verdade. Fique à vontade para deixar o seu manifesto logo a baixo. Quero saber sua opinião - seja boa ou ruim. Mas lembre-se: seja produtivo. Momento algum eu faltei respeito com você, e espero o mesmo de você. :thumbsup:

 

Abraço!

 

BÔNUS

http://www.youtube.com/watch?v=H1ni1lQBEXg

Share this post


Link to post
Share on other sites

Opa, movimentando idéias, isso é bom. :clap:

 

Que tal usar o GitHub como repositorio para os projetos? Acredito que boa parte dos desenvolvedors já tenham uma conta no mesmo, assim facilita, ainda mais pela questão Open Source.

 

Para projeto inicial seria interessante algo pequeno, apenas para dar um gás, e juntar mais pessoas.

 

Sobre a linguagem, que tal Javascript? Em questão de acessibilidade, é a mais acessivel, e podemos obter ótimos resultados, mas é claro, temos que ver se todos concordam, a idéia do plugin jQuery é bacana, mas não seria mais interessante, uma biblioteca em si? Mesmo que simples, apenas para manipulação básica do DOM, acabar com as inconsistências cross-browsers, etc.

 

Tem também a possibilidade de Rede Social, mas à um tempo atrás foi criado um projeto para desenvolver uma, mas não sei o que ocorreu, só sei que o projeto estagnou, espero que o mesmo não ocorra aqui.

 

Vamos lá galera, sugestões. Mais tarde vou dar outra lida, pq agora estou morrendo de sono. :lol:

Share this post


Link to post
Share on other sites

Em questão de linguagem, se for limitado, poucos irão participar, talvez você seja bom em PHP, mas prefere codificar outra coisa, isso ajuda muito nos estudos e prática(s) de desenvolvimento.

 

Pra mim, tanto faz se for PHP, Java, Perl, JavaScript !

Vote-up pra GitHub como repositório .. !

 

:thumbsup:

Share this post


Link to post
Share on other sites

Nossa, jurava que a recepção iria ser pior. Algo do tipo: "Ah cara, desiste, não vai dar certo!". Nossa, fiquei super feliz der ler estas duas respostas.

 

Então, eu estava mesmo pensando no GitHub para repositório de código. É a maneira mais fácil e bonita para escrever código aberto. ^_^

 

E assim, server-side, por minha parte, é apenas PHP & MySQL. Mas independente da linguagem ou do aplicativo que fizermos, posso trabalhar a área estética.

 

Mas enfim, já que dois moderadores gostaram, acho que dá pra ir adiante, não é? Mandei MP para ambos, para um melhor contato.

 

Com relação ao aplicativo/solução à ser criado/a, isso nós teremos que pensar melhor, porque precisamos ver quais linguagens o time vai saber programar, e então, a partir daí, decidir o que fazer. Mas como já disseram, algo pequeno, só pra por um gás. :thumbsup:

Share this post


Link to post
Share on other sites

Uma ideia que talvez seja interessante (apesar de não ser muito simples) é criar um gerador de formulário, em que você adiciona as validações em uma linguagem server-side (sugiro PHP) e o HTML e a validação client-side é criada também. Seria, no fim das contas, um código parecido com isto:

 

<?php

$form = new Form();

$nome = new InputText('nome');
$nome->setLabel('Nome: ')
    ->setRequired() // definindo que o campo é obrigatório
    ->addValidator(new LenghtValidator(array('min' => 10, 'max' => 50)))// definindo que deve ter entre 10 e 50 caracteres de tamanho
    ->addValidator(new RegexValidator('alguma ER para validar o campo')); // só pra exemplificar que podemos ter vários validadores ao mesmo tempo

$form->addElement($nome);
...
$this->getView()->assign('form', $form);

 

Na view, teríamos algo assim:

 

<?php echo $this->form->getValidatorDescription();// o nome ficou ruim, mas a ideia é pegar as informações para validação client side com base no que foi criado no PHP ?>

...

<?php echo $this->form; // vai renderizar o HTML do formulário gerado?>

 

O que acham?

 

Carlos Eduardo

Share this post


Link to post
Share on other sites

Olá, Matias. Obrigado pelo seu manifesto. :thumbsup:

 

A ideia não é descartável. Inclusive, você tem interesse em participar? O projeto a ser desenvolvido será discutido entre os integrantes.

 

Abraço!

Share this post


Link to post
Share on other sites

Uma ideia que talvez seja interessante (apesar de não ser muito simples) é criar um gerador de formulário, em que você adiciona as validações em uma linguagem server-side (sugiro PHP) e o HTML e a validação client-side é criada também. Seria, no fim das contas, um código parecido com isto:

 

<?php

$form = new Form();

$nome = new InputText('nome');
$nome->setLabel('Nome: ')
    ->setRequired() // definindo que o campo é obrigatório
    ->addValidator(new LenghtValidator(array('min' => 10, 'max' => 50)))// definindo que deve ter entre 10 e 50 caracteres de tamanho
    ->addValidator(new RegexValidator('alguma ER para validar o campo')); // só pra exemplificar que podemos ter vários validadores ao mesmo tempo

$form->addElement($nome);
...
$this->getView()->assign('form', $form);

 

Na view, teríamos algo assim:

 

<?php echo $this->form->getValidatorDescription();// o nome ficou ruim, mas a ideia é pegar as informações para validação client side com base no que foi criado no PHP ?>

...

<?php echo $this->form; // vai renderizar o HTML do formulário gerado?>

 

O que acham?

 

Carlos Eduardo

 

 

Ah lá as Raízes do ZF vindo. kkkkk =)

É uma boa idéia sim, pq envolveria bastante coisa, uma gui para gerenciar, programação server-side e client-side e validação (que muiiiiiiiitas pessoas tem que aprender à fazer corretamente).

Share this post


Link to post
Share on other sites

Inclusive, você tem interesse em participar? O projeto a ser desenvolvido será discutido entre os integrantes.

Tenho interesse sim.

 

Ah lá as Raízes do ZF vindo. kkkkk

É uma boa idéia sim, pq envolveria bastante coisa, uma gui para gerenciar, programação server-side e client-side e validação (que muiiiiiiiitas pessoas tem que aprender à fazer corretamente).

ZF Rules!!!!!

 

A ideia é mais ou menos o que existe com o Zend e Dojo (que eu acho péssimo). Ou seja, cria o formulário uma vez só e a mesma validação é feita no server side (segurança) e no client side (facilidade para o usuário).

 

Outras ideias podem ser dadas, com certeza. Até porque para fazermos isto seria algo bem complicadinho, mas acho que dá pra fazer sim. Podemos começar fazendo só a parte da validação server side e renderização dos elementos. Em um segundo momento podemos evoluir para a questão do client side integrado e possibilidade de modificar o HTML gerado.

 

Carlos Eduardo

Share this post


Link to post
Share on other sites

Então, Matias, já te contatei por MP para prosseguir com o negócio.

 

Eu já tava pensando em algo mais silencioso. Como falávamos lá no início do tópico, algo mais "simples" pra por gás na coisa toda, entende?

 

Um sistema gerenciável de leilão usando Node.js seria muitíssimo legal. Não é nenhum bicho de sete cabeças e seria bom para a comunidade brasileira.

 

Isso foi sugerido no chat no MSN com o Jonathan e com o Andrey.

Share this post


Link to post
Share on other sites

Outra idéia legal também seria um chat utilizando comet ( tempo real ), onde os participantes pudessem entrar, ver a lista de usuários ativos, ignorar um usuário, e o mais importante, enviar a mensagem ..

 

Para isto, poderia ser usado um banco de dados orientado a documentos, já que não vai ser algo oficial, mas pra estudos é bom !

Share this post


Link to post
Share on other sites

Só tenho uma objeção. Não sei usar o GIT (e consequentemente o GitHub). :cry:

Share this post


Link to post
Share on other sites

Só tenho uma objeção. Não sei usar o GIT (e consequentemente o GitHub). :cry:

Tem um tutorial básico de uso que eles mesmo disponibilizam .. qualquer dúvida, pergunte também .. vai ser um prazer responder, principalmente, porque pode ajudar a outros

Share this post


Link to post
Share on other sites

Outra idéia legal também seria um chat utilizando comet ( tempo real ), onde os participantes pudessem entrar, ver a lista de usuários ativos, ignorar um usuário, e o mais importante, enviar a mensagem ..

 

Para isto, poderia ser usado um banco de dados orientado a documentos, já que não vai ser algo oficial, mas pra estudos é bom !

 

A ideia de um chat é muito legal. Mas você tem ideia de um chat interativo, de usuários? Porque se fosse esse o caso, eu tinha em mente em um chat tipo o LiveZilla, para empresas e atendentes. Fazer uma coisa bonita e prática, de código aberto. Sei que já existem vários, mas o intuito do projeto é o relacionamento da comunidade e a interação com o código aberto.

 

Só tenho uma objeção. Não sei usar o GIT (e consequentemente o GitHub). :cry:

 

Mas tem interesse em participar? Porque isso com certeza não será um obstáculo se você estiver afim. :grin:

Share this post


Link to post
Share on other sites

Guilherme, de início, não é nada muito grande, acredito que tudo falado aqui ainda seja superficial na prática ( fazer : ou não ) , portanto, são só idéias, que ainda podem ser discutidas pra daí sim serem efetivadas

 

:thumbsup:

Share this post


Link to post
Share on other sites

Outra idéia legal também seria um chat utilizando comet ( tempo real ), onde os participantes pudessem entrar, ver a lista de usuários ativos, ignorar um usuário, e o mais importante, enviar a mensagem ..

 

Para isto, poderia ser usado um banco de dados orientado a documentos, já que não vai ser algo oficial, mas pra estudos é bom !

 

+1 pro chat, tava desenvolvendo um em Node.js, e é algo bastante didático.

Criar um chat com salas, emoticons e administradores seria interessante. :grin:

Referente ao banco, MongoDB? O que eu estava fazendo era com Redis, mas ele é mais complicad (principalmente para usuários Windows)

Share this post


Link to post
Share on other sites
MongoDB ou MySQL .. eu ainda prefiro usar MySQL, pois é o que a maioria da galera conhece, já que o foco será o Node

 

MongoDB ou MySQL .. eu ainda prefiro usar MySQL, pois é o que a maioria da galera conhece, já que o foco será o Node

Share this post


Link to post
Share on other sites

Eu topo, mas programo apenas em JAVA e C#, então votaria em uma dessas duas. Como eu conheço o MySQL, posso ajudar na parte de banco de dados também...

 

Abraços!

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.