Novedades Framework 3.5, Métodos de Extensión

Es curioso el siguiente nuevo mecanismo que aparece en el .NET Framework 3.5,
namespace MetodosExtension
{
  public static class MisExtensiones
  {
    public static bool ContieneLaZ(this String str)
    {
      //Código que a partir de un string retorna verdadero
      //si éste contiene la letra ‘Z’
    }
  }
}
Que luego te deja hacer cosas como esta;
string variable = “escuché un zumbido”;
if (variable.ContieneLaZ())
{
}
A esta nueva facilidad que incluye el entorno de desarrollo se le llaman extensiones. Como podréis apreciar lo que se ha hecho es definir en una clase separada un nuevo método asociado a un objeto (String) que el propio framework de .NET trae consigo. La magia para conseguir esto íºltimo reside en la forma en la que se define el parámetro del método “ContieneLaZ”, que como véis utiliza el identificador “this” previo a la definición de la variable y el tipo.
La principal gracia de todo esto es la capacidad de poder dotar de más potencia a clases ya definidas sin necesidad de utilizar tipos derivados y sin modificar el tipo original.
Apuntar además que las extensiones se mantienen también cuando heredamos la clase original sobre la que se ha hecho la extensión. Por ejemplo, si extendemos la clase “Coche” con nuevas operaciones, y luego creamos una clase “CocheVolador”, esta íºltima, también podrá contar con las extensiones definidas en su clase padre.
Saludos.
Miguel.

AIR

¿Habí­ais soñado alguna vez con la posibilidad de convertir vuestras aplicaciones web directamente como ejecutables en vuestro escritorio? Pues parece que alguien ha escuchado vuestras plegarias.
AIR (Adobe Integrated Runtime) es la nueva baza de Adobe para poder desarrollar fácilmente aplicaciones de escritorio a partir de aplicaciones web. ¿Parece el mundo alrevés verdad? Esta nueva forma de producir software intenta resolver los siguientes problemas:
1) Conseguir que el coste de formación de un desarrollador píºramente web sea mí­nimo cuando se deba poner a trabajar con aplicaciones de escritorio.
2) Totalmente multiplataforma, íºnicamente debemos tener el runtime de AIR instalado en la máquina a ejecutar (linux, windows, iphone…)
3) Crear aplicaciones todo-terreno que sean capaces de ejecutarse tanto como si existe conexión a internet como si no.
4) Dotar a aplicaciones puramente web y desarrolladas con HTML, Ajax, Flex (también de Adobe) o Flash de habilidades píºramente de escritorio, como acceso a recursos locales, portapapeles, base de datos local, etc).
A mi en principio me ha dejado algo fuera de sitio la noticia, sobre todo porque sigo creyendo que aquí­ en España lo normal es que exista mucha más experiencia en desarrollo de aplicaciones de escritorio que aplicaciones web. Es más, lo normal es tener dificultades en encontrar profesionales con experiencia web suficiente… entonces, claro está, la mejora que hemos catalogado como níºmero 1 deja de tener valor.
Sobre la multiplataforma, chapó, está claro que es una ventaja indiscutible.
En cuanto a las aplicaciones todo-terreno, chapó también, ahora veremos qué tipo de aplicaciones son las que realmente le sacan partido a esta particularidad. Tengo verdadera curiosidad en averiguar como gestionan las actualizaciones de las propias aplicaciones instaladas ya en la máquina (que es de los mayores inconvenientes de las aplicaciones instaladas en local).
Aplicaciones web que acceden a recursos locales, suena cuanto menos peligroso, veremos cómo gestionan los permisos.
Me llama sobre todo la atención la posibilidad de combinar Flash y AIR, ya que se permite crear aplicaciones visualmente muy atractivas que permitan además aplicar conceptos avanzados de programación con capacidad además de interactuar contra los recursos de la máquina cliente y contra máquinas remotas.
Dejo links:
https://www.adobe.com/products/air/
Saludos.
Miguel.

Kumbia, un framework PHP que quiere ser como Ruby on Rails

