Código fuente

Librerías con su código fuente en CSharp.


CrioGame: motor de juegos con C#

Llevaba ya tiempo leyendo sobre motores de juegos, concretamente con MonoGame y me apetecía dedicar un tiempo a desarrollar juegos. ¿Y qué mejor momento que el verano para dedicarle un par de meses ?

Dado que mi capacidad como diseñador es bastante escasa, le dí una vuelta de tuerca a la idea de desarrollar un videojuego y decidí ampliar ligeramente el propio motor de MonoGame para que fuera más fácil el desarrollo de juegos sencillos.

Leer más...

BauMessenger: implementación del protocolo XMPP

Los más veteranos del lugar quizá recuerden que sobre el año 2.000 surgieron una nueva línea de aplicaciones conocidas con el nombre genérico de 'aplicaciones de mensajería instantánea '. Entre estas aplicaciones estaban Icq (de Mirabilis), Yahoo ! Messenger (de Yahoo, obviamente) o MSN Messenger (de Microsoft) y plantearon una nueva guerra por captar usuarios similar a la que se había vivido entre los navegadores.

La función de estas aplicaciones eran permitir enviar información de presencia (el usuario está conectado y libre para conversar o no) y mensajes y archivos instantáneamente entre usuarios. Algunos de ellos incluso permitían conversaciones en grupo o chat. Todas ellas utilizaban software de comunicación propietario, es decir, no existía un estándar y era imposible contactar con un usuario a menos que se utilizase la misma aplicación. ¿Os suena de algo ? ¿Alguien ha pensado en WhatsApp / Telegram / Line... ?

Leer más...

Desarrollo de plugins con .Net

El concepto de plugin o extensión es bien conocido para todo desarrollador: un componente dentro de una aplicación que se puede cargar y utilizar en tiempo de ejecución sin vincularlo directamente en tiempo de diseño.

Los plugins nos permiten añadir funcionalidades a nuestra aplicación para las que no estaba preparada en un principio e incluso cargarlos o descargarlos sin necesidad de configuración.

Leer más...

Librería FTP en C#

En las aplicaciones que utilizan FTP para intercambio de archivos, hasta ahora he utilizado un wrapper sobre la librería de FTP de.NET.

En uno de mis últimos proyectos, necesitaba acceder a FTPs y no pude conseguirlo a través de las librerías básicas de.NET. En algunos casos me daban errores de conexión a través de un proxy HTTP y en otros errores de comunicación. Existen formas de solventarlo pero me pareció más eficaz e instructivo implementarlo por mí mismo.

Leer más...

Servidor SMTP para desarrollo (C#)

Este fin de semana tenía la intención de recuperar el código de una librería antigua para generación de informes y aprovechar el tratamiento de plantillas de NSharpDoc para hacerla algo más versátil pero el primer correo electrónico de la mañana desbarató mis planes y me llevó a otro desarrollo completamente diferente.

El correo en sí era sobre una aplicación que ofrecía servidores SMTP para desarrollo, los conocidos como FakeSMTP . Un FakeSMTP no es más que un servidor de SMTP que no envía los correos recibidos a las direcciones de correo finales.

Leer más...

Librería para cálculo de expresiones con C#

Uno de los requisitos que me encuentro frecuentemente en mis proyectos es la interpretación y el cálculo de expresiones matemáticas desde una aplicación.

Una librería que pueda interpretar y ejecutar expresiones matemáticas no es un proceso excesivamente complejo, por he separado esta sección de mi librería de compilación de NHaml de BauPlugStudio y la he subido a GitHub para poder utilizarla por separado.

Leer más...

Introducción a la API de TFS

Estos días he estado jugando con el acceso a Team Foundation Server utilizando sus API y servicios Web.

Aunque una vez que conoces sus bases es bastante fácil de utilizar, la documentación es, en el mejor de los casos, escasa y dispersa por eso he decidido escribir una breve introducción a TFS para programadores.

Leer más...

Documentación de código CSharp utilizando plantillas

En la parte final del artículo anterior sobre documentación de código fuente en CSharp comentaba que había dos formas de generar la documentación o bien con un método que generaba archivos por separado en clases, interfaces y métodos o bien otro en el que los archivos se generaban con los métodos dentro de las clases.

Al mirar el código de generación de estos archivos me dí cuenta que era bastante complicado generar una documentación configurable directamente desde el código así que me decidí a incorporar plantillas para la generación de los archivos de forma que cualquiera se pudiese crear sus plantillas e incorporar estilos, imágenes y demás.

Leer más...

Documentación de código fuente de C#

Todo desarrollador sabe que la documentación de un proyecto es muy importante. Todo desarrollador sabe también que la documentación de un proyecto es la parte más aburrida de nuestro trabajo.

Por eso, para facilitar la documentación del proyecto, prácticamente todos los lenguajes de programación modernos nos permiten añadir la documentación básica al propio código fuente: Java utiliza los comentarios de Javadoc, Python los comentarios en función y los lenguajes de.Net los comentarios XML de cabecera. Incluso para lenguajes que no incorporan esta funcionalidad tenemos aplicaciones como Doxygen que nos permiten extraer la documentación a partir de comentarios 'normales '.

Leer más...

Aplicación para copiar proyectos de Visual Studio

Dado que siempre tengo una nueva aplicación entre manos, siempre acabo con soluciones de Visual Studio compuestas por montones de proyectos compartidos entre sí. De hecho, mi récord está en los 77 proyectos que actualmente componen BauPlugStudio .

Eso no me causa ningún problema hasta el momento en que quiero compartirlos o subirlos como una aplicación a GitHub . En esos casos tengo que ir copiando todos los proyectos en una carpeta, asociarlos a la misma solución y cambiar las referencias.

Leer más...