Home Informatica
Bit a bit

0 280

En el mundo de las aplicaciones web nos encontramos con dos grandes tipos de ellas que, además, siguen una evolución histórica.

En los inicios de Internet las comunicaciones se basaban en el modelo cliente – servidor en el que el usuario realizaba una consulta (cliente) y el servidor respondía a esta petición.

Este comportamiento se conoce como comunicación síncrona y por tanto a aquellas aplicaciones que siguen este modelo se les denomina aplicaciones síncronas.

Aplicaciones Síncronas y sus limitaciones

Las aplicaciones síncronas, por su diseño, presentan una serie de limitaciones que con el paso del tiempo y la evolución del uso y la capacidad de la red, han terminado por ser determinantes en el desarrollo de tecnologías alternativas.

Una de estas limitaciones involucra la actualización de los datos que se muestran en pantalla. Por ejemplo, considera una aplicación que muestra los precios de las acciones de un mercado bursátil cualquiera. Idealmente, la aplicación debe ser capaz de actualizar los valores en un determinado intervalo de tiempo: 10 segundos, por poner un caso. Cada 10 segundos el navegador enviaría una petición al servidor para obtener la versión más actualizada de los datos. El problema obvio que surge de este modo de funcionamiento es que existirá un lapso de tiempo en el que los datos estén desactualizados y esto puede suponer una merma importante de las prestaciones de una aplicación.

En estos casos y para superar estas limitaciones, las aplicaciones síncronas están siendo sustituidas por lo que se conoce por aplicaciones asíncronas.

Aplicaciones Asíncronas

Las aplicaciones asíncronas permiten la notificación de un cliente cuando un evento ocurre en la parte del servidor. De esta forma, las aplicaciones asíncronas pueden actualizar su información de forma mucho más eficiente y rápida que las síncronas.

Para permitir un comportamiento asíncrono la comunicación se produce en paralelo (simultáneamente) con el flujo síncrono (principal).

Aunque existen numerosos tipos de comunicaciones asíncronas, nos encontramos con tres principales: poll, long-poll y push.

Comunicación asíncrona POLL

El navegador envía las peticiones HTTP al servidor en intervalos regulares. El servidor responde con actualizaciones. Esto permite al sistema actualizar intermitentemente la aplicación dentro del navegador.

Comunicación asíncrona LONG-POLL

El cliente genera una petición HTTP hacia una dirección conocida del servidor. Cuando el servidor tiene una actualización, responde con un mensaje HTTP. Inmediatamente después de recibir la respuesta, el cliente genera una nueva petición HTTP.

Comunicación asíncrona PUSH

El cliente abre una conexión con el servidor enviando una petición HTTP a una dirección conocida del servidor. El servidor entonces envía una respuesta que aparentemente nunca termina lo cual implica mantener la comunicación siempre abierta. Cuando es necesario, el servidor envía un sub-mensaje de actualización al cliente a través de la conexión abierta. Durante el tiempo en el que la conexión está abierta, el servidor envía mensajes PING al cliente para prevenir que éste cierre la conexión por timeout.

Una interacción más natural.

Con la llegada de este tipo de aplicaciones asíncronas, el usuario se relaciona con las aplicaciones de una forma mucho más natural. Esto termina por permitir desarrollar soluciones que se integran mejor y tienen una respuesta más eficiente en determinados entornos donde la información es un bien valioso y la rapidez de respuesta una virtud necesaria.

Cuando nos enfrentamos a un proyecto de desarrollo en cualquier entorno (Android, iOS, Web, Java, etc.) tenemos que tener muy en cuenta que existen una serie de pasos críticos y que, pese a que puedan suponer perder tiempo en un principio, al final van a resultar fundamentales en el éxito del desarrollo.

Uno de estas fases es la diseño funcional.

El diseño funcional

Para empezar tenemos que saber qué es el diseño funcional.

