{"id":251,"date":"2012-08-08T17:22:39","date_gmt":"2012-08-08T20:22:39","guid":{"rendered":"http:\/\/mbelo.wordpress.com\/?p=251"},"modified":"2012-08-08T17:22:39","modified_gmt":"2012-08-08T20:22:39","slug":"dart-por-que-mais-uma-plataforma","status":"publish","type":"post","link":"https:\/\/marcio.belo.nom.br\/wordpress\/2012\/08\/08\/dart-por-que-mais-uma-plataforma\/","title":{"rendered":"DART: por que mais uma plataforma?"},"content":{"rendered":"<p>Li um interessante artigo sobre a linguagem DART e vou compartilhar minhas impress\u00f5es com voc\u00eas. A primeira coisa curiosa sobre o artigo \u00e9 ele ser classificado como Green Paper. Eu nunca tinha ouvido falar nesse termo; j\u00e1 eram de meu conhecimento os white papers. Aparentemente um &#8220;green paper&#8221; vem a ser um artigo em forma de proposta; algo para discuss\u00e3o; nada definitivo.<\/p>\n<p>Voltando para o assunto principal, que \u00e9 essa nova plataforma DART, achei interessante os argumentos que fizeram a Google se dispor a desenvolver essa nova plataforma. Abaixo enumero alguns dos pontos que achei importante.<\/p>\n<p><strong>Por que se chama plataforma?<\/strong><\/p>\n<p>Porque ela \u00e9 composta de uma m\u00e1quina virtual, de uma linguagem de programa\u00e7\u00e3o e ferramentas para o desenvolvimento.<\/p>\n<p><strong>Para que mais uma linguagem?<\/strong><\/p>\n<p>Sem d\u00favida essa \u00e9 a pergunta fundamental. A motiva\u00e7\u00e3o da Google baseia-se na percep\u00e7\u00e3o da tend\u00eancia de &#8220;engorda&#8221; do lado cliente em aplica\u00e7\u00f5es WEB. As chamadas aplica\u00e7\u00f5es de uma \u00fanica p\u00e1gina (Single Page Application) est\u00e3o crescendo em import\u00e2ncia, principalmente para tirar proveito da grande capacidade de processamento ocioso que a camada cliente (os navegadores) disp\u00f5e. At\u00e9 os navegadores dos celulares atuais disp\u00f5e de grande processamento.<\/p>\n<p>Nesse tipo de aplica\u00e7\u00e3o de p\u00e1gina \u00fanica, o c\u00f3digo de execu\u00e7\u00e3o de uma aplica\u00e7\u00e3o &#8211; ou pelo menos toda a parte de um caso de uso espec\u00edfico &#8211; \u00e9 carregado para o lado cliente. As necessidades de dados armazenados no servidor s\u00e3o supridas com invoca\u00e7\u00f5es ass\u00edncronas pela j\u00e1 consagrada tecnologia AJAX. Recursos como banco de dados j\u00e1 est\u00e3o dispon\u00edveis nas vers\u00f5es novas dos navegadores que suportam HTML5 e facilitam uma s\u00e9rie de tarefas que antes exigiam a conex\u00e3o ativa com o servidor. At\u00e9 mesmo aplica\u00e7\u00f5es offline s\u00e3o poss\u00edveis nesse ambiente.<\/p>\n<p><strong>Mas por que n\u00e3o JavaScript?<\/strong><\/p>\n<p>Minha primeira rea\u00e7\u00e3o ao ler os prop\u00f3sitos de DART foi: &#8220;mas j\u00e1 temos JavaScript&#8221;. Muitos, imagino, v\u00e3o pensar inicialmente da mesma maneira. Entretanto, recursos do JavaScript que o torna extremamente flex\u00edvel e poderoso, quando levados para desenvolvimento em larga escala, acabam expondo fraquezas. A n\u00e3o tipagem e a execu\u00e7\u00e3o din\u00e2mica de c\u00f3digo tornam o c\u00f3digo JavaScript dif\u00edcil para ambientes de trabalho em equipe. Esses recursos tornam invi\u00e1veis certos feedbacks que as IDEs contempor\u00e2neas e ferramentas de integra\u00e7\u00e3o cont\u00ednua oferecem para desenvolvimentos descentralizados. Uma pequena falha de um desenvolvedor pode compromenter a aplica\u00e7\u00e3o e tal falha s\u00f3 ser percebida no momento da utiliza\u00e7\u00e3o.<\/p>\n<p>Bem, \u00e9 isso. Quem quiser, recomendo a leitura desse artigo, escrito por\u00a0Chris Buckett.<\/p>\n<p><a href=\"http:\/\/marcio.belo.nom.br\/wordpress\/wp-content\/uploads\/2012\/08\/dart.pdf\">Green Paper do DART<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Li um interessante artigo sobre a linguagem DART e vou compartilhar minhas impress\u00f5es com voc\u00eas. A primeira coisa curiosa sobre o artigo \u00e9 ele ser classificado como Green Paper. Eu nunca tinha ouvido falar nesse termo; j\u00e1 eram de meu conhecimento os white papers. Aparentemente um &#8220;green paper&#8221; vem a ser um artigo em forma [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,7],"tags":[],"class_list":["post-251","post","type-post","status-publish","format-standard","hentry","category-engenharia-de-software","category-tecnologia"],"_links":{"self":[{"href":"https:\/\/marcio.belo.nom.br\/wordpress\/wp-json\/wp\/v2\/posts\/251","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/marcio.belo.nom.br\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/marcio.belo.nom.br\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/marcio.belo.nom.br\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/marcio.belo.nom.br\/wordpress\/wp-json\/wp\/v2\/comments?post=251"}],"version-history":[{"count":0,"href":"https:\/\/marcio.belo.nom.br\/wordpress\/wp-json\/wp\/v2\/posts\/251\/revisions"}],"wp:attachment":[{"href":"https:\/\/marcio.belo.nom.br\/wordpress\/wp-json\/wp\/v2\/media?parent=251"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/marcio.belo.nom.br\/wordpress\/wp-json\/wp\/v2\/categories?post=251"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/marcio.belo.nom.br\/wordpress\/wp-json\/wp\/v2\/tags?post=251"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}