{"id":3395,"date":"2016-04-27T13:11:56","date_gmt":"2016-04-27T13:11:56","guid":{"rendered":"https:\/\/www.blog.facilcloud.com\/noticias\/?p=3395"},"modified":"2016-07-26T15:34:46","modified_gmt":"2016-07-26T15:34:46","slug":"web-components-que-son","status":"publish","type":"post","link":"https:\/\/www.blog.facilcloud.com\/noticias\/web-components-que-son\/","title":{"rendered":"Web components: \u00bfqu\u00e9 son?"},"content":{"rendered":"<p style=\"text-align: justify;\"><a href=\"https:\/\/blog.facilcloud.com\/noticias\/wp-content\/uploads\/2016\/04\/webcomponents.png\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-3401 size-full alignright\" src=\"https:\/\/blog.facilcloud.com\/noticias\/wp-content\/uploads\/2016\/04\/webcomponents.png\" alt=\"webcomponents\" width=\"150\" height=\"150\" srcset=\"https:\/\/www.blog.facilcloud.com\/noticias\/wp-content\/uploads\/2016\/04\/webcomponents.png 150w, https:\/\/www.blog.facilcloud.com\/noticias\/wp-content\/uploads\/2016\/04\/webcomponents-80x80.png 80w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">Los Web Components ofrecen un est\u00e1ndar que va enfocado a la creaci\u00f3n de todo tipo de componentes utilizables en una p\u00e1gina web, para realizar interfaces de usuario y elementos que permitan presentar informaci\u00f3n. Los desarrolladores tienen la tarea de, en base a las herramientas que incluyen los Web Components crear esos nuevos elementos y publicarlos para que las dem\u00e1s personas tambi\u00e9n los puedan usar.<\/p>\n<p style=\"text-align: justify;\"><a href=\"https:\/\/www.facilcloud.com\/es\/index.php\" target=\"_blank\"><span style=\"color: #0000ff;\">Facilcloud<\/span> <\/a>ofrece la posibilidad de utilizar estos componentes con total libertad, para aprovechar sus ventajas.<\/p>\n<p style=\"text-align: justify;\">En resumen, as\u00ed como este nuevo est\u00e1ndar facilita la creaci\u00f3n de nuevos elementos que enriquecen la web; tambi\u00e9n est\u00e1 pensado para que se puedan reutilizar de una manera sencilla y extenderse, de modo que se pueda crear unos componentes en base a otros.<\/p>\n<p style=\"text-align: justify;\">Al dise\u00f1arse los est\u00e1ndares para los Web Components, tambi\u00e9n se ha procurado que se pueda trabajar con los componentes de manera aislada; permitiendo que las nuevas piezas se empleen en el contexto de una web, sin que afecten a las ya existentes. Paralelo a esto, se ha tratado de que el proceso de cargar un nuevo componente en una p\u00e1gina web, se pueda realizar de manera at\u00f3mica, es decir en un s\u00f3lo bloque, en lugar de necesitar el requerimiento de escribir los estilos por una parte, y el javascript por otra.<\/p>\n<p style=\"text-align: justify;\"><a href=\"https:\/\/www.blog.facilcloud.com\/es\/reseller-hosting.php\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3156 size-full\" src=\"https:\/\/blog.facilcloud.com\/noticias\/wp-content\/uploads\/2016\/03\/reseller-hosting.jpg\" alt=\"reseller hosting\" width=\"728\" height=\"91\" srcset=\"https:\/\/www.blog.facilcloud.com\/noticias\/wp-content\/uploads\/2016\/03\/reseller-hosting.jpg 728w, https:\/\/www.blog.facilcloud.com\/noticias\/wp-content\/uploads\/2016\/03\/reseller-hosting-300x38.jpg 300w, https:\/\/www.blog.facilcloud.com\/noticias\/wp-content\/uploads\/2016\/03\/reseller-hosting-235x29.jpg 235w\" sizes=\"(max-width: 728px) 100vw, 728px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\"><strong>Ejemplos cl\u00e1sicos de web components<\/strong><\/p>\n<p style=\"text-align: justify;\"><a href=\"https:\/\/blog.facilcloud.com\/noticias\/wp-content\/uploads\/2016\/04\/componentes-web.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-3397 alignleft\" src=\"https:\/\/blog.facilcloud.com\/noticias\/wp-content\/uploads\/2016\/04\/componentes-web.jpg\" alt=\"componentes web\" width=\"150\" height=\"151\" srcset=\"https:\/\/www.blog.facilcloud.com\/noticias\/wp-content\/uploads\/2016\/04\/componentes-web.jpg 150w, https:\/\/www.blog.facilcloud.com\/noticias\/wp-content\/uploads\/2016\/04\/componentes-web-80x80.jpg 80w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">Uno de los m\u00e1s cl\u00e1sicos ejemplos, es un mapa de Google; si no se utilizan los web components, cuando se muestra un mapa en una p\u00e1gina web, debe recurrirse a la creaci\u00f3n de c\u00f3digo en tres bloques: un HTML con el elemento donde se va a renderizar el mapa; un CSS para definir alg\u00fan estilo sobre el mapa, por ejemplo sus dimensiones; y un Javascript para que se pueda generar el mapa, indicando las coordenadas que se desean visualizar, as\u00ed como muchos otros detalles de configuraci\u00f3n que el mapa necesita.<\/p>\n<p style=\"text-align: justify;\">Otro ejemplo ser\u00eda un calendario, el cual tambi\u00e9n necesita de tres partes: HTML para crear el elemento donde se mostrar\u00e1 el calendario; CSS para indicar las dimensiones de ese calendario, colores, entre otros; y Javascript para decir qu\u00e9 mes, d\u00eda o a\u00f1o se debe mostrar.<\/p>\n<p style=\"text-align: justify;\"><a href=\"https:\/\/blog.facilcloud.com\/noticias\/wp-content\/uploads\/2016\/04\/web-componentes.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-3405 alignright\" src=\"https:\/\/blog.facilcloud.com\/noticias\/wp-content\/uploads\/2016\/04\/web-componentes.jpg\" alt=\"web componentes\" width=\"150\" height=\"150\" srcset=\"https:\/\/www.blog.facilcloud.com\/noticias\/wp-content\/uploads\/2016\/04\/web-componentes.jpg 150w, https:\/\/www.blog.facilcloud.com\/noticias\/wp-content\/uploads\/2016\/04\/web-componentes-80x80.jpg 80w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">Son tres lenguajes diferentes, que se especifican en bloques de c\u00f3digo separados y usualmente en archivos separados. Sin los Web Components, para tener todos los bloques agrupados y tener un c\u00f3digo \u00fanico para fusionar todo en un elemento, se usaba generalmente la etiqueta IFRAME, que permite cargar un HTML, CSS y Javascript y reducir su \u00e1mbito a un peque\u00f1o espacio de la p\u00e1gina. Esta t\u00e9cnica se sigue utilizando, pero se est\u00e1 sustituyendo gracias a las bondades de los Web Components.<\/p>\n<p style=\"text-align: justify;\">Adicionalmente, es interesante destacar las distintas especificaciones que se pueden encontrar:<\/p>\n<ul>\n<li style=\"text-align: justify;\">Custom Elements: describe el m\u00e9todo que permitir\u00e1 crear nuevas etiquetas personalizadas para dar respuesta a cualquier necesidad.<\/li>\n<li style=\"text-align: justify;\">HTML Templates: incorpora un sistema de templating en el navegador; estos a su vez pueden contener HTML o CSS e inicialmente no se mostrar\u00e1n en la p\u00e1gina. HTML Imports: importa una parte del c\u00f3digo que puede usarse en un lugar de la p\u00e1gina. Sirve para cargar tanto HTML, CSS o Javascript.<\/li>\n<li style=\"text-align: justify;\">Shadow DOM: permite tener una parte del DOM oculta a otros bloques de la p\u00e1gina para que no interfiera con otros elementos de la misma.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/blog.facilcloud.com\/noticias\/wp-content\/uploads\/2015\/07\/Alida-Facilcloud-01.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-75\" src=\"https:\/\/blog.facilcloud.com\/noticias\/wp-content\/uploads\/2015\/07\/Alida-Facilcloud-01.jpg\" alt=\"Alida Vergara\" width=\"728\" height=\"90\" srcset=\"https:\/\/www.blog.facilcloud.com\/noticias\/wp-content\/uploads\/2015\/07\/Alida-Facilcloud-01.jpg 728w, https:\/\/www.blog.facilcloud.com\/noticias\/wp-content\/uploads\/2015\/07\/Alida-Facilcloud-01-300x37.jpg 300w, https:\/\/www.blog.facilcloud.com\/noticias\/wp-content\/uploads\/2015\/07\/Alida-Facilcloud-01-235x29.jpg 235w\" sizes=\"(max-width: 728px) 100vw, 728px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Los Web Components ofrecen un est\u00e1ndar que va enfocado a la creaci\u00f3n de todo tipo de componentes utilizables en una p\u00e1gina web, para realizar interfaces de usuario y elementos que permitan presentar informaci\u00f3n. Los desarrolladores tienen la tarea de, en base a las herramientas que incluyen los Web Components crear esos nuevos elementos y publicarlos [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":3396,"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,"footnotes":""},"categories":[285],"tags":[123,173,122,124],"class_list":["post-3395","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programadores","tag-css","tag-facilcloud","tag-html","tag-javascript"],"_links":{"self":[{"href":"https:\/\/www.blog.facilcloud.com\/noticias\/wp-json\/wp\/v2\/posts\/3395","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.blog.facilcloud.com\/noticias\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.blog.facilcloud.com\/noticias\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.blog.facilcloud.com\/noticias\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.blog.facilcloud.com\/noticias\/wp-json\/wp\/v2\/comments?post=3395"}],"version-history":[{"count":0,"href":"https:\/\/www.blog.facilcloud.com\/noticias\/wp-json\/wp\/v2\/posts\/3395\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.blog.facilcloud.com\/noticias\/wp-json\/wp\/v2\/media\/3396"}],"wp:attachment":[{"href":"https:\/\/www.blog.facilcloud.com\/noticias\/wp-json\/wp\/v2\/media?parent=3395"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.blog.facilcloud.com\/noticias\/wp-json\/wp\/v2\/categories?post=3395"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.blog.facilcloud.com\/noticias\/wp-json\/wp\/v2\/tags?post=3395"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}