{"id":373,"date":"2012-07-05T13:40:03","date_gmt":"2012-07-05T16:40:03","guid":{"rendered":"http:\/\/www.agenciadewebsites.com.br\/?p=373"},"modified":"2012-07-05T13:43:24","modified_gmt":"2012-07-05T16:43:24","slug":"aplicativos-web-o-futuro-de-todo-o-desenvolvimento","status":"publish","type":"post","link":"https:\/\/www.agenciadewebsites.com.br\/?p=373","title":{"rendered":"Aplicativos web: o futuro de todo o desenvolvimento?"},"content":{"rendered":"<div id=\"fb_share_1\" style=\"float: right; margin-left: 10px;\"><a name=\"fb_share\" type=\"box_count\" share_url=\"https:\/\/www.agenciadewebsites.com.br\/?p=373\" href=\"http:\/\/www.facebook.com\/sharer.php\">Share<\/a><\/div>\n<div><script src=\"http:\/\/static.ak.fbcdn.net\/connect.php\/js\/FB.Share\" type=\"text\/javascript\"><\/script><\/div>\n<p>Aqui vai uma previs\u00e3o louca: em cinco anos, a maioria dos aplicativos ser\u00e1 constru\u00edda usando o que eu gosto de chamar triunvirato JHC (JavaScript, HTML, CSS). Vou te dar um segundo para se recompor. Voc\u00ea est\u00e1 bem? Bom. Agora vamos falar sobre por que isso \u00e9 poss\u00edvel.<\/p>\n<p>Desde o in\u00edcio dos tempos as pessoas queriam codar apenas uma vez e fazer com que o programa rodasse em todas as plataformas. No in\u00edcio isso era poss\u00edvel, at\u00e9 porque havia literalmente <a href=\"http:\/\/en.wikipedia.org\/wiki\/ENIAC\">uma plataforma<\/a>. Infelizmente, isso durou cerca de dois minutos e, desde ent\u00e3o, a nossa ind\u00fastria tem passado por uma explos\u00e3o cambriana de sistemas operacionais: variantes de Unix, um desfile de sistemas operacionais Windows e Mac, Linuxes (ou \u00e9 Linuxi?), iOS, Android, e assim por diante. Claro, n\u00f3s tivemos algumas tentativas corajosas em transformar tudo em uma \u00fanica platforma. Java \u00e9 o exemplo mais not\u00e1vel, mas houve outros (Flash? Silverlight? Certo?). No entanto, no final, nenhum deles realmente nos levou \u00e0 terra prometida.<\/p>\n<p>Agora, considere a situa\u00e7\u00e3o do aplicativo web hoje. Primeiro, voc\u00ea j\u00e1 pode alcan\u00e7ar desempenho similar a desktop no navegador. Todos os principais navegadores t\u00eam ou est\u00e3o construindo um mecanismo JavaScript impressionante (<a href=\"http:\/\/blogs.msdn.com\/b\/ie\/archive\/2010\/03\/18\/the-new-javascript-engine-in-internet-explorer-9.aspx\">Chakra<\/a> do IE 9, <a href=\"https:\/\/wiki.mozilla.org\/JaegerMonkey\">Jaegermonkey<\/a> do Firefox, <a href=\"http:\/\/code.google.com\/p\/v8\/\">V8<\/a> do Chrome). Esses mecanismos permitem fazer coisas loucas, como rodar um <a href=\"http:\/\/fir.sh\/projects\/jsnes\/\">simulador de NES<\/a> no navegador. Basta imaginar o que eles podem fazer com sua tela de Ordem de Compra!<\/p>\n<p>Em segundo lugar, as ferramentas est\u00e3o se atualizando rapidamente. Muitos IDEs j\u00e1 t\u00eam suporte decente para o desenvolvimento JavaScript. Por exemplo, o Visual Studio 2010 faz compila\u00e7\u00f5es on-the-fly para dar a voc\u00ea suporte para a linguagem do IntelliSense. N\u00f3s tamb\u00e9m temos alguns grandes frameworks JavaScript (como a certa <a href=\"http:\/\/jquery.com\/\">consulta<\/a> que todos n\u00f3s amamos), que o tornam muito mais f\u00e1cil desenvolver c\u00f3digo limpo para m\u00faltiplos browsers.<\/p>\n<h4>Frameworks web UI<\/h4>\n<p>No passado, o desenvolvimento de excelentes aplicativos web que pareciam e se comportavam como suas vers\u00f5es desktop n\u00e3o era f\u00e1cil. HTML, JavaScript, CSS tinham que ser persuadidos a uma coexist\u00eancia pac\u00edfica, a fim de criar uma interface de usu\u00e1rios agrad\u00e1vel. Al\u00e9m de ser delicado, era muito dif\u00edcil de colocar todos trabalhando em v\u00e1rios navegadores <em>&lt;queue Vietnam-style IE6 flashbacks IE6&gt;<\/em>.<\/p>\n<p>Bem, as coisas certamente mudaram. Hoje, n\u00f3s temos um conjunto de frameworks UI em JavaScript com os quais \u00e9 muito bom trabalhar:<\/p>\n<ul>\n<li><a href=\"http:\/\/www.sencha.com\/products\/extjs\/\">Ext JS<\/a><\/li>\n<li><a href=\"http:\/\/sproutcore.com\/\">SproutCore<\/a><\/li>\n<li><a href=\"http:\/\/dojotoolkit.org\/\">Dojo<\/a><\/li>\n<li><a href=\"http:\/\/cappuccino.org\/\">Cappuccino<\/a><\/li>\n<li><a href=\"http:\/\/www.prototypejs.org\/\">Prototype<\/a><\/li>\n<li><a href=\"http:\/\/jqueryui.com\/\">jQuery UI<\/a><\/li>\n<li><a href=\"http:\/\/yuilibrary.com\/\">YUI<\/a><\/li>\n<\/ul>\n<p>Do grupo, Ext JS \u00e9 provavelmente o mais popular. Ele permite que voc\u00ea coloque juntos algumas <a href=\"http:\/\/dev.sencha.com\/deploy\/ext-4.0.0\/examples\/\">telas bastante surpreendentes<\/a>, usando nada al\u00e9m de JavaScript. Bem, quase nada. Voc\u00ea precisa de um pouco de HTML para conectar sua p\u00e1gina. (Aqui est\u00e1 o &lt;body&gt; inteiro de um leitor de RSS funcional criado com Ext JS):<\/p>\n<pre data-second_best=\"[object Object]\" data-result=\"[object Object]\">&lt;div id=\"preview-tpl\" style=\"display: none;\"&gt;\r\n   &lt;div class=\"post-data\"&gt;\r\n      &lt;span class=\"post-date\"&gt;\r\n            {pubDate:date(\"M j, Y, g:i a\")}\r\n      &lt;\/span&gt;\r\n&lt;\/div&gt;\r\n&lt;div class=\"post-body\"&gt;{content:this.getBody}&lt;\/div&gt;\r\n&lt;\/div&gt;<\/pre>\n<h4>IDE do futuro<\/h4>\n<p>Um colega uma vez disse que o pr\u00f3prio desenvolvimento se mudar\u00e1 para o navegador. Achei essa ideia muito interessante. Basta considerar as implica\u00e7\u00f5es de ser capaz de codificar, testar e deploy a partir do browser, com toda a sua fonte armazenada com seguran\u00e7a na nuvem. Ser\u00e1 que isso torna mais f\u00e1cil fazer coisas como programa\u00e7\u00e3o em par distribu\u00edda? Voc\u00ea se beneficiaria tendo a capacidade de codificar a partir de qualquer lugar em qualquer aparelho? Como seria fazer o deploy?<\/p>\n<p>Aparentemente, essa ideia n\u00e3o pode ser considerada futurista, porque isso j\u00e1 est\u00e1 acontecendo. <a href=\"http:\/\/c9.io\/\">Cloud9 IDE<\/a> \u00e9 um IDE open source baseado em nuvem para desenvolvimento JavaScript. O Cloud 9 IDE parece ser projeto com um monte de promessas muito interessante.<\/p>\n<p>A prop\u00f3sito, apenas no caso de voc\u00ea estar pensando &#8220;Isso \u00e9 tudo bom, mas e IntelliSense?&#8221;, confira <a href=\"http:\/\/www.pexforfun.com\/\">Pex For Fun<\/a> da Microsoft. Eles t\u00eam IntelliSense para C#. No navegador.<\/p>\n<p><strong>Fonte:<\/strong> Imasters<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Share Aqui vai uma previs\u00e3o louca: em cinco anos, a maioria dos aplicativos ser\u00e1 constru\u00edda usando o que eu gosto de chamar triunvirato JHC (JavaScript, HTML, CSS). Vou te dar um segundo para se recompor. Voc\u00ea est\u00e1 bem? Bom. Agora vamos falar sobre por que isso \u00e9 poss\u00edvel. Desde o in\u00edcio dos tempos as pessoas [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[],"_links":{"self":[{"href":"https:\/\/www.agenciadewebsites.com.br\/index.php?rest_route=\/wp\/v2\/posts\/373"}],"collection":[{"href":"https:\/\/www.agenciadewebsites.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.agenciadewebsites.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.agenciadewebsites.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.agenciadewebsites.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=373"}],"version-history":[{"count":2,"href":"https:\/\/www.agenciadewebsites.com.br\/index.php?rest_route=\/wp\/v2\/posts\/373\/revisions"}],"predecessor-version":[{"id":375,"href":"https:\/\/www.agenciadewebsites.com.br\/index.php?rest_route=\/wp\/v2\/posts\/373\/revisions\/375"}],"wp:attachment":[{"href":"https:\/\/www.agenciadewebsites.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=373"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.agenciadewebsites.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=373"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.agenciadewebsites.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=373"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}