Básicamente el diseño funcional es el redactar en un documento más o menos definido cómo se va a comportar nuestra aplicación: es decir, cómo va a funcionar.

Aunque parezca una idea trivial, no tiene nada que ver aquello que tenemos en nuestra cabeza con aquello que luego terminamos plasmando en el papel. Cuando nos surge la idea en realidad son muchas funciones que coexisten (e incluso que se solapan) puesto que nuestra imaginación fluye libremente.

Pero una vez nos enfrentamos con el documento en blanco la cosa cambia: concretamos funciones, definimos exactamente lo que queremos hacer y cómo queremos que nuestra aplicación responda acotando claramente cada una de las características de la misma.

Por eso, durante el proceso de creación de este documento debemos tratar de ser lo más concisos que podamos, evitando cualquier tipo de ambigüedad y buscando que cada iteración o característica añadida en nuestro proyecto sea lo más simple y clara posible.

Consejos a la hora de redactar un Diseño Funcional

Una buena práctica a la hora de trabajar con este tipo de documentos es plantearnos la posibilidad de que sean otras personas las que tengan que leerlos, entenderlos e incluso llevarlos a cabo.

Empleando esta técnica procuraremos ser más concretos y obviaremos definiciones que dependan de nuestro juicio o de nuestros conocimientos. Esto nos va a resultar útil cuando pasadas unas semanas y en pleno proceso de desarrollo no recordemos exactamente cuál era la finalidad o el objetivo de determinada parte de nuestra aplicación: en el diseño funcional la tendremos definida.

Planificación y Acción

Siempre he defendido que debe existir un equilibrio entre planificación y acción: no tiene sentido alguno lanzarnos locamente a desarrollar partiendo de la nada y andar programando a salto de mata como tampoco tiene lógica pasarnos meses planificando sin actuar. Hay que buscar la eficiencia de procesos: planificar en un corto lapso de tiempo y, una vez con las ideas claras, poner en marcha nuestro plan.

Ya sabéis: no hay viento favorable para aquel barco que no sabe hacia dónde se dirige, pero cualquier camino de 1000 pasos empieza por el primero. Planificación y acción.

Hace unos días, por motivos de trabajo, tuve que lidiar brevemente con la plataforma de publicación de presentaciones online Prezi.

Pese a que he oído hablar mucho de ella en los últimos años, de hecho recuerdo que algunas de las presentaciones que se realizaron en la primera edición del 49k fueron hechas mediante esta plataforma, nunca le había dado una excesiva relevancia.

Prezi es entorno de diseño y publicación de presentaciones que añade un concepto nuevo al conocido mundo dominado por PowerPoint y Keynote.

La diferencia más sustancial de Prezi es que parte de un único lienzo donde están contenidas todas las diapositivas. Mediante constantes movimientos de zoom y perspectiva es posible desarrollar conceptos muy visuales de una forma coherente e integrada. Esto ayuda bastante a una compresión global del tema que se quiere presentar dando la sensación de que todo forma parte de una misma estructura.

El principal problema que considero tiene este entorno es que en su versión gratuita la edición es exclusivamente online y, por tanto, totalmente dependiente del navegador.

Muchos habréis experimentado la desazón que produce cuando una WebApp consume muchos recursos de nuestro navegador y, por ende, de nuestro sistema.

Con Prezi esta sensación se multiplica al estar realizando una edición intensiva en un entorno fácilmente sobrecargable.

No obstante, Prezi pone a disposición de sus usuarios una versión de escritorio (sólo para Windows y Mac) previo paso por caja.

En definitiva, Prezi aparece como una alternativa a las grandes dominadoras, lo cual no está de más y además ha conseguido introducirse en este mercado mediante un modelo de negocio y unos servicios totalmente diferenciados.

Aquí tenéis un ejemplo:

Google nos ha presentado su nuevo y flamante terminal de la serie Nexus. El Nexus 5.

Con este movimiento Google intensifica su estrategia de disponer de un terminal propio en el Universo Android pudiendo así adaptar perfectamente su Sistema Operativo a las características del dispositivo.

