Que estas usando GET o POST? -no, yo uso ASP.Net

Normalmente, cuando alguién esta aprendiendo a desarrollar en Php, Jsp, o el ASP clásico (hasta el final del post lo voy a usar como ASP3), siempre hay una breve introducción al Html, y ves las diferencia de usar los métodos GET y el método POST, del protocolo HTTP ( si eres desarrollador Asp.Net, tienes aplicaciones en producción, y no sabes que es GET ni POST, y menos sus diferencias, hombre, que nunca es tarde para aprender), es más en el dictado de los cursos sobre estos lenguajes se incluian estos dos temas. Recuerdo en los primeros ciclos de la universidad primero me meti a un curso, fuera de la unviersidad, de JSP (dictado por un cubano, Guillermo Sanchez hasta ahora creo que es el mejor curso de programación que tuve) debido a que quería aprender Java, pero no sabía que no era programación en Java, era programación Web con Java, por suerte hacía unas semanas estaba aprendiendo por mi cuenta html y no me fue extranio el curso. Al siguiente ciclo me metí a un curso de Php (con Cesár Bustamente, muy bueno el curso), y comienzas a notar que todos son html, métodos Post, get, base de datos, y como que le agarras onda al asunto. Y después me metí a un Curso de ASP.Net (VS2003), (todos fuera de la Universidad) que lo enseñaba un certificado Microsoft MSCD.Net, la visión del curso era buena: introducción a .Net, Visual Studio .Net, Web Forms, uso de controles, controles de usuario, controles de datos, controles de validación, Web Services, y bueno más tarde me di cuenta que eran los temas del 2310, y no voy a decir que usaba los mismos slides y los mismos ejemplos. Y bueno el curso estuvo bien enfocado, a lo que se necesita en toda aplicación Web de mantenimientos o interacción con base de datos, ¿pero y si en el curso habían personas que no sabían html, o no sabían la diferencia entre Get y Post?, no recuerdo que haya hecho esa pregunta.

Y este patrón se sigue repitiendo en la actualidad, por ejemplo alguién que aprendio a programar con C++, o con Visual Basic, y nunca vieron nada Web, no saben que existe el html, ni Get, ni Post, ni nada Web. Y deciden aprender desarrollo Web con ASP.Net, por eso de que la Web es la voz, descargan tutoriales, abren Visual Studio, y comienzan a arrastrar controles indiscriminadamente, hacen doble clic en un botón, se agrega el evento botón, programan llenar un GridView, hacen View in Browser, y ya se podría decir que son desarrolladores Web, y si les preguntas que método usaste Get o Post?, la respuesta es: -“no, yo uso ASP.Net”…

¿Cuál es el problema? Con respecto al html, va desde problemas en diseño, hasta problemas en programación. En diseño, por ejemplo arrastras un control Repeater, y lo vas a rellenar con tablas, para poner un ejemplo:

   1: <asp:Repeater ID="repData" runat="server">
   2:    <HeaderTemplate>
   3:        <table> 
   4:           <td>
   5:    </HeaderTemplate>
   6:    <ItemTemplate>
   7:           <tr><%# Eval("nombre") % ></td>
   8:    </ItemTemplate>
   9:    <FooterTemplate>
  10:           </tr>           
  11:        </table>
  12:    </FooterTemplate>
  13: </asp:Repeater>

Y el colmo, el jefe les pregunta, por que se ve mal página: – “He revisado varios foros, y dicen que Visual Studio no generá bien el Html, que tiene muchos errores, debe ser por que es Microsoft”.

Y en programación también genera problemas, una vez vi un código que había divs sin cerrar, no estaba ordenado, el cerrar un UpdatePanel no estaba donde debería estar, eso si erá un código espagueti, y todo eso hacía que no funcione ASP.Net Ajax, cuál es la salida del programador: “Asp.Net Ajax no funciona con proyectos existentes, tiene que ser con proyecto nuevos”

Atención, tampoco se trata de que seas un experto en Html, ni mucho menos, y ya hemos comentado las diferencias que debería haber entre el designer y el developer, y como Visual Studio 2008 te da una ayudita, para eso están los designers, y si no eres designer te bajas algún Starter Kit.

¿Pero que tengas problemas de programación porque no sabes cerrar un elemento html, y si sabes lo haces mal? Pues como que hay un pequeño problema. Si en un proyecto Web te vas a dedicar a crear los componentes de acceso a datos, te vas a meter unas fumadas con patrones, con WCF, con EF, pero no vas hacer las aspx, no hay problema si no sabes html, por que tu tarea es otra. Pero si tu eres el que vas desarrollar las aspx, eres el que va integrar el html que te envíe el designer, o eres el que va modificar el html de un starter kit, no saber nada html, ni la diferencia entre Get y Post… no se si imperdonable sea la palabra, pero de que te va traer algún problema en algún momento, lo va hacer.

