Django Utilidades :: Marinho Brandaohttp://marinhobrandao.com/pt-brTue, 06 Jan 2009 08:39:12 -0000Rede social para djangonautashttp://marinhobrandao.com/blog/p/rede-social-para-djangonautas_147/<div class="document"> <p>Passando rapidinho pra recomendar o <strong>DjangoPeople.net</strong> <a class="footnote-reference" href="#id5" id="id1" name="id1">[1]</a>, site criado por <strong>Simon Willison</strong> <a class="footnote-reference" href="#id6" id="id2" name="id2">[2]</a> e <strong>Natalie Downe</strong> <a class="footnote-reference" href="#id7" id="id3" name="id3">[3]</a> para quem gosta de <strong>Django</strong>.</p> <p>Meu perfil pode ser conferido em <a class="footnote-reference" href="#id8" id="id4" name="id4">[4]</a>. A lista de sites não inclui sistemas em produção :)</p> <p><strong>Links relacionados</strong></p> <table class="docutils footnote" frame="void" id="id5" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id1" name="id5">[1]</a></td><td><a class="reference" href="http://djangopeople.net/">http://djangopeople.net/</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id6" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id2" name="id6">[2]</a></td><td><a class="reference" href="http://simonwillison.net/">http://simonwillison.net/</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id7" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id3" name="id7">[3]</a></td><td><a class="reference" href="http://notes.natbat.net/">http://notes.natbat.net/</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id8" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id4" name="id8">[4]</a></td><td><a class="reference" href="http://djangopeople.net/marinho/">http://djangopeople.net/marinho/</a></td></tr> </tbody> </table> </div> Novo layout, mais rosa do que nuncahttp://marinhobrandao.com/blog/p/novo-layout-mais-rosa-do-que-nunca_144/<div class="document"> <p>Bom, não vou escrever muito, só gostaria de inaugurar aqui o novo visual, muito mais rosa do que antes, afinal, geek também pode ter uma vida cor de rosas.</p> <p>Antes que alguém se assuste, os ícones foram &quot;chupados&quot; de um dos temas do Gnome, que podem ser encontrados aqui <a class="footnote-reference" href="#id2" id="id1" name="id1">[1]</a></p> <p><strong>Atualizado</strong>: eu não testei o layout no <strong>Internet Explorer</strong>, e como esperado, ele não funcionou perfeitamente nele, o que será ajustado assim que possível.</p> <p><strong>Links relacionados</strong></p> <table class="docutils footnote" frame="void" id="id2" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id1" name="id2">[1]</a></td><td><a class="reference" href="http://art.gnome.org/themes/icon/1100">http://art.gnome.org/themes/icon/1100</a></td></tr> </tbody> </table> </div> OpenSocial: um grande baú de oportunidadeshttp://marinhobrandao.com/blog/p/opensocial-um-grande-bau-de-oportunidades/<div class="document"> <p>O Google não tem jeito mesmo! Agora os meninos de Mountain View lançaram há pouco mais de uma semana o grande contra-ataque ao Facebook que promete muito. É o OpenSocial <a class="footnote-reference" href="#id19" id="id1" name="id1">[1]</a>.</p> <p>O que acontece é que o OpenSocial, além de ter alguns dos maiores nomes da área (Orkut <a class="footnote-reference" href="#id20" id="id2" name="id2">[2]</a>, MySpace <a class="footnote-reference" href="#id21" id="id3" name="id3">[3]</a>, Hi5 <a class="footnote-reference" href="#id22" id="id4" name="id4">[4]</a>, Ning <a class="footnote-reference" href="#id23" id="id5" name="id5">[5]</a>, etc), oferece também uma novidade (que já não tem sido tão novidade assim) neste mercado: o da convergência em prol do consumidor final. Esta é a mesma tática usada com o Android <a class="footnote-reference" href="#id24" id="id6" name="id6">[6]</a> e com certeza tem sido e será cada vez mais usado pelo Google como arma poderosíssima, quase indestrutível.</p> <p>Agora já é possível tornar o Adorador.es <a class="footnote-reference" href="#id25" id="id7" name="id7">[7]</a> e o YAH <a class="footnote-reference" href="#id26" id="id8" name="id8">[8]</a> compatíveis com a plataforma e integrar de vez a moçada do Orkut e MySpace com essas soluções menores e segmentadas.</p> <p>Um projeto que já promete pelo nome é o django-opensocial <a class="footnote-reference" href="#id27" id="id9" name="id9">[9]</a> que provavelmente irá dispôr classes e views para a criação de aplicações e a consumação de aplicações de terceiros.</p> <p>E, claro, agora é possível ganhar dinheiro com o Orkut!</p> <p>Outros links bacanas sobre o tema: <a class="footnote-reference" href="#id28" id="id10" name="id10">[10]</a>, <a class="footnote-reference" href="#id29" id="id11" name="id11">[11]</a>, <a class="footnote-reference" href="#id30" id="id12" name="id12">[12]</a> (uma aplicação de exemplo), <a class="footnote-reference" href="#id31" id="id13" name="id13">[13]</a> (várias aplicações que já foram criadas), <a class="footnote-reference" href="#id32" id="id14" name="id14">[14]</a>, <a class="footnote-reference" href="#id33" id="id15" name="id15">[15]</a>, <a class="footnote-reference" href="#id34" id="id16" name="id16">[16]</a>, <a class="footnote-reference" href="#id35" id="id17" name="id17">[17]</a>, <a class="footnote-reference" href="#id36" id="id18" name="id18">[18]</a>.</p> <p><strong>Links relacionados</strong></p> <table class="docutils footnote" frame="void" id="id19" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id1" name="id19">[1]</a></td><td><a class="reference" href="http://code.google.com/apis/opensocial/">http://code.google.com/apis/opensocial/</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id20" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id2" name="id20">[2]</a></td><td><a class="reference" href="http://www.orkut.com/">http://www.orkut.com/</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id21" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id3" name="id21">[3]</a></td><td><a class="reference" href="http://www.myspace.com/">http://www.myspace.com/</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id22" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id4" name="id22">[4]</a></td><td><a class="reference" href="http://www.hi5.com/">http://www.hi5.com/</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id23" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id5" name="id23">[5]</a></td><td><a class="reference" href="http://opensocial.ning.com/">http://opensocial.ning.com/</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id24" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id6" name="id24">[6]</a></td><td><a class="reference" href="http://www.openhandsetalliance.com/">http://www.openhandsetalliance.com/</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id25" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id7" name="id25">[7]</a></td><td><a class="reference" href="http://adorador.es/">http://adorador.es/</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id26" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id8" name="id26">[8]</a></td><td><a class="reference" href="http://www.youarehunted.com/">http://www.youarehunted.com/</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id27" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id9" name="id27">[9]</a></td><td><a class="reference" href="http://code.google.com/p/django-opensocial/">http://code.google.com/p/django-opensocial/</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id28" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id10" name="id28">[10]</a></td><td><a class="reference" href="http://www.meiobit.com/google/opensocial_converg_ncia_das_redes_sociais">http://www.meiobit.com/google/opensocial_converg_ncia_das_redes_sociais</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id29" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id11" name="id29">[11]</a></td><td><a class="reference" href="http://code.google.com/apis/orkut/articles/anatomy.html">http://code.google.com/apis/orkut/articles/anatomy.html</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id30" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id12" name="id30">[12]</a></td><td><a class="reference" href="http://g.ilike.com/gadget/songs_ilike">http://g.ilike.com/gadget/songs_ilike</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id31" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id13" name="id31">[13]</a></td><td><a class="reference" href="http://opensocial.ning.com/">http://opensocial.ning.com/</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id32" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id14" name="id32">[14]</a></td><td><a class="reference" href="http://code.google.com/apis/opensocial/container.html">http://code.google.com/apis/opensocial/container.html</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id33" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id15" name="id33">[15]</a></td><td><a class="reference" href="http://code.google.com/apis/opensocial/faq.html">http://code.google.com/apis/opensocial/faq.html</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id34" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id16" name="id34">[16]</a></td><td><a class="reference" href="http://code.google.com/apis/opensocial/docs/javascript/reference/index.html">http://code.google.com/apis/opensocial/docs/javascript/reference/index.html</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id35" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id17" name="id35">[17]</a></td><td><a class="reference" href="http://en.wikipedia.org/wiki/OpenSocial">http://en.wikipedia.org/wiki/OpenSocial</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id36" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id18" name="id36">[18]</a></td><td><a class="reference" href="http://code.google.com/apis/gadgets/">http://code.google.com/apis/gadgets/</a></td></tr> </tbody> </table> </div> Android faz o gPhone parecer um brinquedinhohttp://marinhobrandao.com/blog/p/android-faz-o-gphone-parecer-um-brinquedinho_102/<div class="document"> <p>A legião de especuladores cada vez maior sobre &quot;o futuro do Google&quot; (ou &quot;qual será o próximo passo do Google para dominar o mundo&quot;) &quot;sofreu&quot; um <strong>tapa na cara</strong> nesta última terça-feira.</p> <p>Quando todos esperavam um &quot;iPhone killer&quot; ou um pacote de aplicativos móveis, o Google mostrou que possui mais imaginação do que eles, e exatamente por isso, provou que o tapa na cara foi excitante.</p> <p>Também, já me incomodava a possibilidade de o Google criar um pacote de aplicativos, quanto mais um aparelho móvel... seria muito pouco para uma empresa com as aspirações que ele possui. Pois ele fez jus à fama: lançou [4] a maior cartada do Linux pós-Ubuntu e calou novamente qualquer um que ousa dizer que eles não são uma empresa empreendedora [6] ou não dê lucros [5] (uma frase dessa só podia sair da mente doentia do <strong>Steve Ballmer</strong>).</p> <p>O <strong>Android</strong> está mais para &quot;Symbian killer&quot; e provavelmente até para &quot;Microsoft/Apple estrangulator&quot;. Basta fluir a imaginação – como fez <strong>Rafael Lullis</strong> em seu “Android é o PC 2.0, a versão mobile do IBM PC” [1] – para perceber que o Android não é “apenas mais um Linux” [2]. Ele é uma sacada tão imensa quanto foi a da dobradinha IBM/Microsoft na virada do PC em cima do Macintosh, porém com um elemento que agora ganha um peso ainda mais extraordinário: a filosofia software-livre, encabeçada pelo Linux.</p> <p>Daqui a 5 dias sai o aguardado Android SDK [3] e estará a iniciada a corrida pelas pepitas de ouro da nova plataforma. Eu estarei lá, procurando por <strong>compatilibidade com Python/Django</strong>. E você?</p> <p><strong>Links relacionados:</strong></p> <p>[1] <a class="reference" href="http://webinsider.uol.com.br/index.php/2007/11/06/android-e-o-pc-20-a-versao-mobile-do-ibm-pc/">http://webinsider.uol.com.br/index.php/2007/11/06/android-e-o-pc-20-a-versao-mobile-do-ibm-pc/</a></p> <p>[2] <a class="reference" href="http://pcworld.uol.com.br/noticias/2007/11/06/idgnoticia.2007-11-06.1911146740/">http://pcworld.uol.com.br/noticias/2007/11/06/idgnoticia.2007-11-06.1911146740/</a></p> <p>[3] <a class="reference" href="http://www.openhandsetalliance.com/developers.html">http://www.openhandsetalliance.com/developers.html</a></p> <p>[4] <a class="reference" href="http://www.openhandsetalliance.com/">http://www.openhandsetalliance.com/</a></p> <p>[5] <a class="reference" href="http://googlediscovery.com/2007/10/18/balanco-da-google-surpreende-os-investidores/">http://googlediscovery.com/2007/10/18/balanco-da-google-surpreende-os-investidores/</a></p> <p>[6] <a class="reference" href="http://www.agenciainternet.com.br/noticias.php?id_noticia=160">http://www.agenciainternet.com.br/noticias.php?id_noticia=160</a></p> </div> adorador.es 0.2 no arhttp://marinhobrandao.com/blog/p/adoradores-02-no-ar/A nova versão do <strong>adorador.es</strong> [1] está no ar.<strong> </strong> Demorou, afinal a <strong>Tarsila</strong> [2] tem sido bem exigente nas últimas semanas, e a qualidade também. A nova versão oferece, além de ajustes gerais para várias funcionalidades, o suporte a <strong>comunidades</strong> [3], o que já coloca o site em pé de igualdade com o <strong>Orkut</strong> [4], e posiciona o sistema para a próxima atualização, que focará recursos em Ajax, especialmente o novo editor XHTML, publicação de videos, bookmarks, nova ferramenta para publicação de fotos, planeta, mashup na <strong>página central</strong> [5] e outros recursos, além de ter a <strong>busca customizada</strong> [6] mais enriquecida com sites bons de contéudo, e possibilidade para customizar mais a <strong>página externa</strong> :) A migração do banco foi feita com o <strong>DBMigrations</strong> [7], que segurou muito bem o tranco. Agora vamos torcer para o <strong>DreamHost</strong> [8] ajustar a instabilidade recente do meu servidor, aí vai ficar perfeito! PS: como hoje nosso foco é o desenvolvimento dos recursos para a versão 1.0, não temos feito esforços de marketing, mas já estamos iniciando negociações de parceirias e teremos algumas novidades para os membros (não muito diferentes das do <strong>Secundum</strong> [9] e do <strong>Via6</strong> [10]), à medida que os recursos forem implementados. <strong>Links relacionados:</strong> <ol> <li><a href="http://adorador.es/">http://adorador.es/</a></li> <li><a href="http://adorador.es/marinho/tag/tarsila/">http://adorador.es/marinho/tag/tarsila/</a></li> <li><a href="http://adorador.es/central/comunidades/">http://adorador.es/central/comunidades/</a></li> <li><a href="http://www.orkut.com/">http://www.orkut.com/</a></li> <li><a href="http://adorador.es/central/">http://adorador.es/central/</a></li> <li><a href="http://www.google.com/coop/cse?cx=006858688342800770536%3Agmenxudb6o8">http://www.google.com/coop/cse?cx=006858688342800770536%3Agmenxudb6o8</a></li> <li><a href="http://code.google.com/p/dbmigrations/">http://code.google.com/p/dbmigrations/</a></li> <li><a href="http://www.dreamhost.com/">http://www.dreamhost.com/</a></li> <li><a href="http://www.secundum.com.br/">http://www.secundum.com.br/</a></li> <li><a href="http://www.via6.com.br/">http://www.via6.com.br/</a></li> </ol>adorador.es :: rede social cristãhttp://marinhobrandao.com/blog/p/adoradores-rede-social-crista_53/<p align="center"><img src="http://adorador.es/media/img/logo.png" alt="Adorador.es Logo" height="40" width="198"></p> A primeira versão do <strong>adorador.es</strong> está no ar. Trata-se de uma rede social adequada aos valores e princípios cristãos, com o objetivo de integrar pessoas da fé cristã, sejam elas católicas, evangélicas, pentecostais ou de qualquer outra ramificação ideológica. Para que ainda não compreendeu exatamente do que se trata, basta pensar que o <strong>adorador.es</strong> se assemelha um pouco ao Orkut e ao MySpace, mas com um foco maior na publicação e compartilhamento de documentos, fotos e mensagens. O cadastro é grátis. O público-alvo é formado por líderes religiosos e pela juventude, sendo que o objetivo é oferecer bons recursos para estes dois grupos. Foi todo implementado em <strong>Django</strong> e desenhado com ferramentas de software livre (Ubuntu, Gimp, Inkscape, gVim, MySQL e outros). O projeto visa criar ainda muitos outros recursos semanalmente. <a href="http://adorador.es/">Clique aqui para conhecer. Seja bem-vindo!</a>Nothing to hidehttp://marinhobrandao.com/blog/p/nothing-to-hide_50/Eu costumo evitar aqui assuntos pouco relativos ao <strong>Django </strong>e o <strong>Python</strong>, mas em certas ocasiões um assunto ganha uma grandeza que permeia mais de uma área. É o caso da genialidade de <strong>Joanna Gardiner</strong>, executiva da <a href="http://www.elave.ie/" target="_blank"><strong>Elave</strong></a>, empresa que produz produtos de beleza baseados em elementos naturais. A beldade apresenta um filme de 1 minuto, de ótima produção, completamente nua, com uma voz angelical que parece oferecer o paraíso. O mais impressionante do filme é que mesmo apresentando uma bela loira totalmente <em>peleca</em>, em nenhum momento vem "sacanagem" à nossa imaginação. O texto e toda a produção <em>clean </em>oferece uma campanha por produtos sem elementos químicos, em prol de nossa pele, é claro. E por fim demonstra seus produtos, apontados pela executiva como um exemplo disso. A última frase, acompanhada de um carisma cativante, diz: "... o que significa que nós não temos nada a esconder". Veja o video: <a href="http://www.elave.ie/nothing-to-hide/">http://www.elave.ie/nothing-to-hide/</a>OpenID: de onde vem e para onde vai?http://marinhobrandao.com/blog/p/openid-de-onde-vem-e-para-onde-vai/Como (nem todos nós sabemos) o <strong>OpenId </strong>tem caminhado lentamente mas tem conquistado sólidos apoios, e aos poucos vai conseguindo atingir seu objetivo. Para quem ainda não sabe do que se trata, o OpenId é um projeto criado pelos caras do <strong><a href="http://livejournal.com" target="_blank">LiveJournal</a></strong> que tem a finalidade de unificar contas de acesso espalhadas na rede em uma identificação única por usuário, possibilitando que este se passe por facetas diferentes, segundo a sua preferência. Digamos que é paradoxalmente uma forma descentralizada de centralizar a identificação do usuário. Este modelo apresenta muitas vantagens e desafios novos, assim como perguntas desconfiadas como: <strong>"será que isso é confiável?"</strong>, que é uma questão que deve ser conferida ao seu servidor do OpenId, já que o projeto apenas especifica as metas e o protocolo, mas quem os implementa são servidores espalhados pelo mundo. E assim, como poucos sabem, se você já possui uma conta no <a href="http://wordpress.com"><strong>WordPress</strong></a>, a sua url (sim, da mesma forma que a minha é <strong>http://marinho.wordpress.com</strong>) é uma identificação para OpenId. Atualmente o serviço mais conhecido de servidor de identificações é o <a href="http://myopenid.com"><strong>MyOpenID</strong></a>. Acontece que, como toda idéia recém-nascida, o projeto depende de ser implementado, preferencialmente por grandes empresas (leia-se Google, Microsoft, Yahoo e mais uma meia-dúzia de mega-corporações) para que se alavanque. O <a href="http://technorati.com/weblog/2006/10/144.html" target="_blank">primeiro serviço popular a adotá-lo</a> além dos criadores foi o <a href="http://technorati.com"><strong>Technorati</strong></a> - o que não é nenhuma novidade porque aqueles meninos adoram uma inovação, e eles geralmente acertam na mosca. Depois foi a vez de ver o <a href="http://zoomr.com" target="_blank">Zoomr</a> e o <a href="http://wordpress.com" target="_blank">WordPress</a>, mas nada ainda se compara ao anúncio da <a href="http://brad.livejournal.com/2287909.html" target="_blank">Microsoft de que passaria a apoiá-lo</a>, o que levou a marca do projeto a vários noticiários mais populares do meio tecnológico e acabou incentivando muitas pessoas a conhecê-lo e adotá-lo. Já é possível pesquisar em um <a href="http://openiddirectory.com/" target="_blank">diretório</a>, quais são os serviços da rede que suportam o protocolo e esta lista aumenta cada dia mais, e as incertezas vão sendo sanadas aos poucos, à medida que a idéia é compreendida por mais pessoas. E para a nossa alegria, já existe uma forma (muito fácil, como tudo o que envolve o framework) de se implementar OpenId no Django que você pode encontrar nos endereços abaixo: <ul> <li><a href="http://simonwillison.net/2007/Apr/24/openidconsumer/" target="_blank">Implementando OpenID com o Django</a></li> <li><a href="http://code.google.com/p/django-openid/" target="_blank">Projeto django-openid</a></li> <li><a href="http://www.openidenabled.com/openid/libraries/python" target="_blank">Projeto python-openid</a></li> </ul> Para mais informações: <ul> <li><a href="http://openid.net/" target="_blank">Site oficial do projeto</a></li> <li><a href="http://www.openidenabled.com/" target="_blank">OpenIdEnabled</a></li> <li><a href="http://openid.net/specs.bml" target="_blank">Especificações para implementação de OpenId</a></li> </ul>O que falta ao Rails e ao Django para o cheque-matehttp://marinhobrandao.com/blog/p/o-que-falta-ao-rails-e-ao-django-para-o-cheque-mat/Nos últimos meses temos visto uma locomotiva atropelar paradigmas antigos, linguagens "perfeitas" e conceitos tidos como clássicos. Na verdade a locomotiva já existia há tempos... o que faltava eram os trilhos. Pois agora não falta mais: o Ruby on Rails é a grande coisa dos últimos anos em assunto de programação e deve permanecer assim por bastante tempo. Com a mesma disposição - mesmo que em doses leves - a cobrinha do Python vem "picando" uma boa parcela do mercado há anos, tanto que pouco percebem que ela já está em todo lugar, seja com o aclamado Ubuntu, seja nos bastidores do Google e do YouTube, seja nas manchetes da Microsoft. Ela está lá, criaram uma pista de dança e botaram a cobra pra dançar, e como ela dança bem, aos passos de Django. Estamos vivendo hoje um período muito semelhante ao de cerca de 10 anos atrás, quando o Java aparecia e o C# era anunciado no Slashdot, pela primeira vez, mas Ruby e Python possuem uma qualidade que Java e .Net não possuem: elas se amam. Enquanto a maioria dos "embates" sobre Java e .Net terminam com alguns mortos e muitos feridos, Ruby e Python sempre terminam com lições apreendidas e trocas de elogios. É a maturidade no ambiente do desenvolvimento. E, é claro, existe espaço também para o Java, o C#, o PHP, etc... Pois bem, mas então, se a sentença já está dada, porquê essa constância em afirmá-la? A resposta é simples: <strong>porque não há sentença</strong>, nada está garantido. Da mesma forma que há 10 anos atrás, o momento é de suposições - bem embasadas, é claro - mas ainda há muito caminho a trilhar (e muita música pra dançar). E existem algumas características, digamos "básicas", que estas duas maravilhas frameworks precisam conquistar, para que convençam nossos patrões de que elas são eficazes como cantamos a todo momento. Portanto, bolei a lista abaixo com o que eu acredito ser o que falta para o Rails e para o Django - observando que sou um "djanger" falando sobre Rails, portanto, qualquer deslize, o espaço para comentários abaixo é ilimitado e democrático, ok? <strong>O que falta no Django</strong> <ul> <li>atualização do banco, através de controle de versões;</li> <li>suporte a alguns SGBDs "coringas" do mercado <ul> <li>SQL Server (não me fale de adodb que me dá calafrios)</li> <li>Oracle</li> <li>DB2</li> <li>Firebird</li> </ul> </li> <li>um pouco mais de clareza sobre o MVC (o mercado adora patterns);</li> <li>uma definição melhor sobre widgets e forms em ajax - o newforms foi uma evolução, mas está longe de ser um <a href="http://www.ajaxscaffold.com" target="_blank">AjaxScaffold</a>;</li> <li>melhor suporte a SOAP;</li> <li>um repositório de contribs <em>à là</em> <a href="http://www.railslodge.com/" target="_blank">RailsLodge</a> ou <a href="http://www.codeplex.com/" target="_blank">CodePLex</a>;</li> <li>uma maior comunidade brasileira;</li> </ul> <strong>O que falta no Rails</strong> <ul> <li>compilação em <em>bytecode</em>, para proteção do código;</li> </ul> <strong>O que falta nos dois</strong> <ul> <li>um gerador de relatórios;</li> <li>grandes cases;</li> <li>um bom recurso para chamadas SQL de valores agregados (sum, avg, min, max, count) e agrupados (group by);</li> <li>um bom recurso para chamadas SQL de união (union);</li> <li>planos de hospedagem em provedores mais populares, como a <a href="http://www.locaweb.com.br" target="_blank">LocaWeb</a>, por exemplo;</li> </ul> Bom, como você pode ver, eu tenho mais a dizer sobre o Django do que sobre o Rails, mas mesmo que eu fosse expert nos dois, é explícito que o Rails está alguns passos à frente (ainda que "explícito" seja uma característica mais marcante no Django do que no Rails), mesmo que o Django venha evoluindo rapidamente. Uma afirmação que não posso deixar passar vagamente, é que nossa comunidade <a href="http://www.djangobrasil.org" target="_blank">Django Brasil</a>, está funcionando cada vez melhor em seu <a href="http://groups.google.com/group/django-brasil" target="_blank">embrião</a>, portanto, ela precisa crescer, mas ela está cada dia mais ativa. Por fim, acho que está bem claro que temos muito trabalho pela frente, mas contando com as duas frameworks que temos em mãos, o trabalho é bem mais gostoso e rápido do que seria antigamente! <a href="http://simplesideias.com.br/ganhe-o-livro-repensando-a-web-com-rails/" target="_blank"><strong>Update:</strong> este artigo está concorrendo um livro sobre Rails, que o <strong>Nando Vieira</strong> está promovendo em seu <strong>SimplesIdeias.com.br</strong></a>Concurso: batize nosso mascote - da DoceShophttp://marinhobrandao.com/blog/p/concurso-batize-nosso-mascote-da-doceshop/<img src="http://www.doceshop.com.br/imagens/tirinhas/menores/abelha01_72.jpg" height="157" width="470"> <a href="http://www.doceshop.com.br/blog/?p=135">ótima idéia</a> no <a href="http://www.doceshop.com.br/blog/" title="Blog">Blog</a> da empresa. Minha sugestão é: <strong>ZUZUCA!</strong> doce que nem açúcar, mas natural e eficaz ;)