De la mano de LG, la que también fabricase en su día la versión 4 de esta línea de productos, el Nexus 5 viene con unas características técnicas que le permiten entrar en la lidia de la actual generación de smartphones.

Núcleo poderoso. Pantalla vistosa

Para empezar nos encontramos con un procesador Qualcomm Snapdragon 800 a 2.3GHz el cual supera y con creces el 1.9GHz Snapdragon 600 que trae la versión americana del Samsung Galaxy S4. Esto sumado a su display de 445ppi full HD IPS hacen del Nexus 5 un dispositivo con unas especificaciones técnicas atractivas.

Una cámara limitada

Sin embargo nos encontramos con una cámara trasera de 8 MPx y una frontal de 1.3 MPx que parecen quedarse un poco rezagadas en cuanto a la definición se refiere aunque algunos tests realizados con ella arrojan resultados bastante positivos.

Batería al nivel.

Con sus 2300mAH, la batería del Nexus 5 cumple con los estándares actuales proporcionando una autonomía similar a las de sus competidores. Tendremos, como nos sucede con todos los smartphones del mercado, que cargar nuestro terminal cada día si realizamos un uso prolongado del mismo.

Precio imbatible.

Y he aquí donde tenemos a la mayor de todas las ventajas del Nexus 5. Google apunta a un segmento mucho mayor que el de sus competidores con un terminal que reduce a la mitad el coste. Estamos hablando de que en ningún caso se llega a los 400$, cuya conversión en el mercado europeo será desgraciadamente 1:1.

Hablamos de 350€ por un smartphone libre con unas prestaciones espectaculares y una relación calidad/precio imbatible.

Leo en Vaya Tele que el visionado online de El Tiempo entre Costuras tiene un coste de 0,72€ por capítulo, y sinceramente me parece una excelente noticia.

¿Te has vuelto loco?

En absoluto. Nos llevamos quejando mucho tiempo de que la mal denominada piratería surge por cubrir una necesidad que ahora mismo no tiene alternativa razonable en el mercado legal. No es de recibo pagar cerca de 10€ por un libro en formato electrónico o más de 4€ por el alquiler de una película online.

Cuando reduces al mínimo los costes de distribución: el canal lo pongo yo y la empresa sólo debe aportar el almacenamiento en la nube, debe verse reflejado en el precio de formar notable. Y hasta ahora no era así.

Antena 3 cambia el guión

Pero llega Antena 3 con su serie estrella de todos los tiempos (al menos por este semestre): El Tiempo entre costuras, y decide cambiar la estrategia. Yo les aplaudo.

Te facilitan el acceso al capítulo ya emitido por 0,72€ y ahí ya estamos hablando de un coste más cercano a la realidad.

Alguien puede criticar que se trate de un capítulo ya emitido y que además otras series estén en línea de forma gratuita pero tú estás pagando por verlo en HD cuando quieras y donde quieras y sin publicidad. Pagar no llega a un euro por eso creo que es, bajo mi punto de vista, aceptable.

El sector de la distribución de contenidos debe moverse en esa dirección, costes muy bajos proporcionando servicios de calidad porque el retorno de la inversión llegará cuando, como siempre digo, el coste de buscarlo en las redes de descarga directa, con una calidad decente y en condiciones sea mayor (en tiempo y, por tanto, en dinero) que el pagar directamente por él.

2 160

Llevo varios meses dándole vueltas a comenzar una sección específica en el blog  dirigida a desarrollos tanto a nivel de software como hardware que van apareciendo y que considero interesantes.

Para empezar a hacer boca creo que uno de los “jueguetes” más interesantes que he adquirido en los últimos meses es la Raspberry Pi.

