{"id":2025,"date":"2014-11-03T21:57:57","date_gmt":"2014-11-04T00:57:57","guid":{"rendered":"https:\/\/devkico.itexto.com.br\/?p=2025"},"modified":"2014-11-03T21:57:57","modified_gmt":"2014-11-04T00:57:57","slug":"as-pontes-groovy-e-grails","status":"publish","type":"post","link":"https:\/\/devkico.itexto.com.br\/?p=2025","title":{"rendered":"As pontes Groovy e Grails"},"content":{"rendered":"<p>No dia 1\/11\/2014, em minha apresenta\u00e7\u00e3o no <a href=\"http:\/\/devday.devisland.com\">DevDay<\/a>, tornei publica uma descoberta que fiz ao longo destes quase 10 anos de Groovy e Grails: estas tecnologias s\u00e3o valiosas\u00a0por serem pontes.\u00a0Neste post explico o que chamo de &#8220;tecnologia ponte&#8221;.<\/p>\n<h3>O que \u00e9 uma ponte?<\/h3>\n<figure id=\"attachment_2028\" aria-describedby=\"caption-attachment-2028\" style=\"width: 225px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-2028\" src=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/11\/broken_bridge-225x300.jpg\" alt=\"S\u00f3 valorizamos as pontes quando n\u00e3o as temos\" width=\"225\" height=\"300\" srcset=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/11\/broken_bridge-225x300.jpg 225w, https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/11\/broken_bridge.jpg 250w\" sizes=\"(max-width: 225px) 100vw, 225px\" \/><figcaption id=\"caption-attachment-2028\" class=\"wp-caption-text\">S\u00f3 valorizamos as pontes quando n\u00e3o as temos<\/figcaption><\/figure>\n<p>Pontes s\u00e3o o tipo de coisa que est\u00e3o t\u00e3o presentes em nosso dia a dia que sequer as notamos.\u00a0As uso como uma poderosa met\u00e1fora, mas o que \u00e9 uma ponte?<\/p>\n<blockquote><p>Estrutura arquitetural que nos permite trafegar de um ponto a outro de modo c\u00f4modo, o que seria muito dif\u00edcil na sua aus\u00eancia.<\/p><\/blockquote>\n<p>Isto \u00e9 \u00f3bvio: mas o que seria uma tecnologia ponte?<\/p>\n<blockquote><p>Aquela que me permite sair de um estado de forma\u00e7\u00e3o para outro suavemente.<\/p><\/blockquote>\n<h3>Minhas primeiras pontes<\/h3>\n<p>Na minha progress\u00e3o profissional houve algumas pontes. Quando comecei havia Internet, mas n\u00e3o era algo acess\u00edvel,\u00a0eu mesmo n\u00e3o tinha em casa, ent\u00e3o o que me restavam eram livros t\u00e9cnicos que para mim eram car\u00edssimos. A tecnologia mais popular ainda era o desenvolvimento desktop para a plataforma Windows. Ouvindo conversas, a impress\u00e3o que tinha\u00a0\u00e9\u00a0que isto s\u00f3 podia ser feito com C++. Imagine meu choque quando topei com o c\u00f3digo necess\u00e1rio para se criar uma janela usando isto!\u00a0Nunca viu como \u00e9? D\u00ea uma conferida neste <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/bb384843.aspx\">link<\/a> e depois volte para este post.<\/p>\n<p>Tantos comandos!\u00a0Como aprender aquela coisa sinistra? Foi quando descobri uma variante da primeira linguagem que conheci: o BASIC. Se chamava Visual Basic, e me permitia criar janelas literalmente desenhando-as com o mouse!<\/p>\n<figure id=\"attachment_2029\" aria-describedby=\"caption-attachment-2029\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-2029\" src=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/11\/visual_basic_janelas-300x195.gif\" alt=\"Um milagre da ci\u00eancia!!!\" width=\"300\" height=\"195\" \/><figcaption id=\"caption-attachment-2029\" class=\"wp-caption-text\">VB era um milagre da ci\u00eancia!!!<\/figcaption><\/figure>\n<p>Era incr\u00edvel, um milagre da ci\u00eancia! Quando dava um duplo clique em um bot\u00e3o, surgia um editor de texto no qual digitava o comportamento que eu queria. Fornecia todos os comportamentos poss\u00edveis e logo em seguida compilava meu programa em um arquivo EXE. Boom: meu pr\u00f3prio execut\u00e1vel e que podia ser usado em qualquer computador (Windows)! Era um est\u00edmulo e tanto: de repente me via distribuindo disquetes entre meus colegas do segundo grau todo orgulhoso.<\/p>\n<p>Passado algum tempo, me sentia mais seguro e, com isto, fui me aprofundando na <strong>linguagem<\/strong> Visual Basic. Aprendia fun\u00e7\u00f5es, entendia alguns comportamentos da sintaxe, funcionalidades como tratamento de erros, escrita em arquivos, etc. Visual Basic foi minha ponte inicial para me tornar um bom programador. E tudo isto de uma forma muito suave, n\u00e3o foi do dia pra noite.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2031\" src=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/11\/delphi.jpeg\" alt=\"delphi\" width=\"292\" height=\"139\" \/><\/p>\n<p>Passado o Visual Basic, veio a segunda ponte: me sentia a vontade para tentar aprender Delphi, \u00a0o que fiz e se tornou minha ferramenta de trabalho por muitos anos, em paralelo ao VB. Devorei\u00a0o Object Pascal, me sentia seguro e poderoso\u00a0com ele, o que me preparou psicologicamente para aquele que considerava ser O GRANDE SALTO: Java.<\/p>\n<p>Tenho c\u00e1 minhas d\u00favidas se aquele Kico adolescente realmente conseguiria chegar ao Java se tivesse parado no C++ que se mostrava t\u00e3o assustador. E sabem o que \u00e9 mais legal? Passado algum tempo, brincando com Visual Basic e Delphi acabei aprendendo o C++ tamb\u00e9m.<\/p>\n<p>Percebem? Com Visual Basic comecei a programar por que meu primeiro passo era com algo que me sentia \u00e0 vontade: o mouse e desenho. Com o tempo a parte visual foi perdendo a gra\u00e7a e me acostumei com o c\u00f3digo, o que me possibilitou aprender r\u00e1pido o Delphi. E do Delphi, com orienta\u00e7\u00e3o a objetos b\u00e1sica, me sentia o suficientemente bem para ir ao Java. Duas pontes.<\/p>\n<p>Tecnologias ponte s\u00e3o aquelas que nos permitem aprender coisas que, de outra forma, seriam muito mais dif\u00edceis de serem compreendidas. <strong>Elas nos permitem iniciar o processo com aquilo que j\u00e1 temos<\/strong>.<\/p>\n<h2>Projetando a ponte<\/h2>\n<p>Para explicar como Groovy e Grails s\u00e3o pontes irei usar apenas imagens baseadas no esquema abaixo: do lado esquerdo encontram-se aqueles conhecimentos que j\u00e1 possuo e com os quais me sinto seguro. Do lado direito encontram-se aqueles que gostaria de obter e a ponte me fornece o caminho tranquilo que percorro para atingir aquele objetivo.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2032 size-full\" src=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/11\/esquema_ponte.jpg\" alt=\"esquema_ponte\" width=\"747\" height=\"225\" srcset=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/11\/esquema_ponte.jpg 747w, https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/11\/esquema_ponte-300x90.jpg 300w\" sizes=\"(max-width: 747px) 100vw, 747px\" \/><\/p>\n<h2>Groovy<\/h2>\n<p><a href=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/11\/ponte_groovy.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2034\" src=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/11\/ponte_groovy-300x226.jpg\" alt=\"ponte_groovy\" width=\"401\" height=\"302\" srcset=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/11\/ponte_groovy-300x226.jpg 300w, https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/11\/ponte_groovy.jpg 713w\" sizes=\"(max-width: 401px) 100vw, 401px\" \/><\/a><\/p>\n<p>Das duas \u00e9 sem sombra de d\u00favidas a mais rica. Lembram quando falei sobre o <a title=\"O valor social de Groovy e Grails\" href=\"https:\/\/devkico.itexto.com.br\/?p=1632\">valor social de Groovy e Grails<\/a>? \u00c9 a porta de entrada de muita gente que n\u00e3o conhece ainda a plataforma Java. Confesso que me tornou um programador Java melhor, pois de repente tive contato com programa\u00e7\u00e3o funcional, DSLs e, principalmente, adquiri <strong>uma vis\u00e3o mais cr\u00edtica a respeito do pr\u00f3prio Java<\/strong>.<\/p>\n<p>(voc\u00ea sabe que est\u00e1 bom de fato em uma linguagem quando consegue critic\u00e1-la com argumentos racionais)<\/p>\n<p>E qual o material desta ponte? A similaridade com a sintaxe do Java. Voc\u00ea come\u00e7a a escrever programas em Groovy exatamente como faria em Java: com o tempo vai ficando mais confiante com a coisa e, de repente, esta l\u00e1, pulando do Ol\u00e1 mundo &#8220;Javiano&#8221; abaixo:<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\n\r\npublic class OlaMundo {\r\n\r\npublic static void main(String args&#x5B;]) {\r\nSystem.out.println(&quot;Ol\u00e1 mundo!&quot;);\r\n}\r\n\r\n}\r\n\r\n<\/pre>\n<p>Que evolui rapidamente para<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\n\r\nSystem.out.println(&quot;Ol\u00e1 mundo&quot;)\r\n\r\n<\/pre>\n<p>E termina em<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\n\r\nprintln &quot;Ol\u00e1 mundo Groovy!&quot;\r\n\r\n<\/pre>\n<h3>Grails<\/h3>\n<p><a href=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/11\/ponte_grails.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2037\" src=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/11\/ponte_grails-300x203.jpg\" alt=\"ponte_grails\" width=\"432\" height=\"292\" srcset=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/11\/ponte_grails-300x203.jpg 300w, https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/11\/ponte_grails.jpg 717w\" sizes=\"(max-width: 432px) 100vw, 432px\" \/><\/a><\/p>\n<p>A ponte Grails nos leva ao Java EE: uma das plataformas mais importantes da hist\u00f3ria da computa\u00e7\u00e3o. Podemos inclusive dizer que se trata da respons\u00e1vel por democratizar de verdade o desenvolvimento corporativo, ao menos aqui no Brasil.<\/p>\n<p>Talvez voc\u00ea sequer precise conhecer Groovy para trabalhar com Grails (o que n\u00e3o recomendo), mas com o tempo,Grails acaba se tornando sabe\u00a0o que? Uma ponte\u00a0para o Groovy, pois muitos conhecem a linguagem a partir do framework. Mais do que isto: com o tempo voc\u00ea come\u00e7a a usar recursos do Java EE que se mostravam distantes como, por exemplo, JMS, JNDI e tantos outros.<\/p>\n<p>Conhe\u00e7o diversos casos de pessoas que vieram do ambiente desktop para web gra\u00e7as ao Grails. Por que? Simples: ele te permite usar todas as funcionalidades do desenvolvimento web Java EE usando apenas uma fina camada de Groovy. Rar\u00edssimas vezes voc\u00ea lidar\u00e1 com objetos do tipo <em>ServletRequest<\/em> ou <em>ServletResponse<\/em>.<\/p>\n<h3>Atravessando a ponte<\/h3>\n<p>O bacana da experi\u00eancia de atravessar a ponte \u00e9 que um belo dia voc\u00ea percebe que se tornou um programador melhor passando por um caminho suave, que respeitou e valorizou seu background e no final o enriqueceu ainda mais.<\/p>\n<p>Passado algum tempo, nossa busca passa a ser por novas pontes. J\u00e1 estou percorrendo\u00a0algumas novas hoje e me pergunto quais surgir\u00e3o depois.<\/p>\n<p>PS: os slides da apresenta\u00e7\u00e3o no DevDay 2014 podem ser vistos neste <a href=\"http:\/\/pt.slideshare.net\/loboweissmann\/slides-final-41029521\">link<\/a>. Acredito que agora eles se tornem mais compreens\u00edveis. :)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>No dia 1\/11\/2014, em minha apresenta\u00e7\u00e3o no DevDay, tornei publica uma descoberta que fiz ao longo destes quase 10 anos de Groovy e Grails: estas tecnologias s\u00e3o valiosas\u00a0por serem pontes.\u00a0Neste post explico o que chamo de &#8220;tecnologia ponte&#8221;. O que \u00e9 uma ponte? Pontes s\u00e3o o tipo de coisa que est\u00e3o t\u00e3o presentes em nosso [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2026,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3,5,34],"tags":[],"class_list":["post-2025","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-grails","category-groovy","category-paideia"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>As pontes Groovy e Grails - \/dev\/Kico<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/devkico.itexto.com.br\/?p=2025\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"As pontes Groovy e Grails - \/dev\/Kico\" \/>\n<meta property=\"og:description\" content=\"No dia 1\/11\/2014, em minha apresenta\u00e7\u00e3o no DevDay, tornei publica uma descoberta que fiz ao longo destes quase 10 anos de Groovy e Grails: estas tecnologias s\u00e3o valiosas\u00a0por serem pontes.\u00a0Neste post explico o que chamo de &#8220;tecnologia ponte&#8221;. O que \u00e9 uma ponte? Pontes s\u00e3o o tipo de coisa que est\u00e3o t\u00e3o presentes em nosso [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/devkico.itexto.com.br\/?p=2025\" \/>\n<meta property=\"og:site_name\" content=\"\/dev\/Kico\" \/>\n<meta property=\"article:published_time\" content=\"2014-11-04T00:57:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/11\/ponte.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"250\" \/>\n\t<meta property=\"og:image:height\" content=\"250\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Kico (Henrique Lobo Weissmann)\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@loboweissmann\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kico (Henrique Lobo Weissmann)\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=2025\",\"url\":\"https:\/\/devkico.itexto.com.br\/?p=2025\",\"name\":\"As pontes Groovy e Grails - \/dev\/Kico\",\"isPartOf\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=2025#primaryimage\"},\"image\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=2025#primaryimage\"},\"thumbnailUrl\":\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/11\/ponte.jpg\",\"datePublished\":\"2014-11-04T00:57:57+00:00\",\"dateModified\":\"2014-11-04T00:57:57+00:00\",\"author\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7\"},\"breadcrumb\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=2025#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/devkico.itexto.com.br\/?p=2025\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=2025#primaryimage\",\"url\":\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/11\/ponte.jpg\",\"contentUrl\":\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/11\/ponte.jpg\",\"width\":250,\"height\":250},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=2025#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/devkico.itexto.com.br\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"As pontes Groovy e Grails\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/devkico.itexto.com.br\/#website\",\"url\":\"https:\/\/devkico.itexto.com.br\/\",\"name\":\"\/dev\/Kico\",\"description\":\"Desenvolvendo software\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/devkico.itexto.com.br\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7\",\"name\":\"Kico (Henrique Lobo Weissmann)\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g\",\"caption\":\"Kico (Henrique Lobo Weissmann)\"},\"sameAs\":[\"https:\/\/x.com\/loboweissmann\"],\"url\":\"https:\/\/devkico.itexto.com.br\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"As pontes Groovy e Grails - \/dev\/Kico","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/devkico.itexto.com.br\/?p=2025","og_locale":"pt_BR","og_type":"article","og_title":"As pontes Groovy e Grails - \/dev\/Kico","og_description":"No dia 1\/11\/2014, em minha apresenta\u00e7\u00e3o no DevDay, tornei publica uma descoberta que fiz ao longo destes quase 10 anos de Groovy e Grails: estas tecnologias s\u00e3o valiosas\u00a0por serem pontes.\u00a0Neste post explico o que chamo de &#8220;tecnologia ponte&#8221;. O que \u00e9 uma ponte? Pontes s\u00e3o o tipo de coisa que est\u00e3o t\u00e3o presentes em nosso [&hellip;]","og_url":"https:\/\/devkico.itexto.com.br\/?p=2025","og_site_name":"\/dev\/Kico","article_published_time":"2014-11-04T00:57:57+00:00","og_image":[{"width":250,"height":250,"url":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/11\/ponte.jpg","type":"image\/jpeg"}],"author":"Kico (Henrique Lobo Weissmann)","twitter_card":"summary_large_image","twitter_creator":"@loboweissmann","twitter_misc":{"Escrito por":"Kico (Henrique Lobo Weissmann)","Est. tempo de leitura":"6 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/devkico.itexto.com.br\/?p=2025","url":"https:\/\/devkico.itexto.com.br\/?p=2025","name":"As pontes Groovy e Grails - \/dev\/Kico","isPartOf":{"@id":"https:\/\/devkico.itexto.com.br\/#website"},"primaryImageOfPage":{"@id":"https:\/\/devkico.itexto.com.br\/?p=2025#primaryimage"},"image":{"@id":"https:\/\/devkico.itexto.com.br\/?p=2025#primaryimage"},"thumbnailUrl":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/11\/ponte.jpg","datePublished":"2014-11-04T00:57:57+00:00","dateModified":"2014-11-04T00:57:57+00:00","author":{"@id":"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7"},"breadcrumb":{"@id":"https:\/\/devkico.itexto.com.br\/?p=2025#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/devkico.itexto.com.br\/?p=2025"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/devkico.itexto.com.br\/?p=2025#primaryimage","url":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/11\/ponte.jpg","contentUrl":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/11\/ponte.jpg","width":250,"height":250},{"@type":"BreadcrumbList","@id":"https:\/\/devkico.itexto.com.br\/?p=2025#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/devkico.itexto.com.br\/"},{"@type":"ListItem","position":2,"name":"As pontes Groovy e Grails"}]},{"@type":"WebSite","@id":"https:\/\/devkico.itexto.com.br\/#website","url":"https:\/\/devkico.itexto.com.br\/","name":"\/dev\/Kico","description":"Desenvolvendo software","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/devkico.itexto.com.br\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7","name":"Kico (Henrique Lobo Weissmann)","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g","caption":"Kico (Henrique Lobo Weissmann)"},"sameAs":["https:\/\/x.com\/loboweissmann"],"url":"https:\/\/devkico.itexto.com.br\/?author=1"}]}},"jetpack_featured_media_url":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/11\/ponte.jpg","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/2025"}],"collection":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2025"}],"version-history":[{"count":7,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/2025\/revisions"}],"predecessor-version":[{"id":2039,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/2025\/revisions\/2039"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/media\/2026"}],"wp:attachment":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2025"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2025"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2025"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}