Posts tagged "desarrollo"

Volver a empezar

Quiero volver a escribir.

Es un hecho que llevo demasiado tiempo dándole vueltas a cómo enfocar el blog, qué es lo que al resto del mundo puede interesarle.

Me he pasado demasiado tiempo analizando, planificando y reflexionando acerca de eso sin entender que lo básico, lo fundamental, lo que convierte a un blog en una herramienta de comunicación maravillosa es que sencillamente me tengo que decidir a escribir lo que a mi me apetezca.

Y eso es lo que voy a intentar hacer a partir de ahora.

Sin presiones, sin complicaciones, sin grandiosos temas que tratar obligatoriamente.

Sencillamente dando rienda suelta a aquellos temas que me importan, que me parezcan curiosos, interesantes o ni siquiera eso.

Volvamos a empezar.

Aplicaciones síncronas y asíncronas

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.

Raspberry Pi: Comenzamos.

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.