LogoEste es un proyecto personal en el que he estado trabajando durante los últimos meses en mis ratos libres (que son pocos). Lo empecé como un juego para desestresarme y no oxidarme en las lides de la programación. Pero al final he querido darle calidad profesional y me he enredado más de la cuenta añadiéndole posibilidades, puliendo la interfaz de usuario, añadiendo pequeños detalles técnicos complicados que seguramente no va a notar ningún usuario "normal", en el periodo de pruebas, etc...

Twitter Followers Monitor es una aplicación gratuita y Open Source. Como su propio nombre indica te permitirá monitorizar los seguidores de cualquier cuenta de Twitter, llevando un histórico de cambios y siendo notificado cuando se produzcan. Puedes monitorizar varias cuentas a la vez y no tienen porque ser cuentas tuyas, ya que no es necesario saberse las claves.

TFM_Main

El proyecto está hecho con Visual Studio 2010 y .NET 4.0, y usando el lenguaje C#. No utiliza ningún módulo componente externo, así que con la propia plataforma .NET es suficiente.

Está dividido en tres componentes principales:

  • TFMAPI: es una biblioteca de funciones implementada como DLL que incluye todas las funciones necesarias para el manejo de la API de Twitter, las excepciones y el procesamiento de JSON.
  • Tests: los tests sencillos de la biblioteca anterior. En modo Debug usa datos JSON simulados en archivos de disco (e incluyen ejemplos).
  • TwitterFollowersMonitor: la UI del programa, aunque tiene bastante código de lógica también en el procesamiento en segundo plano de los datos de followers (le falta un pelín de refactoring).

Desde el punto de vista técnico tiene algunas cosas interesantes: el manejo de la API de Twitter, el lanzamiento en segundo plano de procesos, la seriación y de-seriación de datos en formato JSON, el uso de clases propias para almacenamiento, el control de excepciones y uso de excepciones propias, el uso de genéricos, la creación y uso de métodos extensores, el uso de LINQ para comparar conjuntos, uso del área de notificación del sistema, enlazado a datos, notificaciones visuales, determinar si el usuario está o no logueado en el sistema, saber si está o no conectado a través de escritorio remoto, evitar que una aplicación se ejecute varias veces, comprobar si hay actualizaciones, las actualizaciones automáticas con ClickOnce, lanzar URLs desde etiquetas...

Muchas de estas cosas serán desconocidas para algunos y se puede aprender viendo el código. Le falta algo de refactoring, y además ten en cuenta que soy programador Web, no Windows, pero en conjunto creo que es un código interesante y con bastantes más detalles de lo que pudiera parecer a simple vista.

Por cierto, el programa lo he hecho en inglés y el código está totalmente comentado también en inglés, aunque eso no debería ser un problema para ningún programador.

Lo he colgado en la comunidad CodePlex y puedes encontrarlo en:

http://twitterfollowersmon.codeplex.com/

¡Espero que te resulte interesante!

Aprende .NET, Cursos on-line tutelados:
   ·
Desarrollo Web con ASP.NET 4.0 Web Forms (Tutelado por mi)
   · ASP.NET 4.0 Web Forms desde cero (Tutelado por mi)
   · Desarrollo Web con ASP.NET MVC 2
   · Silverlight 4.0 - Aplicaciones Ricas para Internet (RIA)
   · jQuery paso a paso para programadores ASP.NET
   · Visual Studio 2010 desde cero

💪🏻 ¿Este post te ha ayudado?, ¿has aprendido algo nuevo?
Pues NO te pido que me invites a un café... Te pido algo más fácil y mucho mejor