<rss version="2.0"
     xmlns:atom="http://www.w3.org/2005/Atom"
     xmlns:dc="http://purl.org/dc/elements/1.1/">
        <channel>
        <title>Magazine - json</title>
        <link>https://www.genbeta.com</link>
        <description>Publicación de noticias sobre gadgets y tecnología. Últimas tecnologías en electrónica de consumo y novedades tecnológicas en móviles, tablets, informática, etc</description>
        <pubDate>Tue, 09 Jun 2026 02:31:03 +0000</pubDate>
        <generator>https://www.genbeta.com</generator>
        <atom:link href="https://www.genbeta.com/tag/json/rss2.xml" rel="self" type="application/rss+xml" />
                                        <item>
                <title><![CDATA[Basecamp lanza Hotwire, un enfoque de desarrollo web con tecnologías para decir adiós a JavaScript]]></title>
                <link>https://www.genbeta.com/desarrollo/basecamp-lanza-hotwire-enfoque-desarrollo-web-tecnologias-para-decir-adios-a-javascript</link>
                <guid>https://www.genbeta.com/desarrollo/basecamp-lanza-hotwire-enfoque-desarrollo-web-tecnologias-para-decir-adios-a-javascript</guid>
                <pubDate>Wed, 23 Dec 2020 10:30:28 +0000</pubDate>
                                         <dc:creator>Antonio Sabán</dc:creator>
                                       <description>
                    <![CDATA[
                              <p>
      <img src="https://i.blogs.es/2fd044/hotwire/1024_2000.jpg" alt="Basecamp&#x20;lanza&#x20;Hotwire,&#x20;un&#x20;enfoque&#x20;de&#x20;desarrollo&#x20;web&#x20;con&#x20;tecnolog&#x00ED;as&#x20;para&#x20;decir&#x20;adi&#x00F3;s&#x20;a&#x20;JavaScript">
    </p>
    <p>David Heinemeier Hansson (<a rel="noopener, noreferrer" href="https://twitter.com/dhh">DHH</a>) y los suyos no descansan. Tras crear <a rel="noopener, noreferrer" href="https://rubyonrails.org">Ruby on Rails</a>, Basecamp y lanzar este verano <a class="text-outboundlink" href="https://www.xataka.com/aplicaciones/asi-hey-servicio-email-prometedor-todos-estas-dispuesto-a-pagar-100-dolares-al-ano" data-vars-post-title="Así es HEY, el servicio de email más prometedor de todos (si estás dispuesto a pagar 100 dólares al año)" data-vars-post-url="https://www.xataka.com/aplicaciones/asi-hey-servicio-email-prometedor-todos-estas-dispuesto-a-pagar-100-dolares-al-ano">HEY</a>, conocido servicio de correo eléctrónico <a class="text-outboundlink" href="https://www.applesfera.com/servicios-apple/apple-rechaza-app-correo-hey-no-cumplir-normas-app-store-haberla-aprobado-inicialmente" data-vars-post-title="Apple rechaza la app de correo Hey por no cumplir las normas de la App Store tras haberla aprobado inicialmente" data-vars-post-url="https://www.applesfera.com/servicios-apple/apple-rechaza-app-correo-hey-no-cumplir-normas-app-store-haberla-aprobado-inicialmente">por su pugna con Apple por poder estar en la App Store</a>, ahora han presentado <a rel="noopener, noreferrer" href="https://hotwire.dev">Hotwire</a>.</p>
<!-- BREAK 1 -->
<p>Como reza su propia página web, se trata de un enfoque alternativo y open source para construir aplicaciones web modernas sin utilizar JavaScript. ¿Cómo lograrlo? Con el <strong>envío de HTML 'over the wire' en vez del formato JSON</strong>.</p>
<!-- BREAK 2 --><!--more--><p>Parte fundamental en Hotwire es <a rel="noopener, noreferrer" href="https://turbo.hotwire.dev/handbook/introduction#turbo-drive-navigate-within-a-persistent-process">Turbo</a>, un framework con un conjunto de técnicas que aceleran los cambios de página, el envío de formularios y permite dividir páginas en componentes y actualizar las web de forma parcial con <a rel="noopener, noreferrer" href="https://developer.mozilla.org/es/docs/Web/API/WebSockets_API">WebSockets</a>.</p>
<!-- BREAK 3 -->
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Hotwire aka NEW MAGIC is finally here: An alternative approach to building modern web applications without using much JavaScript by sending HTML instead of JSON over the wire. This includes our brand-new Turbo framework and pairs with Stimulus 2.0 😍🎉🥂 <a rel="noopener, noreferrer" href="https://t.co/Pa4EG8Av5E">https://t.co/Pa4EG8Av5E</a></p>
&mdash; DHH (@dhh) <a rel="noopener, noreferrer" href="https://twitter.com/dhh/status/1341420143239450624?ref_src=twsrc%5Etfw">December 22, 2020</a></blockquote> 
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script><h2>Una vuelta a más carga en el lado del servidor</h2>
<div class="article-asset-video article-asset-large">
 <div class="asset-content">
  <div class="base-asset-video">
   <iframe width="1000" height="563" src="//www.youtube.com/embed/eKY-QES1XQQ" allowfullscreen></iframe>
  </div>
 </div>
</div>
<p>Uno de los problemas de depender tanto de JavaScript en la web moderna es que los clientes han visto como crecía enormemente la necesidad de <strong>realizar grandes cálculos computacionales</strong> que tienen efectos negativos a nivel energético y de rendimiento en el mundo móvil. Para las webs que sigan necesitan algo de JavaScript, tienen <a rel="noopener, noreferrer" href="https://stimulus.hotwire.dev">Stimulus</a></p>
<!-- BREAK 4 -->
<p>En la web de Turbo, lo describen como "<strong>la velocidad de una aplicación web de una sola página sin tener que escribir JavaScript</strong>", y está complementado por Turbo Drive, Frames, Streams y Native. Drive acelera los enlaces y los formularios reduciendo la necesidad de recargar las webs, mientras que Frames divide las webs en contextos independientes mas sencillos de cargar.</p>
<!-- BREAK 5 --><div class="article-asset article-asset-normal article-asset-center">
 <div class="desvio-container">
  <div class="desvio">
   <div class="desvio-figure js-desvio-figure">
    <a href="https://www.genbeta.com/desarrollo/headless-cms-que-que-se-diferencian-tradicionales" class="pivot-outboundlink" data-vars-post-title="Headless CMS: qué son y en qué se diferencian de los CMS tradicionales">
     <img alt="Headless&#x20;CMS&#x3A;&#x20;qu&#x00E9;&#x20;son&#x20;y&#x20;en&#x20;qu&#x00E9;&#x20;se&#x20;diferencian&#x20;de&#x20;los&#x20;CMS&#x20;tradicionales" width="375" height="142" src="https://i.blogs.es/deab53/headless_cms/375_142.webp" onerror='this.src="https://i.blogs.es/deab53/headless_cms/375_142.jpg"'>
    </a>
   </div>
   <div class="desvio-summary">
    <div class="desvio-taxonomy js-desvio-taxonomy">
     <a href="https://www.genbeta.com/desarrollo/headless-cms-que-que-se-diferencian-tradicionales" class="desvio-taxonomy-anchor pivot-outboundlink" data-vars-post-title="Headless CMS: qué son y en qué se diferencian de los CMS tradicionales">En Genbeta</a>
    </div>
    <a href="https://www.genbeta.com/desarrollo/headless-cms-que-que-se-diferencian-tradicionales" class="desvio-title js-desvio-title pivot-outboundlink" data-vars-post-title="Headless CMS: qué son y en qué se diferencian de los CMS tradicionales">Headless CMS: qué son y en qué se diferencian de los CMS tradicionales</a>
   </div>
  </div>
 </div>
</div>
<p>Basecamp también ha liberado <a rel="noopener, noreferrer" href="https://github.com/hotwired/turbo-android">Turbo Native para Android</a> y <a rel="noopener, noreferrer" href="https://github.com/hotwired/turbo-ios">Turbo Native para iOS</a>, que <strong>permiten llevar la tecnología de Hotwire a aplicaciones híbridas</strong> que pueden escribirse una vez y ejecutarse en ambos sistemas operativos y en la web.</p>
<!-- BREAK 6 -->
<p>Esta tecnología, que en principio debería hacer toda la carga mucho más rápida, como cuentan en el comunicado, es la que potencia HEY, y según dicen algunos usuarios <a rel="noopener, noreferrer" href="https://www.reddit.com/r/javascript/comments/ki9p3q/turbo_the_speed_of_a_singlepage_web_application/">en Reddit</a>, <strong>es realmente lento en el día a día</strong>. Habrá que esperar a ver qué usos se le dan a Turbo y Hotwire en general, sabiendo, como dicen desde Basecamp, que se pueden integrar con otras herramientas que ya utilicen los desarrolladores</p>
<!-- BREAK 7 --><script>
 (function() {
  window._JS_MODULES = window._JS_MODULES || {};
  var headElement = document.getElementsByTagName('head')[0];
  if (_JS_MODULES.instagram) {
   var instagramScript = document.createElement('script');
   instagramScript.src = 'https://platform.instagram.com/en_US/embeds.js';
   instagramScript.async = true;
   instagramScript.defer = true;
   headElement.appendChild(instagramScript);
  }
 })();
</script>

                    ]]>
                </description>
            </item>
                                <item>
                <title><![CDATA[De la aplicación al servicio web]]></title>
                <link>https://www.genbeta.com/web/de-la-aplicacion-al-servicio-web</link>
                <guid>https://www.genbeta.com/web/de-la-aplicacion-al-servicio-web</guid>
                <pubDate>Wed, 07 May 2008 06:00:41 +0000</pubDate>
                                         <dc:creator>Oscar J. Baeza</dc:creator>
                                       <description>
                    <![CDATA[
                              <p>
      <img src="https://i.blogs.es/925c5b/opensocial/1024_2000.jpg" alt="De&#x20;la&#x20;aplicaci&#x00F3;n&#x20;al&#x20;servicio&#x20;web">
    </p>
    <p>Las últimas tendencias que podemos ver en la red nos pueden hacer pensar que las actuales <strong>aplicaciones web</strong> están re-enfocándose más hacia la fuente original de la que partían, los <strong>servicios web</strong>. Recordemos que una <strong>aplicación web</strong> no es lo mismo que un <strong>servicio web</strong>, siendo la primera una <strong>aplicación en web similar a un software de escritorio</strong> mientras que el segundo se muestra más partidario del <strong>intercambio de datos entre un cliente y un servidor de datos</strong>, que generalmente podremos encontrar en formato <strong>XML</strong> o <strong>JSON</strong>, entre otros.</p>
<!-- BREAK 1 --><!--more--><p>En los últimos días he estado leyendo diversas noticias como la <a rel="noopener, noreferrer" href="http://lifehacker.com/385841/delicious-extension-beta-plays-nice-in-firefox-3">nueva extensión de Del.icio.us</a> que nos permite, además de aportar soporte para <a href="https://www.genbeta.com/tag/firefox+3">Firefox 3.0</a>, sincronizar totalmente los marcadores de <strong>Firefox</strong> con el gestor de marcadores <em>online</em> evitando, u obviando, la necesidad de entrar en la versión web del mismo que muchos conocemos y relegando la gestión tanto de los nuevos marcadores como de los existentes al mismo <strong>Firefox</strong>. ¿En qué convierte ello a <a href="https://www.genbeta.com/tag/del.icio.us">Del.icio.us</a>? En no más que un servicio web, servidor web que provee datos remotamente, con el que accederemos desde un cliente, <strong>Firefox</strong>. La aplicación web se queda en servicio web.</p>
<!-- BREAK 2 -->
<p>Otra de las aplicaciones que más soporte para una buena cantidad de aplicaciones de escritorio o locales es <a href="https://www.genbeta.com/tag/remember+the+milk">Remember The Milk</a>, que la semana pasada lanzó la primera versión de su cliente para <a href="https://www.xatakamovil.com/categoria/blackberry">Blackberry</a> con el objetivo de sincronizar las tareas que apuntemos en el terminal de <strong>RIM</strong> con la aplicación, perdón, el servicio web. Del mismo modo, ayer se publicó la extensión <a rel="noopener, noreferrer" href="http://lifehacker.com/386037/provider-extension-integrates-remember-the-milk-into-thunderbird">Remember The Milk Provider</a> que ejecuta la misma funcionalidad pero tratando con <a href="https://www.genbeta.com/tag/thunderbird">Thunderbird</a> y el añadido <a href="https://www.genbeta.com/tag/lightning">Lightning</a>, haciendo las funciones por un lado para mostrar nuestra agenda/calendario y por otro para sincronizar las tareas con el sistema <a href="https://www.genbeta.com/tag/gtd">GTD</a> en web, <strong>Remember The Milk</strong>. </p>
<!-- BREAK 3 -->
<p>Recordemos que <a href="https://www.genbeta.com/2007/06/28-sunbird-05-y-lightning-05-mozilla-pone-al-dia-el-calendario">Google Calendar Provider</a> comentado en <em>Genbeta</em> también sincronizaba con el servicio web, por lo que podemos llegar a convertir en un cliente (a nivel global) a <strong>Thunderbird+Lightning</strong> si utilizamos una cuenta de correo con soporte para <strong>IMAP</strong>, vease <a href="https://www.genbeta.com/tag/gmail">Gmail</a>. La aplicación web se queda en servicio web.</p>
<!-- BREAK 4 -->
<p>Hace unos días también saltaba la noticia de que se estaba planeando crear una <a rel="noopener, noreferrer" href="http://www.techcrunch.com/2008/05/05/twitter-can-be-liberated-heres-how/">versión standalone de Twitter</a> que podría ser instalada en cualquier servidor web que se nos antojase relegando el almacenamiento de los datos y la función de servidor a <a href="https://www.genbeta.com/tag/twitter">Twitter.com,</a> de modo que dicha versión <em>standalone</em> no sería más que un cliente que recogería los datos en formato <strong>RSS</strong> y enviaría los datos a través de <strong>XMPP</strong>. Clientes de <a href="https://www.genbeta.com/tag/twitter">Twitter</a> (<a href="https://www.genbeta.com/2008/01/07-twhirl-un-cliente-twitter-para-la-plataforma-adobe-air">Twhirl</a> o <a href="https://www.genbeta.com/tag/twitterrific">Twitterrific</a>, por poner un par de ejemplos) que nos evitan tener que recargar una y otra vez, podrían poner la primera piedra para convertirse en <strong>clientes de microblogging</strong>, soportando diversas plataformas.</p>
<!-- BREAK 5 -->
<p><a href="https://www.genbeta.com/tag/youtube">YouTube</a> o <a href="https://www.genbeta.com/tag/flickr">Flickr</a> tampoco se escapan ya que la creciente tendencia de aplicaciones que soportan, no únicamente, la <strong>recuperación de los datos</strong> de los vídeos ( o las fotos) junto con su visualización e incluso la posibilidad de <strong>subir tales medios al servidor</strong> en cuestión, crecen a diario y los convierten en meros servicios seb más que aplicaciones. </p>
<!-- BREAK 6 -->
<p>La creciente actividad de los usuarios en la red hacen evolucionar la tendencia hacia una unificación de los distintos servicios en un único lugar que aúne las distintas funcionalidades, un cliente universal. De ahí nace el <a href="https://www.genbeta.com/tag/lifestream">lifestream</a>. Diversos clientes web como <a href="https://www.genbeta.com/tag/friendfeed">Friendfeed</a>, clientes de escritorio como <a href="https://www.genbeta.com/tag/alertthingy">AlertThingy</a> y móviles tienen como objetivo el recoger los datos de los distintos servicios web que utilizamos, y que utilizan nuestros contactos, como aplicaciones web para enfocarlos a servidores siendo <strong>clientes de nuestra actividad 2.0</strong>.</p>
<!-- BREAK 7 -->
<p>El futuro no se limita a la recuperación de datos, ya que no soluciona globalmente el problema, sino que requiere de una implementación global de todas las funcionalidades básicas de la aplicación web para su uso como servicio web desde un cliente, sin importar el lugar, momento, sistema operativo o plataforma, un <strong>cliente 2.0</strong>.</p>
<!-- BREAK 8 -->
<p>La problemática básica de este <strong>cliente 2.0</strong> es que, si es web, nos devuelve ainicio ya que necesitaríamos abrir el navegador en nuestra plataforma X, no debería importar a priori, y visualizar las últimas actualizaciones, con lo que dicho cliente se convertirá en un <strong>agregador y servidor de datos en RSS</strong>, por ejemplo, que será recogido por otro cliente que únicamente se encargará de obtener dichos elementos ya filtrados. </p>
<!-- BREAK 9 -->
<p>Y comienza, en este punto, una batalla entre la agregación y la expansión entre plataformas de desarrollo, como <a href="https://www.genbeta.com/tag/adobe+air">AIR</a> y <a href="https://www.genbeta.com/tag/silverlight">Silverlight</a>, pasando por proveedores como <a href="https://www.genbeta.com/2007/10/31-opensocial-la-red-social-de-google">OpenSocial</a> o <a href="https://www.genbeta.com/2008/01/28-facebook-siguiendo-el-modelo-definido-por-opensocial">Facebook Apps</a>. La aplicación web se convierte en cliente que evoluciona a servicio web y vuelta a empezar.</p>
<!-- BREAK 10 -->
<p>En resumen, el <strong>cliente local</strong> es el <strong>cliente final</strong>, sin importar los intermediarios entre el mismo y los servicios web originales, lo cual augura <strong>el fin de los agregadores sociales en web</strong>.</p>
<!-- BREAK 11 --><script>
 (function() {
  window._JS_MODULES = window._JS_MODULES || {};
  var headElement = document.getElementsByTagName('head')[0];
  if (_JS_MODULES.instagram) {
   var instagramScript = document.createElement('script');
   instagramScript.src = 'https://platform.instagram.com/en_US/embeds.js';
   instagramScript.async = true;
   instagramScript.defer = true;
   headElement.appendChild(instagramScript);
  }
 })();
</script>

                    ]]>
                </description>
            </item>
                                <item>
                <title><![CDATA[Nuevo API de YouTube]]></title>
                <link>https://www.genbeta.com/multimedia/nuevo-api-de-youtube</link>
                <guid>https://www.genbeta.com/multimedia/nuevo-api-de-youtube</guid>
                <pubDate>Wed, 29 Aug 2007 13:51:59 +0000</pubDate>
                                         <dc:creator>Oscar J. Baeza</dc:creator>
                                       <description>
                    <![CDATA[
                              <p>
      <img src="https://i.blogs.es/6f808a/appletvyoutube/1024_2000.jpg" alt="Nuevo&#x20;API&#x20;de&#x20;YouTube">
    </p>
    <p><strong>YouTube</strong> acaba de lanzar un <strong>nuevo API</strong> que utiliza el protocolo <a href="https://www.genbeta.com/2006/04/24-gdata-y-sse-las-feeds-rss-interactivas-de-google-y-microsoft">GData de Google</a> permitiendo mucha más libertad para obtener los datos de los usuarios y vídeos de <strong>YouTube</strong>.</p>
<!-- BREAK 1 -->
<p>De este modo, quedarían:
<strong>http://gdata.youtube.com/feeds/users/usuario/uploads</strong> para los videos subidos por un usuario.
<strong>http://gdata.youtube.com/feeds/users/usuario/favorites</strong> para los videos favoritos del usuario.
<strong>http://gdata.youtube.com/feeds/users/usuario/playlists</strong> para las listas de reproducción del usuario.
<strong>http://gdata.youtube.com/feeds/users/usuario/subscriptions</strong> para las suscripciones del usuario.</p>
<!-- BREAK 2 -->
<p>Y facilitando el filtrado por parámetros con:
<strong>?max-results=50</strong> con el número máximo de elementos en el feed, que por defecto son 25.
<strong>?alt=rss</strong> y <strong>?alt=json</strong>: que indica el formato de los datos devueltos, ya sea como feed RSS o como código JSON.
<strong>?vq=query</strong> que filtrará los resultados por el título, etiquetas y descripción.
<strong>?orderby={updated, viewCount, rating, relevance}</strong> que ordenará los resultados devueltos por uno de tales campos.</p>
<!-- BREAK 3 -->
<p>Más info | <a rel="noopener, noreferrer" href="http://apiblog.youtube.com/2007/08/new-youtube-api-released-into-wild.html">YouTube Blog</a>.
Sitio oficial | <a rel="noopener, noreferrer" href="http://es.youtube.com/dev">YouTube API</a> y <a rel="noopener, noreferrer" href="http://code.google.com/apis/gdata/index.html">GData</a>.
Vía | <a rel="noopener, noreferrer" href="http://googlesystem.blogspot.com/2007/08/youtube-launches-new-api.html">GOS</a>.</p>
<script>
 (function() {
  window._JS_MODULES = window._JS_MODULES || {};
  var headElement = document.getElementsByTagName('head')[0];
  if (_JS_MODULES.instagram) {
   var instagramScript = document.createElement('script');
   instagramScript.src = 'https://platform.instagram.com/en_US/embeds.js';
   instagramScript.async = true;
   instagramScript.defer = true;
   headElement.appendChild(instagramScript);
  }
 })();
</script>

                    ]]>
                </description>
            </item>
            </channel>
</rss>