La Raspberry Pi es un PC del tamaño de una tarjeta de crédito con los componentes básicos para ser funcional y que permite realizar infinidad de pruebas y pequeños experimentos resultando muy útil para aquellos que quieran iniciarse en un sinfín de disciplinas relacionadas con los sistemas, las redes de computadores o la electrónica. Siendo esto último uno de sus puntos fuertes: no hay una única forma de usarla.

Tanto si quieres ver vídeos y navegar por Internet como si quieres aprender y emplear la placa como plataforma para divertirte y experimentar. Aquí van alguno de sus posibles usos:

Propósito general

Es conveniente recordar que la Raspberry Pi es un ordenador y puedes, de hecho, usarlo como tal. Puedes lanzar un entorno gráfico con un navegador, que es lo que comúnmente tienen la mayoría de ordenadores y más allá de la navegación puedes instalarte un sinfín de aplicaciones tales como LibreOffice (la alternativa opensource a MS Office) entre otras.

Aprender a programar.

Dado que desde su concepción, la Raspberry Pi se pensó como herramienta para aprender, viene con intérpretes y compiladores precargados para muchos y variados lenguajes de programación. Para los que se inician en el mundo de la programación, dispone de una aplicación denominada Scratch que nos permite programar en un entorno gráfico amigable. Además su sistema operativo es Linux con lo que permite introducirse en esa entorno y conocer los entresijos de los sistemas basados en este tipo de OS.

Plataforma para proyectos

La Raspberry Pi se diferencia de un ordenador convencional no sólo en el precio (<40€) sino también por su capacidad de integrarse con proyectos electrónicos: controlar LEDs y dispositivos AC, hacer uso de sus salidas binarias, etc.

Hay más, mucho más, que poco a poco os intentaré ir descubriendo. Estad atentos.

Fuente | Getting Started with Raspberry Pi.

PS4

Anoche por fin se desveló la incógnita durante el Playstation Meeting de Sony en Nueva York.

Este 2013 habrá nueva consola de la marca japonesa. Su nombre: Playstation 4.

Lo que sabemos de la Playstation 4.

Para empezar que es un monstruo en cuanto a características técnicas:

  • Procesador de 8 núcleos.
  • Arquitectura de 64 bits x86.
  • 8 gigas de memoria RAM (DDR5).
  • WiFi 802.11n
  • USB 3.0

Además, será una consola muy enfocada a la parte “social” de los videojuegos: opciones de compartir partidas, modo espectador, integración con las redes sociales, botón “share” integrado en el mando, etc.

Los vídeos que se han mostrado hasta el momento hacen gala de su potencia gráfica. Si se tuvieran que definir en una palabra ésta sería: espectacular. Sony ha querido mostrar al mundo que su nuevo sistema será capaz de mover millones y millones de elementos de forma simultánea dando una experiencia de realidad jamás vista en el mundo de los videojuegos.

Muchas de las grandes firmas ya están metidas de lleno en el proceso de desarrollo de juegos o de motores gráficos lo que asegura, por otra parte, una buena base inicial de catálogo para cuando se lance la videoconsola.

Dualshock 4.

Mando_Ps4

Para mí este era un punto importante. Sony no ha evolucionado prácticamente nada desde los primeros mandos de PSone y tenía cierta esperanza de un cambio sustancial e innovador con respecto a este asunto. No ha sido del todo así. Han “mejorado” el Dualshock 3 añadiéndole un pad táctil central, pero en esencia el diseño se mantiene.

Parece, eso sí, que incluirá algunas características heredadas del sensor de movimiento del Playstation Move. Pero en definitiva estamos hablando del mismo mando con sus grandes virtudes y sus grandes defectos.

Cloud computing

Es el siguiente salto generacional. Mi miedo es que hayan intentado integrarlo demasiado pronto, pero el futuro está claro que reside en la nube. Los juegos dentro de muy poco se almacenarán íntegramente en la red y disfrutaremos de ellos a través de nuestra conexión a Internet. Nada de formato físico.

