Acabo de descubrir una bonita aplicación construida en Silverlight 3 y C# (aunque cuenta también con un frontend para WPF), y que además es open source por lo que me ha parecido interesante compartirla con todos.
Su nombre es Live Geometry, y su finalidad es púramente didáctica, destinada principalmente a ayudar a visualizar y experimentar con construcciones geométricas básicas [y no tan básicas] de forma completamente interactiva y dinámica.
Es dificil de explicar su funcionamiento con palabras, así que creo que lo mejor es que lo veais vosotros mismos en este pequeño screencast de demostración.
Espero que os guste.
C++, Live Geometry, open source, Silverlight, WPF
El pasado miércoles Scott Guthrie nos sorprendío en su blog anunciando que la nueva plataforma ASP.NET MVC pasaba a estar disponible bajo una licencia open source, concretamente MS-PL, la cual permite la libre modificación y redistribución del software sin restricciones en cuanto a la plataforma.
Existen dos alternativas a la hora de instalar este framework. La primera de ellas es descargar el instalador independiente de ASP.NET MVC desde la web de descargas de Microsoft, y como segunda opción también se puede optar por descargar el llamado Microsoft Web Platform Installer (V2), que integra en un sólo instalador el stack completo y gratuito de Microsoft para el desarrollo y publicación de aplicaciones web (la plataforma compuesta por .NET Framework, ASP.NET, MVC, Ajax, jQuery…, el servidor IIS 7.0, la base de datos SQL Server 2008 Express, y las herramientas de diseño y desarrollo Visual Web Developer Express 2008 y Expression Web 2). El código fuente también se puede descargar desde la web de descarga de Microsoft para ASP.NET MVC.
Por su parte Miguel de Icaza, la cara más visible del proyecto Mono [el otro lado open source de .NET] no ha tardado en anunciar la compatibilidad total del framework ASP.NET MVC con la plataforma Mono e incluso la integración de ambas y la disponibilidad de una extensión de MonoDevelop para el desarrollo con ASP.NET MVC. Bravo una vez más por el software libre y por la rapidez de reacción de las comunidades que están detras de estas herramientas.
En la siguiente entrada publicaré algunos recursos que pueden ayudar enormemente a conocer mejor la plataforma ASP.NET MVC.
.NET, ASP.NET, base de datos, descargas, herramienta, Mono, MVC, open source
Y si ayer hablábamos de nuevos recursos para el desarrollo de aplicaciones de escritorio hoy le toca el turno a las aplicaciones web, que también están de enhorabuena con la aparición de las nuevas versiones de Moonlight y JavaFX.
Tal como anunció ayer en su blog Miguel de Icaza, Moonlight estrena por fin su versión 1.0. Por aportar un poco de información, Moonlight es una implementación open source de la tecnología Silverlight de Microsoft para sistemas Linux. Se trata de un proyecto de Novell en el que también colabora Microsoft aportando los tests de pruebas de Silverlight y proporcionando de forma gratuita Microsoft Media Pack para los usuarios de Linux (conjunto de codecs que permiten la reproducción de medios compatibles con Silverlight [wmv, wma, mp3, etc...]). Moonlight 1.0 está basado en Silverlight 1.0, se ejecuta sobre el propio motor javascript del navegador y se distribuye en forma de plugins para Firefox 2 y Firefox 3. En la entrada publicada por Miguel de Icaza podéis encontrar mucha más información sobre la nueva versión e incluso un poco de historia del proyecto para quien esté interesado. Añadir además que Novell ya se encuentra trabajando en la próxima versión, Moonlight 2, que según el roadmap del proyecto debe ver la luz en septiembre de 2009 (aunque la primera beta debería aparecer en mayo). Esta segunda versión estará basada ya en Silverlight 2 y se ejecutará sobre un motor de ejecución .NET (Mono) y no sobre Javascript como la actual.
Por otro lado JavaFX, la tecnología de Sun que pretende competir con Silverlight/Moonlight (de Microsoft/Novell) y Flash/Flex (de Adobe) dentro del campo RIA (Rich Internet Applications), también estrena su versión JavaFX 1.1, cuya principal novedad es el soporte para la gran mayoría de los dispositivos móviles y proveedores de servicios actuales. Debo reconocer que no conozco demasiado esta plataforma, pero destaco el hecho de ejecutarse sobre el propio runtime de java, ya instalado en millones de equipos, lo que está haciendo que consiga muchos adeptos. Cabe también mencionar, que al igual que en el caso de Moonlight, Sun también tiene previsto publicar este mismo año su segunda versión de JavaFX 2.0, que incluirá mejoras en el lenguaje y aumentará el conjunto de componentes disponibles para el desarrollo.
En fin, la batalla por el pastel RIA está en pleno auge, ya veremos dónde acaba y quién es el vencedor.
.NET, java, JavaFX, Moonlight, novedades, open source, plugin
sgoliver
Traducir/Translate:
NRtfTree Library is an open source .NET library written entirely in C# that may be used to manage RTF documents in your own applications. NRtfTree Library is licensed under the GNU LGPL license.
Note: If you are looking for a Java port of NRtfTree, you can have a look at JRtfTree Project.
Table of Contents
- Introduction
- NRtfTree by Example
- Downloads
- Changelog
Related Links
Introduction
RTF (Rich Text Format) is a method of encoding formatted text and graphics for easy transfer between applications. An RTF document can contain text, images, tables, lists, hyperlinks and many other text and graphic elements. In addition, RTF is the format used internally by the RichTextBox control included as part of .NET Framework. Nevertheless, RichTextBox functionality is not enough to satisfy all aspects of RTF file management, and NRtfTree will help you in this scenario.
NRtfTree will help you to:
- Open and parse RTF files.
- Analyze the content of RTF files.
- Add, modify and remove document elements (i.e. text, control words, control symbols).
- Create new RTF documents.
NRtfTree has two modes of operation:
- DOM-like mode: RTF documents are loaded in a tree structure and are provided several methods to traverse it, access tag contents and modify or create new nodes. This implementation requires the entire content of a document to be parsed and stored in memory.
- SAX-like mode: RTF file parser is implemented as an event-driven model in which the programmer provides callback methods that are invoked by the parser as part of its traversal of the RTF document.
Support Requests
.NET, C++, DOM, librería, NRtfTree, open source, RichTextBox, RTF, SAX
A través de Digg, me entero de la existencia de una interesante sección del sitio de Google Code que no conocía.
Para quién no lo sepa Google Code aglutina todos los recursos relacionados con el desarrollo de software que pone Google a nuestra disposición. Entre estos recursos podemos encontrar documentación y ejemplos de todas las API de los servicios web de Google, información sobre los programas de desarrollo creados como iniciativa de esta compañía, como por ejemplo el Summer of Code, o el acceso al fantástico servicio de hosting para proyectos open source de Google.
A todo esto añado a partir de hoy la sección Google Code University (o Google Code for Educators), que no es más que un repositorio de información sobre distintas tecnologías y disciplinas de desarrollo como AJAX, sistemas distribuidos, seguridad web o lenguajes de propósito general como Java, C++ o Phyton. En este sitio podemos encontrar tutoriales, presentaciones, ejemplos, e incluso videos de presentaciones en directo.
En definitiva, un recurso interesante al que al menos merece la pena echar un vistazo.
google, hosting, manuales, open source, tutoriales, web
JetBrains, la empresa que desarrolla el entorno de desarrollo para java IntelliJ IDEA o el fantástico plugin de refactorización para Visual Studio ReSharper, acaba de anunciar públicamente que otro de sus productos, Omea, pasa a ser open source (publicado bajo licencia GNU GPL v2).
Omea es un gestor de información que pretende aglutinar en una única aplicación el máximo de fuentes de información posibles, incluyendo email, contactos, documentos, grupos de noticias, feeds RSS, favoritos web (bookmarks), tareas o mensajería instantanea.
La noticia que nos interesa está en que Omea es un producto desarrollado íntegramente en .NET, por lo que su código puede ser una buena fuente de información para todos los desarrolladores de esta plataforma.
Para más información podéis acceder a la web que han habilitado con toda la información para acceder a los fuentes y las características del proyecto.
.NET, herramienta, open source
Acabo de publicar la nueva versión 0.3.0b1 de la librería NRtfTree. Destacar que por el momento tan sólo se trata de una versión preliminar (beta) donde se han corregido algunos errores de versiones anteriores y se ha añadido alguna funcionalidad adicional que podrá sufrir cambios en betas posteriores. Los cambios más significativos son los siguientes:
- Cambio de licencia. A partir de esta versión la librería se distribuye bajo licencia LGPL.
- Nueva clase RtfDocument, RtfColorTable, RtfFontTable y RtfTextFormat. Pretenden facilitar la creación de documentos RTF desde cero, añadiendo fácilmente fragmentos de texto e imágenes. En esta versión preliminar se ofrece sólo un soporte básico para realizar estas funciones.
- Clase RtfTree
- Nueva propiedad MergeSpecialCharacters. Activando esta propiedad, si se encuentra un caracter especial (\’) éste se convertirá a un nodo de tipo texto y se intentará combinar con los nodos tipo texto adyacentes, de forma que se obtenga un único nodo.
- Nueva propiedad Text. Devuelve el texto plano del documento.
- Nuevo método GetEncoding(). Devuelve la codificación utilizada en el documento.
- Clase RtfTreeNode
- Nueva propiedad Tree. Devuelve una referencia al árbol propietario del nodo.
- Nuevo método ToString(). Devuelve una representación textual del nodo.
- Nuevo método InsertChild(). Inserta un nuevo nodo en cualquier posición de la lista de nodos hijos.
- Se sustituyen los métodos SelectXXXByType() por sobrecargas de SelectXXX().
- Nuevos métodos SelectSibling() (+3 sobrecargas). Seleccionan nodos hermanos.
- Clase RtfNodeCollection
- Nuevo método Insert(). Inserta un nuevo nodo en cualquier posición de la colección.
- Nuevo método RemoveRange(). Elimina un conjunto de nodos contiguos de la colección.
- Clase InfoGroup
- Nuevo método ToString(). Decuelve una representación textual del nodo.
- Bugs corregidos
- Los nodos de tipo Group y Root no se inicializaban con ninún texto.
- En ocasiones la propiedad RtfTreeNode.Rtf no devolvía la última llave ‘}’.
- No se trataban correctamente los caracteres especiales ‘\’, ‘{‘ y ‘}’ como parte del texto.
- Cuando se añade un nuevo nodo con AppendChild() o InsertChild() no se actualizaban las propiedades Root y Tree de forma recursiva.
Como siempre la nueva versión puede ser descargada desde la página principal del proyecto NRtfTree.
Espero comentarios sobre la nueva versión.
.NET, actualización, C#, descargas, librería, NRtfTree, open source, RTF
He añadido por fin a la web una sección específica para el proyecto JRtfTree.
Como ya sabéis, JRtfTree es una traducción al lenguaje Java de la librería NRtfTree.
He cambiado la versión a 0.1.1 tan sólo para reflejar el cambio de licencia, ahora se distribuye bajo licencia GPL, por lo que su estado continúa siendo el mismo que cuando la publiqué por primera vez, es decir, que a día de hoy está implementada toda la funcionalidad incluida con la versión 0.2 de NRtfTree, excluyendo las clases de nodos especiales para el tratamiento de imágenes y objetos.
Espero, a partir de ahora, poder dedicar un poco más de atención a este proyecto para tratar de alinearlo con la versión actual de NRtfTree.
Como siempre, podéis acceder a la sección dedicada a JRtfTree a través de la página de proyectos.
java, JRtfTree, librería, NRtfTree, open source, RTF