Hola a todos,
El otro dí­a, un compañero de trabajo me comentó que estaba a empezar a trabajar con Kumbia (https://www.kumbiaphp.com), un framework de PHP del cual le habí­an dado buenas referencias.
La curiosidad me hizo entrar en la web y echarle un ojo, y me sorprendió bastante el comprobar que incorpora algunas de las bases de Ruby on Rails, tales como Active Record y el Andamiaje, además de generar automáticamente una estructura de directorios para cada proyecto que creas.
¿Qué quiere decir esto, que las buenas ideas que ha arrojado Ruby on Rails están empezando a asentarse en la comunidad web? Por ahora parece que lenguajes como PHP se hacen eco de estas técnicas, pero, esto va a quedar íºnicamente para lenguajes de código libre como PHP, y Ruby o lo vamos a poder ver pronto en otros como J2EE y .NET.
Os dejo una URL de un proyecto de ActiveRecord para .NET https://www.castleproject.org/ 🙂
Saludos.
Miguel.

Desarrollador 5 Estrellas

No sé si conocéis el sistema de Formación/Certificación de Microsoft para Visual Studio 2005, llamado “Desarrollador 5 Estrellas”.
Se trata de una serie de cursos y exámenes que van desde un nivel de dificultad menor (1 estrella) hasta la máxima (5 estrellas). Por cada una de las estrellas existe un temario, con su correspondiente documentación, y unos exámenes tipo test. A medida que te vas viendo preparado tras leer la documentación puedes ir haciendo los test. Por cada test aprobado se abre la posibilidad de hacer los test de las estrellas superiores.
La verdad es que está muy muy bien, ya no sólo por “jugar” un poco y entretenerte si no que sirve bastante para aprender y probarte un poco. Si además añadimos que la documentación que ofrece por cada parte del temario está bastante bien, pues la suma de todo es que como poco váis a salir aprendiendo un montón.
Os dejo la URL
https://www.mslatam.com/latam/msdn/comunidad/dce2005/directory.aspx
Saludos.
Miguel.

Formación .NET

Y siguiendo la formación… ahora le toca el turno a .NET.
Como no, recomiendo otro nuevo libro, que la verdad es que por lo que lo he podido ojear tiene buena pinta. El tí­tulo ya dice bastante de cual es su objetivo “From Novice to Professional”.
Es algo que voy a poder contrastar los próximos dí­as, ya que aunque yo ya llevo casi tres años detrás de .NET, alguno de mis compañeros van a dar sus primeras lecciones, por lo que vamos a poder comprobar de primera mano el valor de la información que aporta el libro (y la que puedo ir dándoles).
Como siempre, os dejo aquí­ las referencias:
Tí­tulo: Beginning ASP.NET 2.0 in VB 2005: From Novice to Professional
Autor: Matthew MacDonald 
Editorial: Apress
ISBN: 1590596218
Idioma: Inglés

Saludos!

Ruby On Rails

íšltima adquisición a la biblioteca.
Tí­tulo: Ruby On Rails
Autores: Bruce A. Tate y Curt Hibbs
Editorial: Anaya Multimedia (O’Reilly)
ISBN: 978-84-415-2182-7
Idioma: Castellano
Estos 15 dí­as de vacaciones estoy decidido a, por fin, tener un poco de tiempo para empaparme de Ruby On Rails. La verdad es que ya habí­a leido algo anteriormente, pero estos dí­as que he tenido algo más de tiempo la verdad es que lo que he podido ir viendo con algo más de profundidad me ha llamado bastante la atención, así­ que me fui a la Librerí­a General aquí­ en Zaragoza en bíºsca de algo más profundo. Y hubo suerte!
La verdad es que me ha llamado tanto la atención que me da que el gestor de curriculums en lugar de estar hecho con PHP5 + Zend Framework voy a probar con Ruby On Rails. Me apetece bastante más, sobre todo estos dí­as al tener más tiempo y la cabeza mucho más despejada.
Saludos!

Zend Framework

Uno de los mayores problemas que existen a la hora de realizar desarrollos con PHP es la necesidad de contar con un Framework de Desarrollo de garantí­a que nos ayude en dicha tarea. Ya no sólo un Framework que cuente con una serie de herramientas que nos faciliten parte del trabajo, como acceso a la base de datos, tratamiento de fechas, acceso a xml, incluso Ajax… si no también que nos ayude a respetar 100% el modelo MVC (Modelo-Vista-Controlador, https://es.wikipedia.org/wiki/Modelo_Vista_Controlador).
Parece ser que Zend (https://www.zend.com), una de las empresas que está detrás del gran impulso que se ha dado a la íºltima versión de PHP, la 5, está en pleno desarrollo de un Framework que cumple con las caracterí­sticas que os comentaba anteriormente. Disponen de una fase beta, que ya se puede descargar en https://framework.zend.com, e incluso si estáis interesados podéis participar en su desarrollo.
La verdad es que me estoy planteando seriamente en utilizarlo para desarrollar la base del gestor de curriculum que estoy preparando. Tengo bastante curiosidad en comprobar cuánto se parece en su base a STRUTS, el Framework de Desarrollo MVC por excelencia para desarrollos web con J2EE.
¿Alguien que pueda aportar su experiencia al respecto?
 Saludos a todos!