Digo que quizá han llegado demasiado pronto porque dadas las alucinantes características técnicas de la consola es probable que en determinadas zonas (y en especial en nuestra querida España) los anchos de banda de las conexiones a Internet se queden muy lejos de los requisitos básicos que permitan una experiencia decente.

Lo que no sabemos todavía

Sus verdaderas capacidades técnicas para empezar.

Sony sabe perfectamente que su gran rival en el mundo de los videojuegos, Microsoft, está cerca de anunciar su nueva versión de Xbox y esto le ha hecho ser reacia a publicar alegremente las “verdaderas” especificaciones técnicas de su máquina.

Poco sabemos de su dispositivo gráfico y de su verdadera potencia. Tampoco nos han querido dar detalles de su sistema de almacenamiento (¿SSD tal vez?) aunque sí que sabemos que mantienen, por coherencia, el soporte para Blu-Ray y DVD.

Y sobretodo no nos han mostrado mucho sobre su nuevo “concepto” de jugar. ¿Para qué servirá el pad del mando? ¿Qué mejoras traerá disponer del PS Eye de serie? ¿El Dualshock será equivalente al PS Move?

Conclusiones

Como era de esperar lo que ha presentado Sony es un esbozo de lo que será la PS4 a finales de 2013 pero aún con todo tiene una pinta estupenda. Estamos ante un sistema de una prestaciones y una potencia gráfica que marean y que nos preparan para lo que va a ser la octava generación de videoconsolas con las tres grandes compitiendo: WiiU, Xbox 720 y PS4.

Mantengo la prudencial distancia con respecto a las soluciones basadas en la nube hasta verlas implementadas en vivo. Estamos hablando de una máquina que será capaz de mover escenarios inmensos en 1080p con framerates de vértigo y todavía no tengo muy claro cómo pretenden gestionar todo eso con las conexiones de 10 Mbps que tenemos en España.

Eso sí, yo lo que ya he encargado es el babero para cuando vayan apareciendo nuevos vídeos de demostración de los juegos.

Ah, pero una cosa más.

Diablo 3, confirmado, para PS3. Me-lo-pido.

Más información | VidaExtra

El primer paso a la hora de comenzar a diseñar una página web es centrarnos en su estructura.

Todos los documentos  HTML (HyperText Markup Language) están compuestos por 3 etiquetas fundamentales:

  • html
  • head
  • body

La primera etiqueta, html, define lo que comprende el documento web, es el inicio del mismo. Éste, a su vez, se divide en dos partes diferenciadas: head y body.

En la sección head es donde colocaremos aquellos elementos que no están relacionados directamente con el contenido del documento. Es decir, hojas de estilo, scripts, códigos especiales, etc. Dentro de ella colocaremos la etiqueta title que definirá el título de nuestro documento web.

En la sección body es donde propiamente desarrollaremos el contenido de nuestra web y es lo único que se va a mostrar en el navegador.

Aquí os muestro un pequeño ejemplo de cómo debería ser la estructura básica

[cce lang='html4strict' ]

<!DOCTYPE html>

<html>
<head>
<title>Title of the document</title>
</head>

<body>

Body of the document.

</body>

</html>

[/cce]

blog_wayback

Existe en la red de redes una estupenda aplicación online denominada “TheWayBackMachine” que basándose en un extensísimo archivo de webs almacenadas por Internet Machine nos permite mostrar información almacenada de páginas de hace ya unos cuantos años.

http://archive.org/web/web.php

 

Y todo esto viene porque rebuscando entre sus archivos he encontrado escritos míos de hace ya casi 9 años y es bastante sorprendente leer lo que podía escribir con 20 años.

Sorprendente porque no difiere mucho de lo que escribo ahora con 28.

¿Era un visionario entonces o no he avanzado nada en 8 años? 

Por eso me parece interesante llevar un diario, ya sea digital o artesanal, donde volcar lo que uno piensa, lo que a uno le preocupa o lo que uno tiene como objetivos en la vida. Se trata de una herramienta poderosa para descubrir la evolución personal y poder analizarla.

