{"id":799,"date":"2017-01-15T11:54:37","date_gmt":"2017-01-15T11:54:37","guid":{"rendered":"http:\/\/www.andrefelizardo.com.br\/blog\/?p=799"},"modified":"2017-01-15T11:54:37","modified_gmt":"2017-01-15T11:54:37","slug":"angular-2-nao-continuacao-do-angular-1","status":"publish","type":"post","link":"https:\/\/www.andrefelizardo.com.br\/blog\/angular-2-nao-continuacao-do-angular-1\/","title":{"rendered":"Angular 2 &#8211; A n\u00e3o continua\u00e7\u00e3o do Angular 1"},"content":{"rendered":"<p>T\u00e1 estudando Angular 2? N\u00e3o? Fica ligado que a gente j\u00e1 est\u00e1 no Angular 4 beta 3!<\/p>\n<p>Angular 2 foi oficialmente lan\u00e7ado em setembro de 2016.<\/p>\n<p>Mas tamb\u00e9m n\u00e3o precisa ficar t\u00e3o preocupado. De qualquer forma vamos colocar os <em>pingos nos is\u00a0<\/em>pra voc\u00ea entender de uma vez por toda o que est\u00e1 acontecendo com <a href=\"http:\/\/www.andrefelizardo.com.br\/blog\/o-que-e-angularjs\/\" target=\"_blank\">AngularJS<\/a>, e o que voc\u00ea deve fazer.<\/p>\n<p><!--more--><\/p>\n<p>Pra come\u00e7ar, se voc\u00ea quiser saber um pouco mais da <a href=\"http:\/\/www.andrefelizardo.com.br\/blog\/o-que-e-angularjs\/#historia\" target=\"_blank\">hist\u00f3ria do AngularJS<\/a>, d\u00e1 uma olhada nesse outro post.<\/p>\n<ul>\n<li><a href=\"#angular2-e-continuacao-do-angular1\">Angular 2 \u00e9 uma continua\u00e7\u00e3o do AngularJS (1)?<\/a><\/li>\n<li><a href=\"#porque-angular2-nao-e-uma-continuacao-do-angular\">Porque Angular 2 n\u00e3o \u00e9 uma continua\u00e7\u00e3o do Angular (1)?<\/a>\n<ul>\n<li><a href=\"#angular2-usa-typescript\">Angular 2 usa TypeScript<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#angular2-tem-uma-cli\">Angular 2 tem uma CLI<\/a><\/li>\n<li><a href=\"#angular2-tem-boa-performance\">Angular 2 tem boa performance<\/a><\/li>\n<li><a href=\"#entao-a-proxima-versao-do-angular-e-a-3\">Ent\u00e3o a pr\u00f3xima vers\u00e3o do Angular \u00e9 a 3?<\/a><\/li>\n<li><a href=\"#conclusao\">Conclus\u00e3o<\/a><\/li>\n<\/ul>\n<p><a name=\"angular2-e-continuacao-do-angular1\"><\/a><\/p>\n<h2>Angular 2 \u00e9 uma continua\u00e7\u00e3o do AngularJS (1)?<\/h2>\n<p>N\u00e3o. Angular 2 n\u00e3o \u00e9 uma melhoria no Angular 1, Angular 2 \u00e9 outro framework mesmo. Ent\u00e3o porqu\u00ea o nome dessa baga\u00e7a?<\/p>\n<p>V\u00e1rios s\u00e3o os motivos. O objetivo central do framework ainda \u00e9 o mesmo: facilitar o desenvolvimento de aplicativos web, utilizando um menor n\u00famero de linhas de c\u00f3digo.<\/p>\n<p>O Angular 2 foi desenvolvido pela mesma equipe do Angular 1, ent\u00e3o \u00e9 a continua\u00e7\u00e3o do projeto, mas os frameworks n\u00e3o se parecem muito.<\/p>\n<p>O nome Angular \u00e9 forte no mercado web, e valia a pena manter o nome, at\u00e9 para as pessoas j\u00e1 saberem do que se trata, que o Google mant\u00e9m, entre outros.<br \/>\n<a name=\"porque-angular2-nao-e-uma-continuacao-do-angular\"><\/a><\/p>\n<h2>Porque Angular 2 n\u00e3o \u00e9 uma continua\u00e7\u00e3o do Angular (1)?<\/h2>\n<p>Como voc\u00ea pode dar uma olhada <a href=\"http:\/\/www.andrefelizardo.com.br\/blog\/o-que-e-angularjs\/\" target=\"_blank\">aqui<\/a>, AngularJS foi criado em 2009, antes desse gigantesco boom de frameworks JavaScript. Portanto, ele foi o precursor em muita coisa, mas tamb\u00e9m foi a partir dos seus problemas (principalmente de performance) que foram nascendo outros frameworks como <a href=\"http:\/\/www.andrefelizardo.com.br\/blog\/react-js-o-que-e-introducao-ao-react\/\" target=\"_blank\">React.js<\/a>, Vue.js e outros.<\/p>\n<p>Esses novos frameworks resolviam v\u00e1rios problemas que o Angular n\u00e3o, e a\u00ed a comunidade come\u00e7ou a falar que o Angular tinha morrido entre v\u00e1rias outras coisas.<br \/>\n<a name=\"angular2-usa-typescript\"><\/a><\/p>\n<h3>Angular 2 usa TypeScript<\/h3>\n<p>TypeScript possivelmente vai ser o pr\u00f3ximo assunto que eu vou abordar, porque eu mesmo fiquei&#8230; preocupado quando vi que\u00a0a nova vers\u00e3o do <a href=\"http:\/\/www.andrefelizardo.com.br\/blog\/ionic-framework-desenvolvendo-mobile-apps\/\" target=\"_blank\">Ionic<\/a>\u00a0estava usando Angular 2 e consequentemente TypeScript. Porque n\u00e3o deixaram o velho e bom JavaScript?<\/p>\n<p>Como JavaScript aos poucos come\u00e7ou a ser utilizado para qualquer coisa, e quase est\u00e1 se tornando uma linguagem de mais baixo n\u00edvel devido a infinidade de frameworks que a utilizam como base, algumas pessoas come\u00e7aram a querer um JavaScript mais tipado.<\/p>\n<p>Sabe Java ou C#, que quando voc\u00ea vai definir uma vari\u00e1vel, voc\u00ea diz se ela \u00e9\u00a0<em>string<\/em>,\u00a0<em>int\u00a0<\/em>ou qualquer outra coisa? Isso \u00e9 uma linguagem fortemente tipada, coisa que o JavaScript n\u00e3o \u00e9. Ent\u00e3o, para criar c\u00f3digos de larga escala fortemente tipados foi criado o TypeScript, que pro navegador continua sendo JavaScript, visto que o c\u00f3digo \u00e9 compilado para JavaScript puro.<\/p>\n<p>Outra feature interessante do TypeScript \u00e9 que voc\u00ea pode utilizar recursos de ES6(JavaScript 2015), ES7, ESQualquer coisa com TypeScript, pois quando ele compila ele converte em JavaScript puro que qualquer navegador consegue ler. Ou seja, voc\u00ea pode utilizar recursos que o navegador teoricamente n\u00e3o teria como executar, mas o compilador transforma em c\u00f3digo que o navegador consegue executar. Boa ideia, n\u00e3o?<\/p>\n<p>S\u00f3 tem um problema, TypeScript n\u00e3o \u00e9 JavaScript. E algumas pessoas odeiam isso.<br \/>\n<a name=\"angular2-tem-uma-cli\"><\/a><\/p>\n<h2>Angular 2 tem uma CLI<\/h2>\n<p>N\u00e3o sei se voc\u00ea j\u00e1 desenvolveu algo em <a href=\"http:\/\/www.andrefelizardo.com.br\/blog\/ionic-framework-desenvolvendo-mobile-apps\/\" target=\"_blank\">Ionic<\/a>, mas v\u00e1rias rotinas como criar um projeto, <a href=\"http:\/\/www.andrefelizardo.com.br\/blog\/splash-screen-ionic-e-icone\/\" target=\"_blank\">gerar a Splash Screen<\/a>, rodar o projeto\u00a0e outros podem ser feitos atrav\u00e9s de comandos executados no terminal\/prompt.<\/p>\n<p>Angular 2 tamb\u00e9m tem uma CLI (Command-line Interface) onde \u00e9 poss\u00edvel executar v\u00e1rios comandos que facilitam a utiliza\u00e7\u00e3o dessas rotinas. E isso \u00e9 um ganho <em>tremendo<\/em> no desenvolvimento.<\/p>\n<p><a href=\"http:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/01\/angular2-cli.png\" target=\"_blank\"><img decoding=\"async\" class=\"aligncenter wp-image-803 size-full lazyload\" data-src=\"http:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/01\/angular2-cli.png\" alt=\"CLI Angular 2\" width=\"347\" height=\"210\" data-srcset=\"https:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/01\/angular2-cli.png 347w, https:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/01\/angular2-cli-300x182.png 300w\" data-sizes=\"(max-width: 347px) 100vw, 347px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 347px; --smush-placeholder-aspect-ratio: 347\/210;\" \/><\/a><\/p>\n<p><a href=\"https:\/\/cli.angular.io\/reference.pdf\" target=\"_blank\">Aqui<\/a> voc\u00ea pode encontrar a lista de comandos poss\u00edveis.<br \/>\n<a name=\"angular2-tem-boa-performance\"><\/a><\/p>\n<h2>Angular 2 tem boa performance<\/h2>\n<p>Cara, d\u00e1 uma olhada nesse gr\u00e1fico que a auth0 fez, e tire suas pr\u00f3prias conclus\u00f5es. Angular 2 \u00e9 t\u00e3o mais r\u00e1pido que o 1, que parece inacredit\u00e1vel.<\/p>\n<p><a href=\"http:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/01\/angular2_desempenho.png\" target=\"_blank\"><img decoding=\"async\" class=\"aligncenter wp-image-805 size-full lazyload\" data-src=\"http:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/01\/angular2_desempenho.png\" alt=\"Desempenho do Angular 2 em comparativo\" width=\"585\" height=\"344\" data-srcset=\"https:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/01\/angular2_desempenho.png 585w, https:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/01\/angular2_desempenho-300x176.png 300w\" data-sizes=\"(max-width: 585px) 100vw, 585px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 585px; --smush-placeholder-aspect-ratio: 585\/344;\" \/><\/a><br \/>\n<a name=\"entao-a-proxima-versao-do-angular-e-a-3\"><\/a><\/p>\n<h2>Ent\u00e3o a pr\u00f3xima vers\u00e3o do Angular \u00e9 a 3?<\/h2>\n<p>N\u00e3o. A pr\u00f3xima vers\u00e3o do Angular \u00e9 a 4, e tudo bem.<\/p>\n<p>A partir da vers\u00e3o 2, o Angular vai usar um versionamento um pouco mais correto, que \u00e9 o Semantic Versioning.<\/p>\n<p><a href=\"http:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/01\/angular2_versionamento.png\" target=\"_blank\"><img decoding=\"async\" class=\"aligncenter wp-image-806 size-full lazyload\" data-src=\"http:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/01\/angular2_versionamento.png\" alt=\"Versionamento Angular 2\" width=\"607\" height=\"253\" data-srcset=\"https:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/01\/angular2_versionamento.png 607w, https:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/01\/angular2_versionamento-300x125.png 300w\" data-sizes=\"(max-width: 607px) 100vw, 607px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 607px; --smush-placeholder-aspect-ratio: 607\/253;\" \/><\/a><\/p>\n<p>Sendo assim, qualquer\u00a0<em>breaking change<\/em> deve ter uma\u00a0mudan\u00e7a de vers\u00e3o. Mudou a vers\u00e3o do TypeScript? Nova vers\u00e3o.<\/p>\n<p>Mas cad\u00ea\u00a0a vers\u00e3o 3? Alguns pacotes do Angular estavam na vers\u00e3o 2.alguma coisa. Outros pacotes estavam na 3.alguma coisa.<\/p>\n<p>Pra nivelar, seguindo o Semantic Versioning, tinha que subir mais uma vers\u00e3o Major, por isso a pr\u00f3xima \u00e9 a 4. Mas sinceramente? N\u00e3o muda muita coisa.<\/p>\n<p>S\u00f3 muda quando voc\u00ea tiver algum bug e estiver procurando a solu\u00e7\u00e3o no Google. A\u00ed \u00e9 bom saber a vers\u00e3o certinha que voc\u00ea est\u00e1 utilizando n\u00e9?<\/p>\n<p>Eu fico tranquilo com esse lance de versionamento, quando me lembro que o meu Google Chrome neste exato momento est\u00e1 na vers\u00e3o\u00a0<em><strong>55.0.2883.87 m<\/strong><\/em> \ud83d\ude42<br \/>\n<a name=\"conclusao\"><\/a><\/p>\n<h2>Conclus\u00e3o<\/h2>\n<p>Se voc\u00ea n\u00e3o sabe nada de Angular \u00e9 quer come\u00e7ar a estudar, comece pelo 2, e t\u00e1 tudo bem.<\/p>\n<p>J\u00e1 estudou Angular 1 e t\u00e1 com pregui\u00e7a de aprender o 2? Voc\u00ea n\u00e3o perde todo o conhecimento que voc\u00ea teve no 1. Ainda temos o two-way data binding, e continuamos a escrever HTML reutiliz\u00e1vel em repeats, ifs e outros.<\/p>\n<p>Nem tudo est\u00e1 perdido meu amigo!<\/p>\n<p>Por falar nisso, tem um curso da <a href=\"https:\/\/www.youtube.com\/playlist?list=PLGxZ4Rq3BOBoSRcKWEdQACbUCNWLczg2G\" target=\"_blank\">Loiane Groner no YouTube de Angular 2<\/a>, que t\u00e1 irado!<\/p>\n<p>D\u00favidas? Deixa nos coment\u00e1rios.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>T\u00e1 estudando Angular 2? N\u00e3o? Fica ligado que a gente j\u00e1 est\u00e1 no Angular 4 beta 3! Angular 2 foi oficialmente lan\u00e7ado em setembro de 2016. Mas tamb\u00e9m n\u00e3o precisa ficar t\u00e3o preocupado. De qualquer forma vamos colocar os pingos nos is\u00a0pra voc\u00ea entender de uma vez por toda o que est\u00e1 acontecendo com AngularJS, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":800,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_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":[117,5],"tags":[119,96,40,55,90,102],"class_list":["post-799","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev","category-tecnologia","tag-angular","tag-angularjs","tag-google","tag-javascript","tag-microsoft","tag-typescript"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Angular 2 - A n\u00e3o continua\u00e7\u00e3o do Angular 1 - Blog do Andr\u00e9 Felizardo<\/title>\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\/angular-2-nao-continuacao-do-angular-1\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Angular 2 - A n\u00e3o continua\u00e7\u00e3o do Angular 1 - Blog do Andr\u00e9 Felizardo\" \/>\n<meta property=\"og:description\" content=\"T\u00e1 estudando Angular 2? N\u00e3o? Fica ligado que a gente j\u00e1 est\u00e1 no Angular 4 beta 3! Angular 2 foi oficialmente lan\u00e7ado em setembro de 2016. Mas tamb\u00e9m n\u00e3o precisa ficar t\u00e3o preocupado. De qualquer forma vamos colocar os pingos nos is\u00a0pra voc\u00ea entender de uma vez por toda o que est\u00e1 acontecendo com AngularJS, [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"http:\/\/www.andrefelizardo.com.br\/blog\/angular-2-nao-continuacao-do-angular-1\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog do Andr\u00e9 Felizardo\" \/>\n<meta property=\"article:published_time\" content=\"2017-01-15T11:54:37+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/01\/angular2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"930\" \/>\n\t<meta property=\"og:image:height\" content=\"356\" \/>\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=\"5 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\\\/angular-2-nao-continuacao-do-angular-1\\\/#article\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/angular-2-nao-continuacao-do-angular-1\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Felizardo\",\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/7ffba68b251851fb519600e2e387a02b\"},\"headline\":\"Angular 2 &#8211; A n\u00e3o continua\u00e7\u00e3o do Angular 1\",\"datePublished\":\"2017-01-15T11:54:37+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/angular-2-nao-continuacao-do-angular-1\\\/\"},\"wordCount\":925,\"commentCount\":2,\"image\":{\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/angular-2-nao-continuacao-do-angular-1\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/01\\\/angular2.png\",\"keywords\":[\"angular\",\"angularjs\",\"google\",\"javascript\",\"microsoft\",\"typescript\"],\"articleSection\":[\"Dev\",\"Tecnologia\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/angular-2-nao-continuacao-do-angular-1\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/angular-2-nao-continuacao-do-angular-1\\\/\",\"url\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/angular-2-nao-continuacao-do-angular-1\\\/\",\"name\":\"Angular 2 - A n\u00e3o continua\u00e7\u00e3o do Angular 1 - Blog do Andr\u00e9 Felizardo\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/angular-2-nao-continuacao-do-angular-1\\\/#primaryimage\"},\"image\":{\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/angular-2-nao-continuacao-do-angular-1\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/01\\\/angular2.png\",\"datePublished\":\"2017-01-15T11:54:37+00:00\",\"author\":{\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/7ffba68b251851fb519600e2e387a02b\"},\"breadcrumb\":{\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/angular-2-nao-continuacao-do-angular-1\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/angular-2-nao-continuacao-do-angular-1\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/angular-2-nao-continuacao-do-angular-1\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/01\\\/angular2.png\",\"contentUrl\":\"https:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/01\\\/angular2.png\",\"width\":930,\"height\":356},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/angular-2-nao-continuacao-do-angular-1\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Angular 2 &#8211; A n\u00e3o continua\u00e7\u00e3o do Angular 1\"}]},{\"@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":"Angular 2 - A n\u00e3o continua\u00e7\u00e3o do Angular 1 - Blog do Andr\u00e9 Felizardo","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\/angular-2-nao-continuacao-do-angular-1\/","og_locale":"pt_BR","og_type":"article","og_title":"Angular 2 - A n\u00e3o continua\u00e7\u00e3o do Angular 1 - Blog do Andr\u00e9 Felizardo","og_description":"T\u00e1 estudando Angular 2? N\u00e3o? Fica ligado que a gente j\u00e1 est\u00e1 no Angular 4 beta 3! Angular 2 foi oficialmente lan\u00e7ado em setembro de 2016. Mas tamb\u00e9m n\u00e3o precisa ficar t\u00e3o preocupado. De qualquer forma vamos colocar os pingos nos is\u00a0pra voc\u00ea entender de uma vez por toda o que est\u00e1 acontecendo com AngularJS, [&hellip;]","og_url":"http:\/\/www.andrefelizardo.com.br\/blog\/angular-2-nao-continuacao-do-angular-1\/","og_site_name":"Blog do Andr\u00e9 Felizardo","article_published_time":"2017-01-15T11:54:37+00:00","og_image":[{"width":930,"height":356,"url":"http:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/01\/angular2.png","type":"image\/png"}],"author":"Andr\u00e9 Felizardo","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Andr\u00e9 Felizardo","Est. tempo de leitura":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/www.andrefelizardo.com.br\/blog\/angular-2-nao-continuacao-do-angular-1\/#article","isPartOf":{"@id":"http:\/\/www.andrefelizardo.com.br\/blog\/angular-2-nao-continuacao-do-angular-1\/"},"author":{"name":"Andr\u00e9 Felizardo","@id":"http:\/\/www.andrefelizardo.com.br\/blog\/#\/schema\/person\/7ffba68b251851fb519600e2e387a02b"},"headline":"Angular 2 &#8211; A n\u00e3o continua\u00e7\u00e3o do Angular 1","datePublished":"2017-01-15T11:54:37+00:00","mainEntityOfPage":{"@id":"http:\/\/www.andrefelizardo.com.br\/blog\/angular-2-nao-continuacao-do-angular-1\/"},"wordCount":925,"commentCount":2,"image":{"@id":"http:\/\/www.andrefelizardo.com.br\/blog\/angular-2-nao-continuacao-do-angular-1\/#primaryimage"},"thumbnailUrl":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/01\/angular2.png","keywords":["angular","angularjs","google","javascript","microsoft","typescript"],"articleSection":["Dev","Tecnologia"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["http:\/\/www.andrefelizardo.com.br\/blog\/angular-2-nao-continuacao-do-angular-1\/#respond"]}]},{"@type":"WebPage","@id":"http:\/\/www.andrefelizardo.com.br\/blog\/angular-2-nao-continuacao-do-angular-1\/","url":"http:\/\/www.andrefelizardo.com.br\/blog\/angular-2-nao-continuacao-do-angular-1\/","name":"Angular 2 - A n\u00e3o continua\u00e7\u00e3o do Angular 1 - Blog do Andr\u00e9 Felizardo","isPartOf":{"@id":"http:\/\/www.andrefelizardo.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"http:\/\/www.andrefelizardo.com.br\/blog\/angular-2-nao-continuacao-do-angular-1\/#primaryimage"},"image":{"@id":"http:\/\/www.andrefelizardo.com.br\/blog\/angular-2-nao-continuacao-do-angular-1\/#primaryimage"},"thumbnailUrl":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/01\/angular2.png","datePublished":"2017-01-15T11:54:37+00:00","author":{"@id":"http:\/\/www.andrefelizardo.com.br\/blog\/#\/schema\/person\/7ffba68b251851fb519600e2e387a02b"},"breadcrumb":{"@id":"http:\/\/www.andrefelizardo.com.br\/blog\/angular-2-nao-continuacao-do-angular-1\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["http:\/\/www.andrefelizardo.com.br\/blog\/angular-2-nao-continuacao-do-angular-1\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"http:\/\/www.andrefelizardo.com.br\/blog\/angular-2-nao-continuacao-do-angular-1\/#primaryimage","url":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/01\/angular2.png","contentUrl":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/01\/angular2.png","width":930,"height":356},{"@type":"BreadcrumbList","@id":"http:\/\/www.andrefelizardo.com.br\/blog\/angular-2-nao-continuacao-do-angular-1\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"http:\/\/www.andrefelizardo.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"Angular 2 &#8211; A n\u00e3o continua\u00e7\u00e3o do Angular 1"}]},{"@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\/2017\/01\/angular2.png","jetpack_shortlink":"https:\/\/wp.me\/p6EP66-cT","jetpack-related-posts":[{"id":963,"url":"https:\/\/www.andrefelizardo.com.br\/blog\/o-que-e-vue-js\/","url_meta":{"origin":799,"position":0},"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":809,"url":"https:\/\/www.andrefelizardo.com.br\/blog\/ionic-2-versao-final\/","url_meta":{"origin":799,"position":1},"title":"Ionic 2 &#8211; Vers\u00e3o Final","author":"Andr\u00e9 Felizardo","date":"26 de janeiro de 2017","format":false,"excerpt":"Vou repetir as palavras do Max: Hoje, eu estou incrivelmente animado\u00a0para anunciar o\u00a0Ionic 2. Depois de algumas releases candidates, hoje (25-01-17) foi anunciada a vers\u00e3o final do Ionic 2. Com o lan\u00e7amento da vers\u00e3o final do Angular 2\u00a0eu realmente estava ansioso por uma vers\u00e3o final do Ionic 2. Quando foi\u2026","rel":"","context":"Em &quot;Aplicativos&quot;","block_context":{"text":"Aplicativos","link":"https:\/\/www.andrefelizardo.com.br\/blog\/category\/aplicativos\/"},"img":{"alt_text":"Ionic 2","src":"https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/01\/ionic-2.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/01\/ionic-2.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/01\/ionic-2.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/01\/ionic-2.jpg?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":1020,"url":"https:\/\/www.andrefelizardo.com.br\/blog\/comecando-com-ionic-3\/","url_meta":{"origin":799,"position":2},"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":926,"url":"https:\/\/www.andrefelizardo.com.br\/blog\/o-que-e-ember-js\/","url_meta":{"origin":799,"position":3},"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":438,"url":"https:\/\/www.andrefelizardo.com.br\/blog\/o-que-e-angularjs\/","url_meta":{"origin":799,"position":4},"title":"O que \u00e9 AngularJS","author":"Andr\u00e9 Felizardo","date":"14 de dezembro de 2015","format":false,"excerpt":"AngularJS \u00e9 um framework para o desenvolvimento de aplica\u00e7\u00f5es web, utilizando a o JavaScript.\u00a0Seu objetivo \u00e9 aumentar aplicativos que podem ser acessados por um navegador web, sob o padr\u00e3o model\u2013view\u2013controller (MVC), em um esfor\u00e7o para facilitar tanto o desenvolvimento quanto o teste dos aplicativos. O que \u00e9 AngularJS? Hist\u00f3ria do\u2026","rel":"","context":"Em &quot;Dicas&quot;","block_context":{"text":"Dicas","link":"https:\/\/www.andrefelizardo.com.br\/blog\/category\/dicas\/"},"img":{"alt_text":"AngularJS","src":"https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2015\/12\/angularjs.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2015\/12\/angularjs.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2015\/12\/angularjs.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2015\/12\/angularjs.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2015\/12\/angularjs.jpg?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2015\/12\/angularjs.jpg?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":830,"url":"https:\/\/www.andrefelizardo.com.br\/blog\/seja-grato-primeiro-app-na-loja\/","url_meta":{"origin":799,"position":5},"title":"Seja Grato &#8211; Primeiro App na loja","author":"Andr\u00e9 Felizardo","date":"29 de junho de 2017","format":false,"excerpt":"No in\u00edcio de 2017 eu defini o objetivo de colocar tr\u00eas apps pr\u00f3prios at\u00e9 o fim do ano nas lojas de aplicativos. Quando chegou em maio, percebi que n\u00e3o tinha nenhum, ent\u00e3o decidi partir pra cima desse objetivo. A muito tempo eu vinha pensando num aplicativo (sem fins lucrativos) que\u2026","rel":"","context":"Em &quot;Ionic&quot;","block_context":{"text":"Ionic","link":"https:\/\/www.andrefelizardo.com.br\/blog\/category\/ionic\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/06\/seja-grato.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/06\/seja-grato.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/06\/seja-grato.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/06\/seja-grato.png?resize=700%2C400&ssl=1 2x"},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-json\/wp\/v2\/posts\/799","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=799"}],"version-history":[{"count":0,"href":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-json\/wp\/v2\/posts\/799\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-json\/wp\/v2\/media\/800"}],"wp:attachment":[{"href":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-json\/wp\/v2\/media?parent=799"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-json\/wp\/v2\/categories?post=799"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-json\/wp\/v2\/tags?post=799"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}