Sunday, May 21, 2006

Microsoft Andean Developer Days

Hola de nuevo.

Si señores, los dias 15 y 16 de Mayo se celebró en la ciudad de Bogotá en el Hotel COSMOS este magnanimo evento. Con la oportunidad de reunirse con los expositores ya conocidos: Miguel Mendoza, Willy Marroquin y el señor Ricardo González, por su participación como Comunidad, pero manteniendo su libertad por no ser workers de Microsoft.

El Señor Rocardo González presentó el tema de los Gadgets en Windows Vista. Muy interesante, básicamente pequeñas aplicaciones residentes en algo que se conoce como el SideBar, pero que prestan bastante potencial para ofrecer información instantánea a los usuarios de este grandioso Sistema Operativo.
Revisen
http://microsoftgadgets.com/

Por su parte Mr Willy mostró esta cosa de SOA, aluciendo como siempre su simpática forma de presentar los temás, que lo colocan de 2do en mi ranking de los mejores expositores que se vieron en el evento. Esto de SOA pues si estuvo muy interesante, sobre todo lo referente a la cosa Enterprise, donde lo veo con la fuerza y el estilo muy CMMI. Hablando de niveles de madurez y mostrando 5 o 6 niveles no recuerdo, de la misma forma que lo hace CMMI.
Además requiere de la participación de todos los personajes de la Enterprise, y su sustento final, obviamente serán los Web Services, por la cosa heterogenea que pretende atacar esta maravillosa forma de ver las arquitecturas.

Bien, continuando, ahora llegan personajes nuevos a quienes no había podido escuchar en charlas: de perú Segundo Leon, con la cosa del Office 12, para que pero estuvo muy interesante, mostró todo de forma muy didáctica y dejo ver realmente las nuevas potencialidades del Office 12, basado plenamente en XML. El señor David Parra consultor de Microsoft, con el tema de Web Services, muy bueno, mostrando la cosa desde un enfoque más Guideline, es decir basó su charla en lo que la gente de Patterns and Practices han sacado para mostrar las diferentes formas de asegurar nuestra infraestructura en la parte de Web Services y sus respectivos clientes. Recomendado:
http://www.microsoft.com/downloads/details.aspx?FamilyId=3E02A6C8-128A-47C2-9F39-4082582F3FE1&displaylang=en

El señor Mauricio Alvarez, con quien he tenido la oportunidad de estar en Cali en sesiones de Arquitectura, se lució en su presentación, haciendola como siempre muy amena y tratando el tema alrededor del ciclo de vida del desarrollo, tocando la cosa de: requerimientos, arquitectura, desarrollo, pruebas, y técnicas usadas por las diferentes empresas en las cuales cada uno participamos jugando roles que se mostraron en la charla, y se dejaron ver como aca en Bogotá se usan de una u otra cosa para tratar de mantener los proyectos marchando de manera adecuada. La principal conclusión quiza, es el no uso de técnicas eficientes de Estimación, algo que puede incidir en el aumento en los retrasos y obviemnte los costes de los proyectos.

Y el gran señor, expositor internacional de INETA, y mi idolo en esto de .NET, de la hermana Argentina, el señor Dani Seara. Hasta ahora no he visto mejor expositor que este señor. En todo momento manteniendo atento a su público nos deleitó con 2 horas acerca de Windows Workflow Foundation. Mostrando la cosa teórica y llevando cada tema a la práctica con ejemplos claros usando obviamente VS.NET 2005. Gracias Dani porque tú Universidad.NET me inció en este cuento. Lástimosamente me acerqué a hablar con él de por qué no ha continuado la cosa de la Universidad.NET y muy simpáticamente me mandó a preguntarle a los señores de Microsoft, responsables directos de que el proyecto esté detenido.

Ah no se me puede escapar el señor Ruben Sanchéz, lucido con el tema de Windows Presentation Foundation, mostró la cosa nueva de las herramientas para diseñadores que traerá Microsoft, en la parte de gráficos Pixelados y Vectoriales, y la animáción de todo esto, que en futuro vendrá integrado para dar toda la productividad del caso. La conclución, todo esto basado en XAML, del que se puede sacar mucho provecho desde nuestras aplicaciones.

En resumen, un DevDays maravilloso, donde yo creo que la inmensa mayoría quedamos muy satisfechos y a la espera de todo lo que viene de la mano de Microsoft y sus grandiosos productos.

Friday, May 05, 2006

ATLAS llega con fuerza

Si señores, ésto si que es bien interesante, y tiene por nombre ATLAS.
Que es algo así como un framework, que encapsula a alto nivel lo referente a eso que se conoce como AJAX. Quieren tener buena información del asunto? pues aqui está el punto de entrada para estar al dia con esta nueva tecnología: http://atlas.asp.net/Default.aspx?tabid=47

Por lo demás pues vamos traduciendo algunas de sus características para que vayamos dando juicios de esta nueva ayuda tecnologíca a las manos de los que andamos en el cuento del desarrollo usando ASP.NET.

“Atlas” habilita a los sitios para tomar completa ventaja de los browsers modernos.

“Atlas” da via libre a los desarrolladores ASP.NET para crear experiencias web muy ricas para los clientes.

“Atlas” incluye un Framework de Javascript del lado del cliente para facilitar la creación y reusos de scripts.

“Atlas” hace muy fácil el consumo de servicios desde ASP.NET.

Si señores Atlas llega con fuerza, y yo por mi parte comenzaré a actualizarme en el tema para mantenerlos al tanto.
Sería bueno iniciar una discusión alrededor de esta causa, para sacarle bastante provecho.