¿Y vosotros, os atrevéis a usar esta Máquina de la Vergüenza?

Una de las herramientas que considero más interesantes a través de la red es el Escritorio Remoto.

Existen bastantes opciones para poder acceder a nuestro PC a través de Internet y poder así gestionar su funcionamiento de forma remota.

La más sencilla para los usuarios de sistemas operativos de Microsoft (Windows XP, Windows Vista, Windows 7 o Windows 8) es el acceso mediante la aplicación nativa “Remote Desktop” (RDP).

Mediante esta simple herramienta podremos, desde cualquier PC con conexión a Internet, conectarnos e iniciar sesión en nuestro ordenador.

No obstante, para ponerlo en marcha hay que realizar una serie de pasos previos que os quiero detallar brevemente.

Abriendo paso.

La mayoría de usuarios de Internet disponemos de un router que hace las tareas de modem en nuestra casa. Este equipo por una parte se encarga de ser la interfaz entre nuestra red Ethernet LAN y el acceso a Internet (ADSL, DOCSIS, etc.).

Generalmente estos equipos están configurados de manera que el tráfico desde nuestra red a Internet está permitido (y así podemos navegar sin problemas) pero todo el tráfico cuyo origen es externo está filtrado.

Esto es una medida de seguridad básica que evita problemas mayores. No obstante, para nuestro fin supone un obstáculo.

En la siguiente imagen os muestro cómo está, de forma esquemática, montada mi red de casa. Veréis que es algo muy simple. Lo que tenemos que hacer para empezar es configurar el equipo de acceso a Internet para que permita el flujo de tráfico entre Internet y nuestro PC en los puertos que emplea el protocolo RDP.

Windows_RDP_4Para ello debemos partir de los siguientes supuestos:

  • Nuestro PC dispone de una IP configurada manualmente. Si lo configuramos mediante DCHP existe la posibilidad de que la configuración IP varíe y las reglas que vamos a introducir en el router son fijas e unívocas.
  • Tenemos acceso a la configuración PAT (Port Access Translation) de nuestro router. Existen equipos a los que no tenemos acceso o desconocemos cómo hacerlo. Os recomiendo que busquéis tutoriales específicos para vuestro equipo.
  • Disponemos de las versiones de Microsoft Windows que admiten Escritorio Remoto.

Una vez tenido en cuenta lo anterior debemos configurar el router para que permita el tráfico entre cualquier IP externa y nuestra IP local del PC (a partir de ahora IP_Local) en el puerto: 3389. Si necesitamos que sea otro puerto podremos cambiarlo de dos maneras:

  • Realizando una redirección de puertos en el propio router: cuando la petición se realice al puerto XX que el router la dirija a la IP_LOCAL:3389.
  • Cambiando la configuración del registro de Microsoft Windows indicando el puerto de escucha.

Con esta tarea completada con éxito tendremos vía libre para configurar nuestro sistema operativo.

Para ello deberemos seguir los siguientes pasos.

Configurando el Escritorio Remoto en Windows

Accederemos a la parte de Sistemas dentro de nuestro Panel de Control

Windows_RDP

Una vez allí buscaremos la “Configuración de Acceso Remoto”

Windows_RDP_2

Finalmente seleccionaremos en la ventana que nos aparece la opción de permitir conexiones desde ordenadores que utilicen cualquier versión de RDP.

Windows_RDP_3

Un último detalle importantísimo: el firewall de Windows. Aunque pensemos que tenemos vía libre, nuestro querido Microsoft Windows viene por defecto con su propio Firewall activado. Una de dos, o bien lo desactiváis (poco recomendado si no confiáis en la configuración de vuestra red) o bien añadís una regla por la que acepte las conexiones entrantes al puerto del RDP.

Con esto podréis acceder desde cualquier PC conectado a Internet a vuestra estación de trabajo e iniciar sesión en ella.

 

 

CONECTA