learning-to-code

Código embebido ¿si o no?

Cuando uno lleva tiempo desarrollando webs seguramente esté más que acostumbrado a, por norma, incluir el código css y scripts en archivos enlazados. De esta forma uno tiende a estructurar más el contenido y sobre todo a no repetir código muchas veces pudiendo hacer llamadas a esos archivos desde cualquier página.

Ahora bien, si seguimos los criterios de optimización de una página web nos encontramos con una sugerencia que es la de «minimiza el número de peticiones http» que choca de frente con este criterio de «estructurar» el código javascript o las hojas de estilo en archivos externos a los que posteriormente enlazamos. Entonces ¿embebemos el código en la página web? ¿si o no?

Bien, aquí la respuesta va a depender del sitio web en concreto. Cuando se trata de micrositios donde tenemos muy pocas páginas web podría ser mucho más recomendable embeber el contenido dentro de las propias páginas, ya que de esa forma estaremos minimizando el número de peticiones y por otra parte ese tamaño adicional que supone incluir cierta parte del código no perjudicará el rendimiento. Por supuesto, este no es el caso más habitual, ya que si tenemos muchas páginas el ahorro de tener el código de forma externa compensará con creces al perjuicio de tener que realizar la petición http correspondiente, y más si tenemos en cuenta la posibilidad de cachear el contenido para que el navegador pueda almacenar ese código externo y no tener que volver a solicitarlo al servidor. Pero conviene saber que en casos puntuales como el que explicábamos de los micrositios, puede ser mejor incluir todo el código.

Windows Bridge por iOs avanza mientras Project Astoria está estancado

Hace algún tiempo, Microsoft sorprendió a propios y extraños anunciando que de cara a Windows 10 y Windows 10 Mobile trabajaría en el desarrollo de una plataforma que permitiría a los desarrolladores migrar sus apps para iOs y Android a los sistemas operativos de Microsoft. Así pues, a fecha de hoy ¿en que situación está esta propuesta?

Hay una de cal y otra de arena. Y es que los desarrolladores de iOs han visto como recientemente Microsoft anunciaba el apoyo y avance de Windows Bridge para iOs. Sin embargo, con el caso de la plataforma para Android, que se conoce como Project AStoria se encuentra aparentemente estancada.

Así pues, mientras que para el caso de la plataforma orientada a desarrolladores de iOs se habla incluso de nuevas herramientas para facilitarles el trabajo, los foros de soporte para la plataforma orientada a Android se encuentran sin respuesta desde septiembre y con aparentes problemas en varios frentes (rendimiento, cuestiones legales, económicos…)

Así pues, a fecha de hoy, parece que hay más probabilidades que la propuesta para iOs llegue a buen puerto.

El archivo htaccess y las rutas relativas

Hoy en día, la necesidad de optimizar nuestras páginas para los buscadores hace que sea casi obligatorio programar nuestros sitios web de forma que se pueda acceder a ellos mediante URLS amigables. ¿Y que es eso de las URL amigables? Pues bien, para explicarlo vamos a poner dos ejemplos de URLs, una normal y otra amigable:

http://www.tusitio.com/index.php?seccion=libros&articulo=10

http://www.tusitio.com/libros/10/

En los dos ejemplos de URLs anteriores, el navegador nos debería redirigir a la misma página, pero sin duda es mucho más clara la segunda URL que la primera. Esta segunda URL es la que se llama amigable y es la que los buscadores prefieren, de ahí su importancia.

¿Pues bien, como conseguimos esto en nuestro sitio web? Para ello, el método más utilizado es mediante el archivo .htaccess el cual nos permite establecer las RewriteRule, que no son sino reglas que convertirían una URL amigable en una URL interna y que es la que nosotros manejaremos en nuestra programación. Esta práctica esta muy extendida hoy en día, pero conviene tener en cuenta un detalle y es por el cual escribimos esta entrada.