Conclusión, no pretendo cambiar la forma de dictar, enseñar o aprender ASP.Net, pero si pienso que deberíamos (me incluyo por que creo hasta ahora no le puse el enfasis que merece) tratar de orientar mejor los objetivos y pre-requisitos de los mismos. Si vas a dictar un curso de ASP.NET 3.5 porque ASP.NET 2.0 es el pasado que los temas vayan: 1) Visual Studio 2008 2) Master Pages & Themes 3) Controles Web 4) Controles de datos 5)Linq 6) y los que siguen… son excelente, pero debes asegurarte que sean pre-requisitos tener conocimientos básicos de html y programación… y si el curso ya esta marcha, pues tratar de algunas clases explicar los métodos Get, Post, tener un html válido, etiquetas básicas de html, entre otros…

Por útlimo dejar esta serie de WebCast, de Jonas Stawski, y que realmente es programación Web para principiantes, para aquellos que recién van aprender desarrollo Web, y para aquellos que ya desarrollan en ASP.Net, pero se saltaron el aprender Html, Get, Post, y eso…

P.D.: El título orginal de la entrada era: Enviar variables desde ASP3 por POST a una página ASP.Net, pero el comentario introductorio de unas líneas, se hizo una entrada :$.

Saludos,

[WebCast] Codename Velocity, este viernes 22 de Agosto

http://sergiot2.com/blogimages/2008/08Ago/19-Velocity.jpg

Pues y eso, este Viernes 22 de Agosto estaremos en el WebCast – Microsoft Codename Velocity:

El Proyecto Microsoft con nombre código “Velocity es una plataforma caché de aplicaciones que integra directamente un grupo grande de máquinas en una sola caché unificada con escalación y alta disponibilidad. Los datos de aplicaciones tienden a clasificarse en tres clases principales. Los datos de referencia (por ejemplo, catálogos de productos) son básicamente datos de sólo lectura que suelen ser compartidos por muchos usuarios; los datos de actividad (por ejemplo, carritos de compra, pedidos) representan el estado de la sesión y tienen a ser de lectura-escritura, usualmente por sesión única; y los datos de recursos (por ejemplo, inventario) son a datos que se leen y se actualizan por varias sesiones de aplicaciones. El rendimiento y la escalabilidad son esenciales para todas las aplicaciones, sin importar los tipos de datos que manejen. Para los datos de actividad y de recursos la disponibilidad es igualmente crítica. En esta plática presentamos la nueva solución de caché de Microsoft, el Proyecto “Velocity”, una memoria caché distribuida que puede copiar en la memoria caché los datos de las aplicaciones para aportar rendimiento, escalabilidad y disponibilidad con clústers comerciales.”

Jorge y Gustavo, ya han comentado sobre este nuevo proyecto, que esta en su versión CTP1, y dentro de poquito en el PDC08 tendremos disponible la versión CTP2. Y para dar un breve definición, es un servicio que permite tener una granja de servidores dedicados a una cache distribuidas para aplicaciones que requieran alto rendimiento, escalabilidad, y disponibilidad. Velocity, además provee comandos, y archivos de configuración para alterar las diversas opciones que contiene este servicio, por ejemplo usar una Cache particionada o usar una Cache replicada. Y también incluye un juego de APIs para trabajar con ella desde .Net, y no esta demás decir que se puede integrar con el manejo de sesiones de ASP.NET, y según lo que leí la idea es que en un futuro tengamos este servicio incluido dentro de .Net.

Por cierto el instalador requiere tener instalado el Framework 3.5. Mas información sobre el proyecto: http://msdn.microsoft.com/en-us/data/cc655792.aspx.

Saludos,

Y no sabia que los Gadgets de Windows Vista eran Open Source…

http://sergiot2.com/blogimages/2008/08Ago/13_Sidebar_Gadgets_Vista.png

Ayer estaba buscando algún tutorial para crear un gadget para Windows Vista, y pues no sabía que los Gadgets de Windows Vista eran OpenSource.

Si vamos a la galería de Gadgets que esta en la Web, al descargar el gadget deseado, este tendrá la extensión *.gadget:

http://sergiot2.com/blogimages/2008/08Ago/13_Gadgets-WindowsVista.jpg

Y para ver el código fuente del gadget, sólo renombramos el archivo a *.zip. Extraemos los archivos, y abrimos la carpeta con nuestro editor favorito obviamente Visual Studio, y podemos ver todo el código usado para crear el gadget:

http://sergiot2.com/blogimages/2008/08Ago/13_VisualStudio-edit-Gadgets.jpg

Y pues la mayoría de gadgets que revisemos, tendrán gran contenido de JavaScript.

El Gadget que hice piratee (cambiar logo, letra, y fecha) fue un Countdown de la fecha en que celerebrá el Blog Day 2008 en Perú, que será el viernes 29 de Agosto:

http://sergiot2.com/diario/blogimages/2008/08Ago/13_Gadget-BlogDay-2008-Peru.jpg

P.D.: Para empaquetar un gadget, enviar a un Zip los archivos y cambiar la extensión a *.gadget. Tener en cuenta que los archivos deben verse directamente al abrir el zip, que no haya una carpeta dentro del zip y recién dentro esten los archivos, ya que no se instalará el gadget.

Saludos,