{"id":717,"date":"2016-10-24T18:59:31","date_gmt":"2016-10-24T18:59:31","guid":{"rendered":"http:\/\/www.andrefelizardo.com.br\/blog\/?p=717"},"modified":"2016-10-24T19:02:06","modified_gmt":"2016-10-24T19:02:06","slug":"node-js-o-que-e-entenda-agora","status":"publish","type":"post","link":"https:\/\/www.andrefelizardo.com.br\/blog\/node-js-o-que-e-entenda-agora\/","title":{"rendered":"Node.js, o que \u00e9? Entenda agora"},"content":{"rendered":"<p>As vezes eu digo que Node.js \u00e9 o futuro. Mas est\u00e1 errado. Node.js \u00e9 o presente. Se voc\u00ea quer fazer apps com <a href=\"http:\/\/www.andrefelizardo.com.br\/blog\/ionic-framework-desenvolvendo-mobile-apps\/\" target=\"_blank\">Ionic<\/a>, por exemplo, voc\u00ea precisa ter\u00a0<em>Node\u00a0<\/em>instalado.\u00a0At\u00e9 pra brincar com .NET Core, voc\u00ea pode utilizar\u00a0<em>Node\u00a0<\/em>pra criar sua Web API.<\/p>\n<p>E n\u00e3o sei voc\u00ea, mas, eu usei v\u00e1rias vezes o\u00a0<em>npm<\/em>, antes mesmo de entender o que \u00e9 Node.js. Se voc\u00ea est\u00e1 com esse problema,\u00a0vamos acabar com ele\u00a0agora.<\/p>\n<p><!--more--><\/p>\n<h2>Node.js, o que \u00e9?<\/h2>\n<p>Em mi\u00fados, <em>Node\u00a0<\/em>\u00e9 JavaScript do lado servidor. N\u00e3o entendeu? Com ele, voc\u00ea consegue criar v\u00e1rias tipos de aplica\u00e7\u00f5es Web utilizando\u00a0<strong>apenas\u00a0<\/strong>JavaScript. E isso \u00e9 sensacional. N\u00e3o s\u00f3 porque eu sou <a href=\"http:\/\/www.andrefelizardo.com.br\/blog\/front-end-o-que-e\/\" target=\"_blank\">Front-end<\/a> e \u00e9 &#8216;mais f\u00e1cil&#8217; fazer uma aplica\u00e7\u00e3o toda em JavaScript (vai achando que \u00e9 tudo moleza com JS), tanto porque ele \u00e9 bem mais simples que\u00a0<em>Apache\u00a0<\/em>ou\u00a0<em>IIS &#8211; <\/em>o que implica no fato de que Node.js n\u00e3o \u00e9 bala de prata, e n\u00e3o deve ser usado pra solu\u00e7\u00e3o de qualquer problema.<\/p>\n<h2>Objetivo<\/h2>\n<p>O objetivo do criador,\u00a0Ryan Dahl, n\u00e3o era colocar JavaScript no lado servidor, mas sim uma forma de fazer I\/O, alocando menos mem\u00f3ria e criando menos thread, trabalhando de forma ass\u00edncrona, possibilitando mais concorr\u00eancia.<\/p>\n<h2>V8 JavaScript Engine<\/h2>\n<p>\u00c9 o interpretador JavaScript, open source, de alta performance do Google, escrito em C++. Ele foi desenvolvido com o objetivo de atender o Google Chrome. Convenhamos, o Chrome, est\u00e1 entre os navegadores mais r\u00e1pidos, e o V8 \u00e9 o grande respons\u00e1vel pelo desempenho. Obs: V8, \u00e9 multiplataforma, portanto, a instala\u00e7\u00e3o do Node, \u00e9 bem simples para qualquer plataforma.<\/p>\n<h2>libuv<\/h2>\n<p>libuv \u00e9 uma biblioteca multiplataforma com foco em I\/O ass\u00edncrono. Foi desenvolvido, primeiramente, para ser usado com Node.js. N\u00e3o vou entrar em muitos detalhes, mas se voc\u00ea realmente quiser aprender a melhor forma de escalar uma aplica\u00e7\u00e3o Node e a melhor forma de fazer I\/O, leia a <a href=\"http:\/\/libuv.org\/\" target=\"_blank\">documenta\u00e7\u00e3o do libuv<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h2>Core Library<\/h2>\n<p>Esse \u00e9 o terceiro pilar de Node, e tamb\u00e9m n\u00e3o vou entrar em muitos detalhes, mas <strong>Node.js Core Library\u00a0<\/strong>\u00e9 composto por m\u00f3dulos escritos em JavaScript como\u00a0<em>http<\/em>,\u00a0<em>stream<\/em>,\u00a0<em>cluster<\/em>,\u00a0<em>dns<\/em>,\u00a0<em>net<\/em>, <em>crypto<\/em>,\u00a0e outros. Eles se conectam atrav\u00e9s de Bindings C++ com o V8 e a libuv.<\/p>\n<h2>Quem est\u00e1 usando Node.js?<\/h2>\n<ul>\n<li><a href=\"http:\/\/venturebeat.com\/2012\/01\/24\/why-walmart-is-using-node-js\/\" target=\"_blank\">Walmart<\/a><\/li>\n<li><a href=\"https:\/\/www.ebayinc.com\/stories\/news\/node-js-an-open-source-tool-driving-innovative-development-at-ebay\/\" target=\"_blank\">Ebay<\/a><\/li>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=-00ImeLt9ec\" target=\"_blank\">PayPal<\/a><\/li>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=p74282nDMX8\" target=\"_blank\">Netflix<\/a><\/li>\n<li><a href=\"http:\/\/highscalability.com\/blog\/2012\/10\/4\/linkedin-moved-from-rails-to-node-27-servers-cut-and-up-to-2.html\" target=\"_blank\">LinkedIn<\/a><\/li>\n<li><a href=\"https:\/\/nodejs.org\/static\/documents\/casestudies\/Nodejs-at-Uber.pdf\" target=\"_blank\">Uber<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>Eu coloquei um link especificando onde e porque, cada uma das empresas acima usa o Node.js. Lembre-se, n\u00e3o existe bala de prata.<\/p>\n<p>Curtiu? Assim como <a href=\"http:\/\/www.andrefelizardo.com.br\/blog\/react-js-o-que-e-introducao-ao-react\/\" target=\"_blank\">React.js<\/a>, se voc\u00ea j\u00e1 conhecia a tecnologia, o texto pode n\u00e3o ter te inserido nenhuma informa\u00e7\u00e3o nova, mas a ideia geral aqui \u00e9 dar um resum\u00e3o pra quem t\u00e1 querendo entender e conhecendo agora a tecnologia.<\/p>\n<p>Aproveita e curte minha p\u00e1gina, pra ficar sabendo dos posts em primeira m\u00e3o! D\u00favida deixa nos coment\u00e1rios, boa leitura!<\/p>\n<p>[wpdevart_like_box profile_id=&#8221;514623068560386&#8243; connections=&#8221;show&#8221; width=&#8221;300&#8243; height=&#8221;200&#8243; header=&#8221;small&#8221; cover_photo=&#8221;show&#8221; locale=&#8221;pt_BR&#8221;]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As vezes eu digo que Node.js \u00e9 o futuro. Mas est\u00e1 errado. Node.js \u00e9 o presente. Se voc\u00ea quer fazer apps com Ionic, por exemplo, voc\u00ea precisa ter\u00a0Node\u00a0instalado.\u00a0At\u00e9 pra brincar com .NET Core, voc\u00ea pode utilizar\u00a0Node\u00a0pra criar sua Web API. E n\u00e3o sei voc\u00ea, mas, eu usei v\u00e1rias vezes o\u00a0npm, antes mesmo de entender o [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":722,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":true,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[45,117,2,5],"tags":[93,16,55,56,118,59],"class_list":["post-717","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-curiosidades","category-dev","category-dicas","category-tecnologia","tag-desenvolvimento","tag-dicas","tag-javascript","tag-js","tag-node-js","tag-web"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Node.js, o que \u00e9? Entenda agora - Blog do Andr\u00e9 Felizardo<\/title>\n<meta name=\"description\" content=\"Entenda agora o que \u00e9 Node.js, como ele funciona, seus principais pilares, e n\u00e3o fique por fora de mais uma tecnologia incr\u00edvel baseada em JavaScript.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/www.andrefelizardo.com.br\/blog\/node-js-o-que-e-entenda-agora\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Node.js, o que \u00e9? Entenda agora - Blog do Andr\u00e9 Felizardo\" \/>\n<meta property=\"og:description\" content=\"Entenda agora o que \u00e9 Node.js, como ele funciona, seus principais pilares, e n\u00e3o fique por fora de mais uma tecnologia incr\u00edvel baseada em JavaScript.\" \/>\n<meta property=\"og:url\" content=\"http:\/\/www.andrefelizardo.com.br\/blog\/node-js-o-que-e-entenda-agora\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog do Andr\u00e9 Felizardo\" \/>\n<meta property=\"article:published_time\" content=\"2016-10-24T18:59:31+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2016-10-24T19:02:06+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2016\/10\/node.js.png\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"450\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Felizardo\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Felizardo\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/node-js-o-que-e-entenda-agora\\\/#article\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/node-js-o-que-e-entenda-agora\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Felizardo\",\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/7ffba68b251851fb519600e2e387a02b\"},\"headline\":\"Node.js, o que \u00e9? Entenda agora\",\"datePublished\":\"2016-10-24T18:59:31+00:00\",\"dateModified\":\"2016-10-24T19:02:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/node-js-o-que-e-entenda-agora\\\/\"},\"wordCount\":508,\"commentCount\":0,\"image\":{\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/node-js-o-que-e-entenda-agora\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/10\\\/node.js.png\",\"keywords\":[\"desenvolvimento\",\"dicas\",\"javascript\",\"js\",\"node.js\",\"web\"],\"articleSection\":[\"Curiosidades\",\"Dev\",\"Dicas\",\"Tecnologia\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/node-js-o-que-e-entenda-agora\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/node-js-o-que-e-entenda-agora\\\/\",\"url\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/node-js-o-que-e-entenda-agora\\\/\",\"name\":\"Node.js, o que \u00e9? Entenda agora - Blog do Andr\u00e9 Felizardo\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/node-js-o-que-e-entenda-agora\\\/#primaryimage\"},\"image\":{\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/node-js-o-que-e-entenda-agora\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/10\\\/node.js.png\",\"datePublished\":\"2016-10-24T18:59:31+00:00\",\"dateModified\":\"2016-10-24T19:02:06+00:00\",\"author\":{\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/7ffba68b251851fb519600e2e387a02b\"},\"description\":\"Entenda agora o que \u00e9 Node.js, como ele funciona, seus principais pilares, e n\u00e3o fique por fora de mais uma tecnologia incr\u00edvel baseada em JavaScript.\",\"breadcrumb\":{\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/node-js-o-que-e-entenda-agora\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/node-js-o-que-e-entenda-agora\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/node-js-o-que-e-entenda-agora\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/10\\\/node.js.png\",\"contentUrl\":\"https:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/10\\\/node.js.png\",\"width\":800,\"height\":450},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/node-js-o-que-e-entenda-agora\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Node.js, o que \u00e9? Entenda agora\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/#website\",\"url\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/\",\"name\":\"Blog do Andr\u00e9 Felizardo\",\"description\":\"Programa\u00e7\u00e3o de dev para dev\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/7ffba68b251851fb519600e2e387a02b\",\"name\":\"Andr\u00e9 Felizardo\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/wp-content\\\/wphb-cache\\\/gravatar\\\/9f9\\\/9f92d8b773ef5acf9b462d6dab41d783x96.jpg\",\"url\":\"https:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/wp-content\\\/wphb-cache\\\/gravatar\\\/9f9\\\/9f92d8b773ef5acf9b462d6dab41d783x96.jpg\",\"contentUrl\":\"https:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/wp-content\\\/wphb-cache\\\/gravatar\\\/9f9\\\/9f92d8b773ef5acf9b462d6dab41d783x96.jpg\",\"caption\":\"Andr\u00e9 Felizardo\"},\"sameAs\":[\"http:\\\/\\\/www.andrefelizardo.com.br\"],\"url\":\"https:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/author\\\/andrefelizardo\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Node.js, o que \u00e9? Entenda agora - Blog do Andr\u00e9 Felizardo","description":"Entenda agora o que \u00e9 Node.js, como ele funciona, seus principais pilares, e n\u00e3o fique por fora de mais uma tecnologia incr\u00edvel baseada em JavaScript.","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":"http:\/\/www.andrefelizardo.com.br\/blog\/node-js-o-que-e-entenda-agora\/","og_locale":"pt_BR","og_type":"article","og_title":"Node.js, o que \u00e9? Entenda agora - Blog do Andr\u00e9 Felizardo","og_description":"Entenda agora o que \u00e9 Node.js, como ele funciona, seus principais pilares, e n\u00e3o fique por fora de mais uma tecnologia incr\u00edvel baseada em JavaScript.","og_url":"http:\/\/www.andrefelizardo.com.br\/blog\/node-js-o-que-e-entenda-agora\/","og_site_name":"Blog do Andr\u00e9 Felizardo","article_published_time":"2016-10-24T18:59:31+00:00","article_modified_time":"2016-10-24T19:02:06+00:00","og_image":[{"width":800,"height":450,"url":"http:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2016\/10\/node.js.png","type":"image\/png"}],"author":"Andr\u00e9 Felizardo","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Andr\u00e9 Felizardo","Est. tempo de leitura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/www.andrefelizardo.com.br\/blog\/node-js-o-que-e-entenda-agora\/#article","isPartOf":{"@id":"http:\/\/www.andrefelizardo.com.br\/blog\/node-js-o-que-e-entenda-agora\/"},"author":{"name":"Andr\u00e9 Felizardo","@id":"http:\/\/www.andrefelizardo.com.br\/blog\/#\/schema\/person\/7ffba68b251851fb519600e2e387a02b"},"headline":"Node.js, o que \u00e9? Entenda agora","datePublished":"2016-10-24T18:59:31+00:00","dateModified":"2016-10-24T19:02:06+00:00","mainEntityOfPage":{"@id":"http:\/\/www.andrefelizardo.com.br\/blog\/node-js-o-que-e-entenda-agora\/"},"wordCount":508,"commentCount":0,"image":{"@id":"http:\/\/www.andrefelizardo.com.br\/blog\/node-js-o-que-e-entenda-agora\/#primaryimage"},"thumbnailUrl":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2016\/10\/node.js.png","keywords":["desenvolvimento","dicas","javascript","js","node.js","web"],"articleSection":["Curiosidades","Dev","Dicas","Tecnologia"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["http:\/\/www.andrefelizardo.com.br\/blog\/node-js-o-que-e-entenda-agora\/#respond"]}]},{"@type":"WebPage","@id":"http:\/\/www.andrefelizardo.com.br\/blog\/node-js-o-que-e-entenda-agora\/","url":"http:\/\/www.andrefelizardo.com.br\/blog\/node-js-o-que-e-entenda-agora\/","name":"Node.js, o que \u00e9? Entenda agora - Blog do Andr\u00e9 Felizardo","isPartOf":{"@id":"http:\/\/www.andrefelizardo.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"http:\/\/www.andrefelizardo.com.br\/blog\/node-js-o-que-e-entenda-agora\/#primaryimage"},"image":{"@id":"http:\/\/www.andrefelizardo.com.br\/blog\/node-js-o-que-e-entenda-agora\/#primaryimage"},"thumbnailUrl":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2016\/10\/node.js.png","datePublished":"2016-10-24T18:59:31+00:00","dateModified":"2016-10-24T19:02:06+00:00","author":{"@id":"http:\/\/www.andrefelizardo.com.br\/blog\/#\/schema\/person\/7ffba68b251851fb519600e2e387a02b"},"description":"Entenda agora o que \u00e9 Node.js, como ele funciona, seus principais pilares, e n\u00e3o fique por fora de mais uma tecnologia incr\u00edvel baseada em JavaScript.","breadcrumb":{"@id":"http:\/\/www.andrefelizardo.com.br\/blog\/node-js-o-que-e-entenda-agora\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["http:\/\/www.andrefelizardo.com.br\/blog\/node-js-o-que-e-entenda-agora\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"http:\/\/www.andrefelizardo.com.br\/blog\/node-js-o-que-e-entenda-agora\/#primaryimage","url":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2016\/10\/node.js.png","contentUrl":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2016\/10\/node.js.png","width":800,"height":450},{"@type":"BreadcrumbList","@id":"http:\/\/www.andrefelizardo.com.br\/blog\/node-js-o-que-e-entenda-agora\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"http:\/\/www.andrefelizardo.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"Node.js, o que \u00e9? Entenda agora"}]},{"@type":"WebSite","@id":"http:\/\/www.andrefelizardo.com.br\/blog\/#website","url":"http:\/\/www.andrefelizardo.com.br\/blog\/","name":"Blog do Andr\u00e9 Felizardo","description":"Programa\u00e7\u00e3o de dev para dev","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/www.andrefelizardo.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"http:\/\/www.andrefelizardo.com.br\/blog\/#\/schema\/person\/7ffba68b251851fb519600e2e387a02b","name":"Andr\u00e9 Felizardo","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/wphb-cache\/gravatar\/9f9\/9f92d8b773ef5acf9b462d6dab41d783x96.jpg","url":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/wphb-cache\/gravatar\/9f9\/9f92d8b773ef5acf9b462d6dab41d783x96.jpg","contentUrl":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/wphb-cache\/gravatar\/9f9\/9f92d8b773ef5acf9b462d6dab41d783x96.jpg","caption":"Andr\u00e9 Felizardo"},"sameAs":["http:\/\/www.andrefelizardo.com.br"],"url":"https:\/\/www.andrefelizardo.com.br\/blog\/author\/andrefelizardo\/"}]}},"jetpack_featured_media_url":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2016\/10\/node.js.png","jetpack_shortlink":"https:\/\/wp.me\/p6EP66-bz","jetpack-related-posts":[{"id":527,"url":"https:\/\/www.andrefelizardo.com.br\/blog\/ionic-framework-desenvolvendo-mobile-apps\/","url_meta":{"origin":717,"position":0},"title":"Ionic Framework &#8211; Desenvolvendo Mobile Apps","author":"Andr\u00e9 Felizardo","date":"14 de maio de 2016","format":false,"excerpt":"O que \u00e9 o Ionic Showcases Ionic Configura\u00e7\u00e3o e Instala\u00e7\u00e3o Node.js Cordova + Ionic Criando o primeiro app Divirta-se O que \u00e9 o Ionic? Ionic \u00e9 um framework livre e de c\u00f3digo aberto. O conceito principal desse framework, \u00e9 possibilitar a cria\u00e7\u00e3o de aplicativos mobile com linguagens web (HTML, CSS,\u2026","rel":"","context":"Em &quot;Aplicativos&quot;","block_context":{"text":"Aplicativos","link":"https:\/\/www.andrefelizardo.com.br\/blog\/category\/aplicativos\/"},"img":{"alt_text":"Ionic logo","src":"https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2016\/05\/ionic-01.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2016\/05\/ionic-01.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2016\/05\/ionic-01.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2016\/05\/ionic-01.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":926,"url":"https:\/\/www.andrefelizardo.com.br\/blog\/o-que-e-ember-js\/","url_meta":{"origin":717,"position":1},"title":"O que \u00e9 Ember.js","author":"Andr\u00e9 Felizardo","date":"30 de setembro de 2017","format":false,"excerpt":"Ember.js \u00e9 um framework Javascript (sim, mais um) para construir aplica\u00e7\u00f5es web ambiciosas. O objetivo dele \u00e9 aumentar a produtividade de desenvolvimento de aplica\u00e7\u00f5es web, mas focado no paradigma de que \u00e9 melhor gastar um pouco mais de tempo no desenvolvimento por\u00e9m facilitar a manuten\u00e7\u00e3o. Antes de detalhar mais o\u2026","rel":"","context":"Em &quot;Dev&quot;","block_context":{"text":"Dev","link":"https:\/\/www.andrefelizardo.com.br\/blog\/category\/dev\/"},"img":{"alt_text":"Logo Ember.js","src":"https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/09\/ember.js.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/09\/ember.js.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/09\/ember.js.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/09\/ember.js.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":963,"url":"https:\/\/www.andrefelizardo.com.br\/blog\/o-que-e-vue-js\/","url_meta":{"origin":717,"position":2},"title":"O que \u00e9 Vue.js","author":"Andr\u00e9 Felizardo","date":"10 de janeiro de 2018","format":false,"excerpt":"Vue.js \u00e9 uma biblioteca\u00a0JavaScript\u00a0acess\u00edvel, vers\u00e1til e perform\u00e1tica. E apesar do site oficial dizer que Vue.js \u00e9 um framework JavaScript Progressivo, eu j\u00e1 vou come\u00e7ar discordando :) Entendemos por framework, aquela solu\u00e7\u00e3o 'fechada' quando voc\u00ea j\u00e1 tem definido por exemplo a estrutura de diret\u00f3rios, ou a forma como voc\u00ea faz uma\u2026","rel":"","context":"Em &quot;Dev&quot;","block_context":{"text":"Dev","link":"https:\/\/www.andrefelizardo.com.br\/blog\/category\/dev\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2018\/01\/vuejs.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2018\/01\/vuejs.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2018\/01\/vuejs.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2018\/01\/vuejs.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":668,"url":"https:\/\/www.andrefelizardo.com.br\/blog\/manipulando-elementos-de-acordo-com-a-altura-da-janela\/","url_meta":{"origin":717,"position":3},"title":"Manipulando elementos de acordo com a altura da janela","author":"Andr\u00e9 Felizardo","date":"30 de setembro de 2016","format":false,"excerpt":"Se voc\u00ea v\u00e1rias vezes j\u00e1 se pegou\u00a0manipulando elementos com JavaScript e jQuery nem precisa ler esse post, sei l\u00e1, vai ler sobre Ionic\u00a0:) Caso voc\u00ea esteja come\u00e7ando no mundo do Front-end\u00a0talvez voc\u00ea tenha tido esta d\u00favida. Como eu fa\u00e7o pra deixar um elemento (como uma div) da altura da janela?\u2026","rel":"","context":"Em &quot;Curiosidades&quot;","block_context":{"text":"Curiosidades","link":"https:\/\/www.andrefelizardo.com.br\/blog\/category\/curiosidades\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2016\/09\/javascript.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2016\/09\/javascript.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2016\/09\/javascript.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2016\/09\/javascript.jpg?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":1020,"url":"https:\/\/www.andrefelizardo.com.br\/blog\/comecando-com-ionic-3\/","url_meta":{"origin":717,"position":4},"title":"Come\u00e7ando com Ionic 3","author":"Andr\u00e9 Felizardo","date":"10 de junho de 2018","format":false,"excerpt":"Ionic \u00e9 um framework para criar aplicativos mobile h\u00edbridos atrav\u00e9s de linguagens web (HTML, CSS e JS). Voc\u00ea pode aprender mais sobre o conceito do Ionic Framework aqui. Atualmente estamos no Ionic 3 (3.9.2 para ser exato), e o desenvolvimento do framework vem evoluindo bastante desde o lan\u00e7amento do Ionic\u2026","rel":"","context":"Em &quot;Dev&quot;","block_context":{"text":"Dev","link":"https:\/\/www.andrefelizardo.com.br\/blog\/category\/dev\/"},"img":{"alt_text":"Come\u00e7ando com Ionic 3","src":"https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2018\/06\/Group.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2018\/06\/Group.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2018\/06\/Group.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2018\/06\/Group.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":1100,"url":"https:\/\/www.andrefelizardo.com.br\/blog\/tipos-de-frontend\/","url_meta":{"origin":717,"position":5},"title":"Tipos de Frontend","author":"Andr\u00e9 Felizardo","date":"4 de mar\u00e7o de 2020","format":false,"excerpt":"A alguns anos atr\u00e1s escrevi um texto sobre o que \u00e9 o frontend, tamb\u00e9m palestrei sobre o que \u00e9 frontend, a carreira do frontend e os tipos de frontend que existem. Como minha vis\u00e3o sobre o assunto mudou bastante, resolvi revisitar esses materiais e escrever um parecer atualizado sobre os\u2026","rel":"","context":"Em &quot;Dev&quot;","block_context":{"text":"Dev","link":"https:\/\/www.andrefelizardo.com.br\/blog\/category\/dev\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2020\/03\/andre-felizardo_tipos-de-frontend-1-1.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2020\/03\/andre-felizardo_tipos-de-frontend-1-1.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2020\/03\/andre-felizardo_tipos-de-frontend-1-1.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2020\/03\/andre-felizardo_tipos-de-frontend-1-1.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2020\/03\/andre-felizardo_tipos-de-frontend-1-1.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2020\/03\/andre-felizardo_tipos-de-frontend-1-1.png?resize=1400%2C800&ssl=1 4x"},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-json\/wp\/v2\/posts\/717","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-json\/wp\/v2\/comments?post=717"}],"version-history":[{"count":0,"href":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-json\/wp\/v2\/posts\/717\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-json\/wp\/v2\/media\/722"}],"wp:attachment":[{"href":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-json\/wp\/v2\/media?parent=717"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-json\/wp\/v2\/categories?post=717"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-json\/wp\/v2\/tags?post=717"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}