Y es que al realizar esta reescritura de URL, estamos haciendo que el servidor interprete cual es la página que debe mostrar, pero hay un pequeño «handicap» y no es otro que el concerniente a las URLs relativas. Si en la programación haces uso de URLs relativas te encontrarás con que los contenidos de dichos elementos no se muestran correctamente. Y es que la reescritura se hace en el interprete a nivel de servidor, pero la parte de las URLs se interpreta en el navegador, por lo que no coinciden. Así si por ejemplo en el caso anterior tenemos en el directorio raiz además del archivo index.php una carpeta imagenes donde tenemos un archivo para mostrar, si usamos una URL relativa de la siguiente forma <img src=»imagenes/10.jpg»> cuando accedemos a la web mediante la URL amigable, nos encontraremos con que dentro del supuesto directorio «libros» deberíamos encontrar otro llamado «10» y dentro de este otro llamado «imagenes» que no existe. Por lo que la imagen no se mostraría correctamente. Para ello tenemos dos soluciones:

  • Usar una URL absoluta, en nuestro caso incluiríamos un código como este <img src=»http://www.tusitio.com/imagenes/10.jpg»>
  • Utilizar el elemento HTML BASE dentro de la cabecera de nuestra página, para definir la URL báse de todo el documento y luego podríamos usar urls relativas. La forma de usar este elemento HTML sería algo así: <BASE href=»http://www.tusitio.com»>

Elimina espacios en una cadena de texto en JavaScript

Si tienes una cadena de texto dentro de un fragmento de código en JavaScript y necesitas eliminar los espacios en blanco por algún otro caracter o texto, puedes hacerlo con relativa sencillez mediante la función «replace». A continuación vamos a poner un ejemplo de código donde se eliminan los espacios en blanco por el texto %20 por ejemplo para el caso de que estemos usando una cadena de texto que se quiera pasar como URL y para que funcione correctamente debemos realizar dicha sustitución

var url_final = url_actual.replace(/\s/g,»%20″);

Javascriptkit recursos JavaScript para Webmasters

Sin lugar a dudas, la labor de programación de un sitio web puede llegar a ser algo repetitivo para los webmasters que encontrarán en sitios web como Javascriptkit un estupendo aliado. En esta web se reunen fragmentos de código JavaScript listos para utilizar en el sitio web que se esté desarrollando. Cuanta con una comunidad de desarrolladores que podrán servir de soporte a través de los foros y mediante la clasificación por categorías fácilmente seréis capaces de encontrar cualquier código que podáis necesitar listo para incluir en vuestro proyecto.

Windows 7 Interoperability, convierte apps de iOs a Windows Phone 7

Microsoft llego tarde con Windows Phone 7, eso a estas alturas es algo que ya nadie duda. Pero en Redmon siguen esforzandose por recuperar el terreno perdido. Así pues Microsoft sabe que gran parte del éxito de iOs ha estado en el ecosistema de aplicaciones que surgió en torno a este, y por eso en Microsoft están tratando de potenciar este aspecto para su sistema Windows Phone 7. Así es como han decidido poner en marcha una herramienta con la cual pretenden ofrecer la posibilidad de que los desarrolladores puedan tener más fácil el proceso de conversión de aplicaciones de iOs a Windows 7. Este es el objetivo de Windows Phone 7 Interoperability, una herramienta con la que los desarrolladores de iPhone pueden coger sus aplicaciones, escoger las llamadas a la API de iOS y buscar rápidamente las clases equivalentes, los métodos y los eventos de notificaciones en WP7. Aún no está disponible la herramienta aunque hay disponibles asistentes y emeplos En la web vemos que hay un selector de dispositivos y los sistemas operativos que cuelgan de ellos. También hay rumores que apuntan a que podrían ofrecer esta misma opción para Android, pero aún están en el desarrollo así que podría haber muchos cambios o no.

Con esta opción Microsoft pretende tratar de contribuir a seguir ampliando el número de Apps para su sistema. Movimiento que parece encaminado a tratar de corregir el devenir de Windows Phone 7, que según publican en algunos sitios de noticias es bastante catastrófico. Quizás Microsoft está muy empeñado en granjearse el beneplácito de los desarrolladores, pero sin un público final, toda esta estrategia podría dar al traste. La verdad es que sería interesante que Windows Phone 7 despegase algo más, de cara a presentar una tercera opción frente a Android e iOs cosa que parece más lejana que próxima hoy en día.

 

Aplicaciones .NET para iOs y Android

El proyecto Mono sigue evolucionando para ofrecer la posibilidad de crear aplicaciones .NET para otras plataformas y puesto que los dispositivos móviles están en auge, nos ofrecen dos herramientas que permiten trabajar con iOs y Android. Se trataría de MonoTouch 4.0 con la cual podríamos programar para los dispositivos gobernados por iOs y Mono Android 1.0 para los que trabajen bajo Android. Con estos podríamos crear aplicaciones .NET 4.0 con C# y estarían basados ambos en Mono 2.10 lo cual permitiría trabajar con sistemas multi-hilo. Así que si programáis en C# ya no tenéis excusa para desarrollar para estas plataformas.