Thursday, May 04, 2006

Delphi .NET, GDI+ y un poco más

Reencontrandome con un colectivo de personajes con los cuales nos dedicabamos hace un tiempo a escribir para la comunidad de developers que usan herramientas tipo Borland, hemos retomado la cosa, y queriendo participar en la causa, pues escogí como tema Delphi.NET, para programar cosas con GDI+.
Lo que quiero es ir mostrando a paso lento pero seguro, cómo es la situación esta del Object Pascal for .NET.
Por ejemplo ahora en la sección Uses pueden ver cosas como estas:
uses System.Drawing;
Si señores, ahi le indicamos a Mr Delphi que vamos a necesitar acceso a las clases de este namespace, y finalmente poder utilizarlas.
Luego dicen por ahi que Private y Protected en Delphi.NET no son como los pintan. Si señores, si ustedes usan
private intXo: integer;
Le cuento que además de ser usado dentro de la clase, a ese engendro lo pueden ver desde afuera. Cómo la ven? a mí la verdad a merced de que esto sea por mera casualidad o por resolver chicharrones para el equipo de la Borland Corporation, pues me parece una falta de atrevimiento querer hacer llover hacia arriba.
Quiere entonces que lo privado sea verdaderamente privado? pues teneis que usar:
strict private
Cómo les queda el ojo? un poco borroso, pues amí me quedo así cuando vi eso, y lo mismo haganle al protected si quieren que sea verdaderamente protected.
Quieren ver otra critica a los MRs de Borland?
http://thenetrix.blogspot.com/2006/04/anda-qu-chulo-y-quin-trabaja.html
Bueno aqui además de criticar a Borland, pues tambièn vamos a lo que vinimos:
Supongase que quieren pintar un tablero de ajedrez en su Windows Forms, aqui esta el code:

type TGraficos = class
private
{ Private Declarations }
intXo: integer;
intYo: integer;
intAncho: integer;

public constructor Create;
procedure PintarTablero(objGraficos: Graphics);
end;

implementation
constructor TGraficos.Create;

begin
inherited Create; // TODO: Add any constructor code here
intXo := 80;
intYo := 0;
intAncho := 60;

end;

procedure TGraficos.PintarTablero;
var objPen: Pen; objBrushNegro: Brush;
objBrushBlanco: Brush;
intContador1: integer;
intContador2: integer;

begin

for intContador1 := 0 to 7 do
for intContador2 := 0 to 7 do
if ((intContador1 + intContador2) mod 2) = 1 then
objGraficos.FillRectangle(objBrushNegro, intXo + intContador2 * intAncho, intYo + intContador1 * intAncho, intXo + intContador1 * intAncho + intAncho, intYo + intContador2 * intAncho + intAncho)
else
objGraficos.FillRectangle(objBrushBlanco, intXo + intContador2 * intAncho, intYo + intContador1 * intAncho, intXo + intContador2 * intAncho + intAncho, intYo + intContador1 * intAncho + intAncho);
objPen.Dispose();

objBrushBlanco.Dispose();
objBrushNegro.Dispose();

end;

TGraficos, recuerden, uno de los 10 mandamientos dice: "Colocaras una T antecediendo el nombre de tú
clase", vaya que en esto si soy responsable y no he olvidado los mandamientos tipo Borland.
Fijense el uso de var para declarar variables locales al procedimiento. Ah si, además esto funciona como Mr VB, toca decirle al señor compilador, vea esto es un procedure, o esto es una function. Sencillo el primero no retorna nada, el segundo si retorna. Ah cosas raras, yo prefiero C#.
El famoso Begin, esto me recuerda al viejo pseudocódigo, pero en fin hace las veces de las {} para los Javeros, C++, y C#reros, podría decirse?
Pero bueno, finalmente, llegamos a la conclusión. A parte de toda esta parafernalia heredada del object pascal comun y corriente, llegamos al punto del uso de nuestras queridas clases del .NET Framework, que eso si es totalmente transparente para los que le dedicamos 9 hrs al dia y un poco más a .NET.

Fijense como el procedure recibe un tipo Graphics, muy simple, instancian TGraficos, y al constructor le asiganan por ejemplo el Graphics devuelto por la forma, al estilo, self.CreateGraphics(), o hacen el llamdo en el evento Paint de la forma y le pasan e.Graphics. El primero como ven es un método como tal, el segundo una propiedad del tipo (e) de la clase PaintEventArgs.
Adicionalmente pueden ponerse en su Form un control tipo pictureBox, y lo usan para retornar el tipo Graphics, de la misma forma como lo hacen con el Form.

Recuerden que esto es uso de GDI+, entre más complejos son lo gráficos y las utilidades que usamos, debemos estar al pendiente de liberar los recursos, para no tener sobrecarga en recursos de memory y procesamiento. Para esto, en mi sencillo ejemplo invoco el método Dispose() de cada uno de los objetos que han o están ocupando recursoso de mi máquina.

Si señores esto es Delphi.NET, un lenguaje más que se une a la liga de la justicia, por qué? sencillo, para estar a la moda. No mentira, porque saben que deben estar al dia con lo que se trabaja actualmente y así no quedarse resagados en relación a IDEs como VS.NET 2005.

Una cosa si les digo, quieren invertir bien la plata? Comprense un VS.NET, la verdad es que Delphi 8 for Microsoft .NET Frameowrk, deja mucho que desear.
Un abrazo