{"id":4396,"date":"2015-11-14T12:48:20","date_gmt":"2015-11-14T11:48:20","guid":{"rendered":"http:\/\/www.espai.es\/blog\/?p=4396"},"modified":"2015-11-14T12:51:20","modified_gmt":"2015-11-14T11:51:20","slug":"javascript-y-nuevas-tendencias-en-programacion-web","status":"publish","type":"post","link":"https:\/\/www.espai.es\/blog\/2015\/11\/javascript-y-nuevas-tendencias-en-programacion-web\/","title":{"rendered":"JavaScript y nuevas tendencias en programaci\u00f3n Web."},"content":{"rendered":"<p>Hola a todos y saludos desde el \u00e1rea web de la <a href=\"http:\/\/www.espai.es\/\" target=\"_blank\">Escola Espai<\/a>. En el art\u00edculo de hoy vamos a hacer un breve repaso por el pasado, presente y futuro de <a href=\"https:\/\/es.wikipedia.org\/wiki\/JavaScript\" target=\"_blank\">JavaScript.<\/a><\/p>\n<h2>JavaScript cumple mayor\u00eda de edad.<\/h2>\n<p>JavaScript\u00a0es un lenguaje que apareci\u00f3 en 1995, aunque no empez\u00f3 realmente a usarse hasta unos pocos a\u00f1os m\u00e1s tarde. Su evoluci\u00f3n ha sido muy significativa. En sus inicios, era un lenguaje con un uso muy limitado, que en gran parte se ce\u00f1\u00eda a mostrar mensajes del navegador, validar formularios y, sobretodo, abrir muchas <a href=\"https:\/\/es.wikipedia.org\/wiki\/Ventana_emergente\">ventanas emergentes<\/a>\u00a0con publicidad.<\/p>\n<div id=\"attachment_4398\" style=\"width: 238px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4398\" class=\"size-full wp-image-4398\" src=\"http:\/\/www.espai.es\/blog\/wp-content\/uploads\/2015\/11\/acb_art01_01.png\" alt=\"Ventana de Hola Mundo\" width=\"228\" height=\"220\" \/><p id=\"caption-attachment-4398\" class=\"wp-caption-text\">El cl\u00e1sico \u00abHola Mundo\u00bb en JavaScript bajo Internet Explorer.<\/p><\/div>\n<p>Poco a poco su uso se fue ampliando, permitiendo <strong>webs m\u00e1s din\u00e1micas<\/strong> y una mayor versatilidad. Sin embargo, su uso siempre se ha visto limitado por el mayor potencial que ofrec\u00edan los lenguajes del lado servidor, como <a href=\"http:\/\/php.net\/manual\/es\/intro-whatis.php\">PHP<\/a>, y un cierto estigma de lenguaje de programaci\u00f3n de segunda divisi\u00f3n no muy bien visto por los puristas de la vieja escuela.<\/p>\n<p>Con la llegada de <a href=\"https:\/\/es.wikipedia.org\/wiki\/AJAX\">Ajax<\/a>, y las posibilidades que ofrec\u00eda para transmitir fragmentos de datos sin tener que cargar toda la p\u00e1gina, JavaScript comenz\u00f3 a cobrar relevancia y prestigio entre los desarrolladores. Y al Ajax, le sigui\u00f3 una buena colecci\u00f3n de librer\u00edas y <a href=\"https:\/\/es.wikipedia.org\/wiki\/Framework\">frameworks<\/a> que simplifican y potencian su uso, algunos de las cuales, como <a href=\"https:\/\/jquery.com\/\">jQuery<\/a>, ya se han convertido para muchos en una <strong>parte imprescindible de JavaScript<\/strong>.<\/p>\n<h2>Migrando del lado servidor al lado cliente<\/h2>\n<p>Entre\u00a0las propuestas m\u00e1s interesantes que ofrecen algunos de estos frameworks, est\u00e1 la que nos permite la interesante posibilidad de migrar gran parte del trabajo al lado cliente.<\/p>\n<div id=\"attachment_4411\" style=\"width: 728px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4411\" class=\"size-full wp-image-4411\" src=\"http:\/\/www.espai.es\/blog\/wp-content\/uploads\/2015\/11\/acb_art01_04.png\" alt=\"Esquema PHP\" width=\"718\" height=\"228\" srcset=\"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2015\/11\/acb_art01_04.png 718w, https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2015\/11\/acb_art01_04-300x95.png 300w\" sizes=\"auto, (max-width: 718px) 100vw, 718px\" \/><p id=\"caption-attachment-4411\" class=\"wp-caption-text\">Esquema cl\u00e1sico de una aplicaci\u00f3n Web con PHP<\/p><\/div>\n<p>En una web hecha con un lenguaje del lado servidor, como por ejemplo PHP corriendo sobre un servidor <a href=\"https:\/\/httpd.apache.org\/\">Apache<\/a>, lo que normalmente sucede es:<\/p>\n<ul>\n<li>El servidor web (Apache) recibe la solicitud del cliente, donde se especifica la p\u00e1gina que se quiere cargar (en este ejemplo, una p\u00e1gina PHP).<\/li>\n<li>Dicho archivo PHP, funcionar\u00e1 a modo de plantilla <a href=\"https:\/\/es.wikipedia.org\/wiki\/HTML\">HTML<\/a>; es como un HTML pero normalmente desprovisto de todo\/parte del contenido.<\/li>\n<li>El servidor web env\u00eda dicha plantilla al int\u00e9rprete de PHP que generar\u00e1 el contenido necesario para crear un HTML normal. Dicho contenido se generar\u00e1 seg\u00fan el c\u00f3digo PHP; muchas veces a partir de informaci\u00f3n obtenida desde una base de datos <a href=\"https:\/\/es.wikipedia.org\/wiki\/SQL\">SQL<\/a>.<\/li>\n<li>El <em>output<\/em> de todo este proceso es un archivo HTML normal que es devuelto como respuesta a la solicitud inicial del cliente.<\/li>\n<\/ul>\n<p>Frameworks como <a href=\"http:\/\/emberjs.com\/\">Ember<\/a> o <a href=\"https:\/\/angularjs.org\/\">AngularJS<\/a>, han llegado para cambiar la forma en la que este proceso funciona. Con estos frameworks, el trabajo de mezclar contenido y plantilla HTML se realiza en el lado cliente; en el navegador. Y todo ello gracias a JavaScript.<\/p>\n<div id=\"attachment_4400\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/angularjs.org\/\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4400\" class=\"wp-image-4400 size-medium\" src=\"http:\/\/www.espai.es\/blog\/wp-content\/uploads\/2015\/11\/acb_art01_02-300x78.png\" alt=\"Logo de Angular.JS\" width=\"300\" height=\"78\" srcset=\"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2015\/11\/acb_art01_02-300x78.png 300w, https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2015\/11\/acb_art01_02.png 382w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-4400\" class=\"wp-caption-text\">Angular.JS, un potente framework JavaScript<\/p><\/div>\n<p>Al navegador del cliente ya no se env\u00eda un archivo HTML normal y corriente. Se le env\u00eda <strong>una plantilla<\/strong>. Un HTML adulterado que permite que el c\u00f3digo JavaScript del framework en cuesti\u00f3n obre el milagro. Los datos necesarios para llenar dicha plantilla, se env\u00edan mediante peticiones Ajax dentro de\u00a0un objeto <a href=\"https:\/\/es.wikipedia.org\/wiki\/JSON\">JSON<\/a> (por ejemplo). Es en el lado cliente donde se produce la magia y se fusionan plantilla y datos.<\/p>\n<p>Esta forma de trabajar ofrece algunas ventajas respecto a la forma de trabajar \u201ccl\u00e1sica\u201d (del lado servidor). As\u00ed, los datos pueden ser ordenados y filtrados <strong>en tiempo real<\/strong> en el lado cliente, sin la latencia y el trabajo extra para el servidor que suponen dichos procesos en una arquitectura cl\u00e1sica. Tambi\u00e9n se evita el env\u00edo de <strong>informaci\u00f3n redundante<\/strong>, ya que la plantilla puede ser la misma para diferentes conjuntos de datos; solo es necesario pedir nuevos datos via Ajax.<\/p>\n<div id=\"attachment_4413\" style=\"width: 730px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4413\" class=\"size-full wp-image-4413\" src=\"http:\/\/www.espai.es\/blog\/wp-content\/uploads\/2015\/11\/acb_art01_05.png\" alt=\"Ejemplo Angular.js\" width=\"720\" height=\"250\" srcset=\"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2015\/11\/acb_art01_05.png 720w, https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2015\/11\/acb_art01_05-300x104.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><p id=\"caption-attachment-4413\" class=\"wp-caption-text\">Ejemplo sencillo de un HTML con Angular.js<\/p><\/div>\n<p>\u00bfDesventajas? Tambi\u00e9n las hay, claro. Estos frameworks suelen implicar una <strong>forma de trabajar un poco m\u00e1s compleja<\/strong>, y el tipo de webs que se pueden hacer con ellas tiene ciertas limitaciones; no son la opci\u00f3n ideal para todos los proyectos, pero s\u00ed pueden ser muy interesantes para determinadas webs. Adem\u00e1s, a pesar del importante desarrollo que llevan detr\u00e1s, <strong>no siempre son productos lo suficiente maduros<\/strong> como para ser v\u00e1lidos para proyectos muy ambiciosos.<\/p>\n<h2>Un lenguaje para dominarlos a todos<\/h2>\n<p>Pero JavaScript no se ha quedado ah\u00ed. Hoy d\u00eda, es posible usarlo tambi\u00e9n como lenguaje para programar nuestro propio \u201c<strong>servidor web<\/strong>\u201d, gracias a <a href=\"https:\/\/nodejs.org\/en\/\">Node.js<\/a>. No solo eso, ahora tambi\u00e9n podemos usarlo incluso para <strong>bases de datos<\/strong>, con <a href=\"https:\/\/www.mongodb.org\/\">MongoDB<\/a>.<\/p>\n<div id=\"attachment_4407\" style=\"width: 634px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/mean.io\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4407\" class=\"size-full wp-image-4407\" src=\"http:\/\/www.espai.es\/blog\/wp-content\/uploads\/2015\/11\/acb_art01_03.png\" alt=\"Logo Mean\" width=\"624\" height=\"200\" srcset=\"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2015\/11\/acb_art01_03.png 624w, https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2015\/11\/acb_art01_03-300x96.png 300w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/a><p id=\"caption-attachment-4407\" class=\"wp-caption-text\">Mean Stack, una completa soluci\u00f3n web 100% JavaScript.<\/p><\/div>\n<p>Actualmente, con un <a href=\"https:\/\/es.wikipedia.org\/wiki\/Conjunto_de_soluciones_(inform%C3%A1tica)\">stack<\/a>\u00a0como <a href=\"http:\/\/mean.io\/\">MEAN<\/a> (<strong>M<\/strong>ongoDB, <a href=\"http:\/\/expressjs.com\/es\/\"><strong>E<\/strong>xpress<\/a>, <strong>A<\/strong>ngularJS y <strong>N<\/strong>ode.js) es posible hacer una web de arriba a abajo usando <strong>exclusivamente JavaScript<\/strong> (y HTML\/<a href=\"https:\/\/es.wikipedia.org\/wiki\/Hoja_de_estilos_en_cascada\">CSS<\/a>, claro).<\/p>\n<p>Que stacks como MEAN puedan suponer una amenaza para stacks cl\u00e1sicos como <a href=\"https:\/\/es.wikipedia.org\/wiki\/XAMPP\">XAMPP<\/a>, a\u00fan est\u00e1 lejos de suceder, pero no dejan de ser alternativas interesantes, que pueden darle un plus a ciertos proyectos que sepan\u00a0aprovecharse de estas nuevas arquitecturas.<\/p>\n<h2>M\u00e1s all\u00e1 de la web<\/h2>\n<p>Es tal la popularidad que est\u00e1 ganando JavaScript que ha roto su entorno natural Web, y ya es posible hacer <strong>Apps para m\u00f3vil<\/strong> con herramientas como <a href=\"http:\/\/phonegap.com\/\">PhoneGap<\/a>, o incluso <strong>videojuegos<\/strong> con motores como <a href=\"http:\/\/unity3d.com\/es\/\">Unity<\/a>.<\/p>\n<div id=\"attachment_4415\" style=\"width: 730px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4415\" class=\"size-full wp-image-4415\" src=\"http:\/\/www.espai.es\/blog\/wp-content\/uploads\/2015\/11\/acb_art01_06.jpg\" alt=\"Proyecto en Unity\" width=\"720\" height=\"405\" srcset=\"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2015\/11\/acb_art01_06.jpg 720w, https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2015\/11\/acb_art01_06-300x169.jpg 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><p id=\"caption-attachment-4415\" class=\"wp-caption-text\">Un videojuego en desarrollo bajo Unity usando JavaScript<\/p><\/div>\n<p>Sin embargo, JavaScript siempre ha tenido un <strong>punto d\u00e9bil<\/strong>, y ese es su <strong>bajo rendimiento<\/strong>. No esta pensado para desarrollar aplicaciones eficientes y r\u00e1pidas. Por eso, en un futuro podr\u00edamos ver alternativas m\u00e1s eficientes, como por ejemplo <a href=\"https:\/\/en.wikipedia.org\/wiki\/WebAssembly\">WebAssembly<\/a>. Probablemente estas alternativas lo tendr\u00e1n dif\u00edcil para desplazar a JavaScript de su papel protagonista, y lo m\u00e1s probable si se materializan dichas\u00a0alternativas, es que coexistan con JavaScript.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hola a todos y saludos desde el \u00e1rea web de la Escola Espai. En el art\u00edculo de hoy vamos a hacer un breve repaso por el pasado, presente y futuro de JavaScript. JavaScript cumple mayor\u00eda de edad. JavaScript\u00a0es un lenguaje que apareci\u00f3 en 1995, aunque&#8230;<\/p>\n","protected":false},"author":23,"featured_media":4403,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"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,"_ef_editorial_meta_date_first-draft-date":"","_ef_editorial_meta_paragraph_assignment":"","_ef_editorial_meta_checkbox_needs-photo":"","_ef_editorial_meta_number_word-count":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[7,379,5],"tags":[422,253,423],"class_list":["post-4396","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-diseno-web","category-productividad","category-programacion","tag-angularjs","tag-javascript","tag-mean"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>JavaScript y nuevas tendencias en programaci\u00f3n Web. - Blog Escola Espai<\/title>\n<meta name=\"description\" content=\"Analisis del pasado, presente y futuro de JavaScript, y las implicaciones de la aparici\u00f3n de nuevos frameworks como Angular.js, y de stacks como MEAN.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.espai.es\/blog\/2015\/11\/javascript-y-nuevas-tendencias-en-programacion-web\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JavaScript y nuevas tendencias en programaci\u00f3n Web. - Blog Escola Espai\" \/>\n<meta property=\"og:description\" content=\"Analisis del pasado, presente y futuro de JavaScript, y las implicaciones de la aparici\u00f3n de nuevos frameworks como Angular.js, y de stacks como MEAN.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.espai.es\/blog\/2015\/11\/javascript-y-nuevas-tendencias-en-programacion-web\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog Escola Espai\" \/>\n<meta property=\"article:published_time\" content=\"2015-11-14T11:48:20+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2015-11-14T11:51:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2015\/11\/acb_art01_00.png\" \/>\n\t<meta property=\"og:image:width\" content=\"360\" \/>\n\t<meta property=\"og:image:height\" content=\"240\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Abel Camarena\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Abel Camarena\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\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\":\"https:\/\/www.espai.es\/blog\/2015\/11\/javascript-y-nuevas-tendencias-en-programacion-web\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.espai.es\/blog\/2015\/11\/javascript-y-nuevas-tendencias-en-programacion-web\/\"},\"author\":{\"name\":\"Abel Camarena\",\"@id\":\"https:\/\/www.espai.es\/blog\/#\/schema\/person\/b2d40404b9d987e3586e186c021ef897\"},\"headline\":\"JavaScript y nuevas tendencias en programaci\u00f3n Web.\",\"datePublished\":\"2015-11-14T11:48:20+00:00\",\"dateModified\":\"2015-11-14T11:51:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.espai.es\/blog\/2015\/11\/javascript-y-nuevas-tendencias-en-programacion-web\/\"},\"wordCount\":1025,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/www.espai.es\/blog\/2015\/11\/javascript-y-nuevas-tendencias-en-programacion-web\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2015\/11\/acb_art01_00.png\",\"keywords\":[\"AngularJS\",\"javascript\",\"MEAN\"],\"articleSection\":[\"Dise\u00f1o Web\",\"Productividad\",\"Programaci\u00f3n\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.espai.es\/blog\/2015\/11\/javascript-y-nuevas-tendencias-en-programacion-web\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.espai.es\/blog\/2015\/11\/javascript-y-nuevas-tendencias-en-programacion-web\/\",\"url\":\"https:\/\/www.espai.es\/blog\/2015\/11\/javascript-y-nuevas-tendencias-en-programacion-web\/\",\"name\":\"JavaScript y nuevas tendencias en programaci\u00f3n Web. - Blog Escola Espai\",\"isPartOf\":{\"@id\":\"https:\/\/www.espai.es\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.espai.es\/blog\/2015\/11\/javascript-y-nuevas-tendencias-en-programacion-web\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.espai.es\/blog\/2015\/11\/javascript-y-nuevas-tendencias-en-programacion-web\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2015\/11\/acb_art01_00.png\",\"datePublished\":\"2015-11-14T11:48:20+00:00\",\"dateModified\":\"2015-11-14T11:51:20+00:00\",\"author\":{\"@id\":\"https:\/\/www.espai.es\/blog\/#\/schema\/person\/b2d40404b9d987e3586e186c021ef897\"},\"description\":\"Analisis del pasado, presente y futuro de JavaScript, y las implicaciones de la aparici\u00f3n de nuevos frameworks como Angular.js, y de stacks como MEAN.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.espai.es\/blog\/2015\/11\/javascript-y-nuevas-tendencias-en-programacion-web\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.espai.es\/blog\/2015\/11\/javascript-y-nuevas-tendencias-en-programacion-web\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.espai.es\/blog\/2015\/11\/javascript-y-nuevas-tendencias-en-programacion-web\/#primaryimage\",\"url\":\"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2015\/11\/acb_art01_00.png\",\"contentUrl\":\"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2015\/11\/acb_art01_00.png\",\"width\":360,\"height\":240,\"caption\":\"Logo de JavaScript\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.espai.es\/blog\/2015\/11\/javascript-y-nuevas-tendencias-en-programacion-web\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/www.espai.es\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JavaScript y nuevas tendencias en programaci\u00f3n Web.\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.espai.es\/blog\/#website\",\"url\":\"https:\/\/www.espai.es\/blog\/\",\"name\":\"Blog Escola Espai\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.espai.es\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.espai.es\/blog\/#\/schema\/person\/b2d40404b9d987e3586e186c021ef897\",\"name\":\"Abel Camarena\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.espai.es\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/035501b0f14e120b1a49121758e2056b8d589fc43b9d3c3ad3670a197a90dddf?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/035501b0f14e120b1a49121758e2056b8d589fc43b9d3c3ad3670a197a90dddf?s=96&d=mm&r=g\",\"caption\":\"Abel Camarena\"},\"sameAs\":[\"http:\/\/www.espai.es\"],\"url\":\"https:\/\/www.espai.es\/blog\/author\/abel\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"JavaScript y nuevas tendencias en programaci\u00f3n Web. - Blog Escola Espai","description":"Analisis del pasado, presente y futuro de JavaScript, y las implicaciones de la aparici\u00f3n de nuevos frameworks como Angular.js, y de stacks como MEAN.","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:\/\/www.espai.es\/blog\/2015\/11\/javascript-y-nuevas-tendencias-en-programacion-web\/","og_locale":"es_ES","og_type":"article","og_title":"JavaScript y nuevas tendencias en programaci\u00f3n Web. - Blog Escola Espai","og_description":"Analisis del pasado, presente y futuro de JavaScript, y las implicaciones de la aparici\u00f3n de nuevos frameworks como Angular.js, y de stacks como MEAN.","og_url":"https:\/\/www.espai.es\/blog\/2015\/11\/javascript-y-nuevas-tendencias-en-programacion-web\/","og_site_name":"Blog Escola Espai","article_published_time":"2015-11-14T11:48:20+00:00","article_modified_time":"2015-11-14T11:51:20+00:00","og_image":[{"width":360,"height":240,"url":"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2015\/11\/acb_art01_00.png","type":"image\/png"}],"author":"Abel Camarena","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Abel Camarena","Tiempo de lectura":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.espai.es\/blog\/2015\/11\/javascript-y-nuevas-tendencias-en-programacion-web\/#article","isPartOf":{"@id":"https:\/\/www.espai.es\/blog\/2015\/11\/javascript-y-nuevas-tendencias-en-programacion-web\/"},"author":{"name":"Abel Camarena","@id":"https:\/\/www.espai.es\/blog\/#\/schema\/person\/b2d40404b9d987e3586e186c021ef897"},"headline":"JavaScript y nuevas tendencias en programaci\u00f3n Web.","datePublished":"2015-11-14T11:48:20+00:00","dateModified":"2015-11-14T11:51:20+00:00","mainEntityOfPage":{"@id":"https:\/\/www.espai.es\/blog\/2015\/11\/javascript-y-nuevas-tendencias-en-programacion-web\/"},"wordCount":1025,"commentCount":0,"image":{"@id":"https:\/\/www.espai.es\/blog\/2015\/11\/javascript-y-nuevas-tendencias-en-programacion-web\/#primaryimage"},"thumbnailUrl":"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2015\/11\/acb_art01_00.png","keywords":["AngularJS","javascript","MEAN"],"articleSection":["Dise\u00f1o Web","Productividad","Programaci\u00f3n"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.espai.es\/blog\/2015\/11\/javascript-y-nuevas-tendencias-en-programacion-web\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.espai.es\/blog\/2015\/11\/javascript-y-nuevas-tendencias-en-programacion-web\/","url":"https:\/\/www.espai.es\/blog\/2015\/11\/javascript-y-nuevas-tendencias-en-programacion-web\/","name":"JavaScript y nuevas tendencias en programaci\u00f3n Web. - Blog Escola Espai","isPartOf":{"@id":"https:\/\/www.espai.es\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.espai.es\/blog\/2015\/11\/javascript-y-nuevas-tendencias-en-programacion-web\/#primaryimage"},"image":{"@id":"https:\/\/www.espai.es\/blog\/2015\/11\/javascript-y-nuevas-tendencias-en-programacion-web\/#primaryimage"},"thumbnailUrl":"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2015\/11\/acb_art01_00.png","datePublished":"2015-11-14T11:48:20+00:00","dateModified":"2015-11-14T11:51:20+00:00","author":{"@id":"https:\/\/www.espai.es\/blog\/#\/schema\/person\/b2d40404b9d987e3586e186c021ef897"},"description":"Analisis del pasado, presente y futuro de JavaScript, y las implicaciones de la aparici\u00f3n de nuevos frameworks como Angular.js, y de stacks como MEAN.","breadcrumb":{"@id":"https:\/\/www.espai.es\/blog\/2015\/11\/javascript-y-nuevas-tendencias-en-programacion-web\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.espai.es\/blog\/2015\/11\/javascript-y-nuevas-tendencias-en-programacion-web\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.espai.es\/blog\/2015\/11\/javascript-y-nuevas-tendencias-en-programacion-web\/#primaryimage","url":"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2015\/11\/acb_art01_00.png","contentUrl":"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2015\/11\/acb_art01_00.png","width":360,"height":240,"caption":"Logo de JavaScript"},{"@type":"BreadcrumbList","@id":"https:\/\/www.espai.es\/blog\/2015\/11\/javascript-y-nuevas-tendencias-en-programacion-web\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/www.espai.es\/blog\/"},{"@type":"ListItem","position":2,"name":"JavaScript y nuevas tendencias en programaci\u00f3n Web."}]},{"@type":"WebSite","@id":"https:\/\/www.espai.es\/blog\/#website","url":"https:\/\/www.espai.es\/blog\/","name":"Blog Escola Espai","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.espai.es\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/www.espai.es\/blog\/#\/schema\/person\/b2d40404b9d987e3586e186c021ef897","name":"Abel Camarena","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.espai.es\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/035501b0f14e120b1a49121758e2056b8d589fc43b9d3c3ad3670a197a90dddf?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/035501b0f14e120b1a49121758e2056b8d589fc43b9d3c3ad3670a197a90dddf?s=96&d=mm&r=g","caption":"Abel Camarena"},"sameAs":["http:\/\/www.espai.es"],"url":"https:\/\/www.espai.es\/blog\/author\/abel\/"}]}},"jetpack_featured_media_url":"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2015\/11\/acb_art01_00.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.espai.es\/blog\/wp-json\/wp\/v2\/posts\/4396","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.espai.es\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.espai.es\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.espai.es\/blog\/wp-json\/wp\/v2\/users\/23"}],"replies":[{"embeddable":true,"href":"https:\/\/www.espai.es\/blog\/wp-json\/wp\/v2\/comments?post=4396"}],"version-history":[{"count":18,"href":"https:\/\/www.espai.es\/blog\/wp-json\/wp\/v2\/posts\/4396\/revisions"}],"predecessor-version":[{"id":4422,"href":"https:\/\/www.espai.es\/blog\/wp-json\/wp\/v2\/posts\/4396\/revisions\/4422"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.espai.es\/blog\/wp-json\/wp\/v2\/media\/4403"}],"wp:attachment":[{"href":"https:\/\/www.espai.es\/blog\/wp-json\/wp\/v2\/media?parent=4396"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.espai.es\/blog\/wp-json\/wp\/v2\/categories?post=4396"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.espai.es\/blog\/wp-json\/wp\/v2\/tags?post=4396"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}