EssentialFox 2004
Inicio

Pre Conferencias

Sábado Mañana

Sábado Tarde

Domingo Mañana

Domingo Tarde

Lunes Mañana

Lunes Tarde

Galerías

 

... a Conferencias

 
Anuncios






 
© PortalFox

EssentialFox 2004

Reporte de la Conferencia DevEssentials 07.06.2004 – Sesión mañana

Por Amby

Es muy tempranito, porque hoy no hubo KeyNote, así que empiezan las sesiones paralelas desde las 8.00 am… ¡a trabajar!

Rienda suelta al poder del Task Pane (Panel de tareas) (Unleash the Power of the Task Pane) Toni Feltman

El panel de tareas fue introducido en VFP 8.0. Es una herramienta que se puede utilizar como el centro de control para todos los desarrollos de aplicaciones. No haremos un informe muy amplio sobre el tema, porque está documentado en: http://www.portalfox.com/article.php?sid=1007 http://www.portalfox.com/article.php?sid=1008

Vimos sus paneles:

El panel de tareas Inicio (Start Task Pane), se muestra la primera vez que es abierto el Administrador del Panel de tareas.

El panel Comunidades (Community Task Pane) muestra contenido valioso de las comunidades de renombre de Internet

El panel Administrador de entorno (Environment Managment Task Pane), muestra la configuración del entorno asociado al proyecto que está actualmente en uso, utilizando una herramienta llamada Environment Manager (Administrador de entorno). 

El panel Ejemplos de Soluciones (Solution Simples Task Pane) presenta una lista desplegable de todos los ejemplos y soluciones de Visual FoxPro, contenidos en la carpeta Simples.

El panel Servicios Web XML (XML Web Services Task Pane) permite acceder a las herramientas de Servicios Web XML y explorar los métodos de los servicios.

El panel de tareas Buscador de archivos (Filer task Pane) tiene exactamente la misma funcionalidad que la biblioteca COM llamada Filer.dll y además proporciona una interfaz de usuario que es accedida a través del Administrador del Panel de tareas.

El panel Buscaminas, (Minesweeper Task Pane)ofrece una versión visual del juego Buscaminas de Windows. Este panel también muestra controles enriquecidos de Visual FoxPro.

Se pueden crear cuatro tipos de paneles, que son:

-         Web page, HTML, XML, y Controles VFP 

Toni nos mostró que los paneles pueden tener varias secciones y existen amplias posibilidades para configurarlos. Ejemplificó cómo podemos crear nuestros propios paneles. Nos comentó sobre la arquitectura del Administrador del panel de tareas y el uso de manipuladores integrados (Built-In Handlers).

Haciendo uso de las técnicas avanzadas de que dispone el Task Pane vimos como generar un panel de tareas HTML complejo que llama un servicio Web XML, trae contenido dinámico de un archivo de Internet y ejecuta código de manipulador personalizado.

Los pasos para crear un crear un panel de tareas son:

-         Escoger el tipo de panel

-         Crear el panel

-         Crear o acopiar los archivos necesarios para este panel

-         Conectar los archivos (ir a personalización)

-         Verificación y corrección de errores 

Para finalizar, Toni nos muestra que, publicar un panel de tareas, desde el formulario del panel de Personalización, es una tarea muy sencilla. Publicar un panel significa justamente que el contenido del panel y sus archivos son empaquetados en un paquete de distribución. Este paquete es un archivo XML que permite una distribución sencilla e instalación de paneles en Administradores de paneles de otros desarrolladores.

Vemos ejemplos de la creación y personalización de dos paneles con el pronóstico del tiempo para una localidad.

El artículo que acompaña a esta conferencia, podrá ser traducido y publicado en PortalFox, lo cual complementará bastante toda la información que ya tenemos y fue escrita en su momento por Beth Massi.

Bueno, pues vamos nuevamente a temas de diseño y me toca cambiar de local… los dejo,… hasta ahora.

Introducción al Diseño de datos – (Introduction to Data Design) Ted Roche (Certified Solution Developer, Microsoft Certified System Engineer, y por 8 años ha obtenido Microsoft Support Most Valuable Professional)

A una pregunta de si es posible tener una aplicación con un mal diseño de Base de datos, Ted Roche, luego de meditar, contesta: Sí, es posible… pero, necesitará mucho más trabajo de mantenimiento, control de errores y habrá más posibilidades de que se dañe, que con un buen diseño. Entonces, comenta, como somos vagos, todos los programadores somos vagos y queremos trabajar lo menos posible, lo mejor es tener un buen diseño de Bases de datos.

Ted nos ha refrescado los principios del análisis, diseño, normalización y normas para nombrar. Empezamos desde el principio, define que es un campo, sencilla pieza de información, tan sencilla y dividida como se desee, una dirección puede estar representada por un campo o por un grupo de ellos (calle, número, etc). Una colección de campos que contienen información de una pieza de información se llama registro. Y una colección de registros, pues es una tabla. Estamos muy adaptados a llamar a los campos columnas y a los registros filas.

Una clave es una expresión compuesta por uno o más campos utilizada para enlazar registros de diferentes tablas, lo que agiliza el acceso a registros u ordenar los registros. Las claves son guardadas en los índices. Una llave o clave primaria identifica cada registro en una tabla. Una clave candidata es otra clave que identifica  únicamente un registro; pero no está definida como llave primaria.

Una relación enlaza dos tablas, una clave primaria y una foránea.

Luego,  nos dedicamos a hablar de las ya conocidas Formas normales, las técnicas de normalización de tablas y bases de datos están suficientemente documentadas, por lo que no me extenderé mucho en la descripción de esta sesión.

Las formas normales son:

-         Primera forma normal: No repetir grupos.

-         Segunda forma normal: Todos los campos van a depender de una clave primaria, en este momento Ted aconseja emplear campos únicos, enteros, en lugar de claves compuestas de varios campos.

-         Tercera forma normal: Todos los campos dependen sólo de la clave primaria y no de ningún otro campo.

-         Cuarta forma normal: Aplica las normas de la tercera para las claves candidatas. Se le conoce también como forma normal Boyce-Codd

Entonces, toda esta normalización nos va a permitir mayor facilidad para manipular los datos, porque cada elemento de dato está representado en un único lugar en el modelo de datos. Si se omite la normalización los campos duplicados y no dependientes persisten lo que ocasiona muchos problemas para Adicionar, Eliminar y mantener datos en la base de datos.

Luego, tratamos aspectos relacionados con Integridad referencial y su implicación en los tres aspectos que la componen, Adicionar, Eliminar y Modificar.

Hasta aquí los temas de Diseño de bases de datos aplicables a cualquier lenguaje de programación; pero como somos mayoría de foxeros, Ted nos dedica un tiempo a trabajar sobre las convenciones establecidas para los nombres de campos y tablas, y consciente de que este es un tema en el cual hay muchos gustos diferentes, nos aclara que estas son sus pautas para nombrar los elementos que integran bases de datos.

-         Una letra para indicar el tipo de datos.

-         Nombres de campos limitados a 10 caracteres porque son más fáciles de utilizar, y estamos a salvo en caso de utilizar tablas libres, cursores temporales y para nombrar los índices como a los campos

-         Terminar los campos clave con PK o FK correspondientes a Clave primario o Clave foránea

-         Evitar utilizar guiones bajos, porque consumen un espacio muy valioso

-         Evitar utilizar plurales, por espacio y porque crea ambigüedades (Ej. Cliente o Clientes, esto nos ahorrará muchos dolores de cabeza si siempre tenemos una metódica para nombrarlos)

-         Otra de metódica y consistencia, ej, Num, No. Nro para indicar un número de algo.

-         Agregar otras convenciones establecidas por los expertos y las propias de cada desarrollador.

Ted Roche comenta la importancia de contar con una buena herramienta para el diseño de Bases de datos y su propuesta es XCase, nos muestra algunas de sus características y algunos ejemplos de modelos de datos diseñados con XCase, demostrando las facilidades para actualizar el modelo y obtener a simple vista gran cantidad de información relativa sobre todo a campos, campos clave y relaciones entre las tablas.

Luego, nos propone “jugar” un poco con situaciones reales, y nos dice que en la gran mayoría las aplicaciones existen personas y direcciones, entonces muestra como crear un modelo de datos correcto.

Solo le resta a Ted aconsejarnos que seamos muy cautelosos en nuestro diseño de bases de datos, ahorraremos mucho tiempo de desarrollo  y nuestras aplicaciones, serán, sin dudas más robustas.

Me voy a por un café, que quiero tener puesto de primera fila en la próxima sesión, la  única que veré sobre .Net…. aunque es una mezcla entre VFP y .Net, allá vamos. Café en mano, me despido de Alex Feldstein, quien marcha ya de regreso. Agradezco a Alex por todo el apoyo, la compañía, las cenas que compartimos y sobre todo por transmitirme algo de su enorme experiencia y sabiduría, Gracias Alex, ha sido un placer, ¡buen viaje!

VFP y .Net: los mejor de ambos mundos (VFP and .NET: the best of both worlds) - Claudio Lassala (Microsoft MVP C#)

Esta conferencia es muy interesante, porque Claudio es foxero, siempre lo fue y lo sigue siendo, a pesar de que domine y divulgue el uso de .Net, de hecho es MVP por C#. Lo primero que hace es aclarar que no es para nada un traidor, todo lo contrario, que lo que ha aprendido de .Net le ha permitido ser mejor programador de Fox. Tiene la oportunidad de sacar de ambas herramientas, lo mejor.

El texto de su ponencia lo tendremos pronto íntegro en PortalFox, estamos autorizados a traducirlo y al menos yo, lo veo como uno de los prioritarios para ayudar a esclarecer algunos aspectos, desde el punto de vista del autor, en estos momentos en que debatimos en los foros el tema cada vez más frecuente de VFP vs .Net.

Les comento algunas cosas.

Claudio compara las herramientas y dice que no son  ni demasiado jóvenes ni demasiado viejas, .Net ya tiene algunos años desde que su primera versión beta fue liberada y por su parte el VFP tiene ya muchos años; pero justo este año será renovado con una nueva versión. Ambas herramientas son lo suficientemente potentes como para facilitar el trabajo de los desarrolladores.

La situación actual es que la mayoría de los desarrolladores en .Net provienen de Visual Basic y C++, la mayoría nunca oyó hablar de VFP, y el que lo hizo lo más probable es que lo considere algo antiguo y obsoleto. Por su parte los foxeros experimentan una pasión por su herramienta, son leales a ella y se resisten al paso a .Net, intentan hacerlo todo con puro VFP, y en ocasiones necesitan de mucho esfuerzo y código que si aplicaran otras tecnologías lo podrían lograr de forma más sencilla.

Claudio invita a tener la mente abierta para poder asimilar el cambio, que no significa renunciar a lo que tenemos. Hace una historia sobre el origen y evolución de ambas herramientas.

Nos dice que, a su modo de ver, VFP es mucho más que un lenguaje de programación, es un entorno de desarrollo con un motor de informes, su base de datos nativa, y lenguaje de programación que incluye comandos nativos y funciones que manipulan los datos como un subconjunto de SQL. VFP tiene algunas características que son más sólidas que .Net, como el proceso de enlace da datos (data-binding).

Son dos herramientas con sus pros y sus contras, son dos equipos diferentes de Microsoft, los que desarrollan las herramientas de forma diferente; pero en algunos aspectos van alcanzando resultado similares. A continuación nos pone ejemplos de tareas en las que es más conveniente emplear .Net o VFP.

Algunas ventajas del uso de .Net para foxeros:

-         Muchas clases, mientras el VFP tiene 37 clases bases, más las Foundation clases, el framework .Net tiene 2.500

-         Aprender de la tecnología y aplicarla a VFP, .Net ofrece soluciones muy convincentes para escenarios frecuentes, inspirarse en estas tecnologías permite desarrollar excelentes herramientas en VFP, un ejemplo son los Voodoo Web Controls creados por Markus Egger, en tiempos cuando aun .Net estaba en sus inicios. Oto ejemplo es el control estructurado de errores (structured exception handing) - try/catch Eso no existía en VFP, y se incluyó en la versión 8.0, a partir de la experiencia de .Net.

-         Adopción de “Buenas prácticas” Los foxeros pueden verse beneficiados si adoptan las norms que exige .Net en cuanto a declaración de variables,  .Net obliga a declarar las variables con su tipo asociado, en caso contrario se produce un error. En VFP no es así y ocurre gran número de errores en tiempo de ejecución que a veces son difíciles de detectar, y esta es su causa. Algo similar pasa con lo sencillo que resulta sobrescribir un método de una clase en VFP, si nos olvidamos de indicar el DoDefault() se rompe la herencia. Estos accidentes no ocurren en .Net; porque el compilador alerta sobre lo que estamos haciendo.

-         El tiempo dirá La experiencia que le ha aportado a Claudio Lassala el conocimiento de técnicas aplicadas en .Net le han hecho corregir estrategias de programación, ahora, dice, es mucho mejor foxero que antes.

Por su parte grandes beneficios puede aportarte a un desarrollador .Net provenir de VFP ya que puede reutilizar conocimiento.  La experiencia que tiene VFP que aplica programación orientada a objeto desde hace 10 años, es valiosísima para iniciarse en .Net donde todo y recalca, TODO, es objeto. Provenir de VFP pone al desarrollador muy por delante del que viene de VB.

Claudio nos propone que utilicemos algunos de los materiales que ya están escritos pensados para ayudar al foxero en su tránsito a .Net, por ejemplo: “Visual FoxPro Toolkit for .NET” (localizado en http://www.gotdotnet.com/team/vfp/ ). Esta clase contiene 255 funciones escritas en .Net  que imitan funciones que tenemos en VFP, entre las utilidades de esta herramienta están:

-          Facilita la migración de código VFP a .Net

-         Viene con todo el código fuente y ayuda para que podamos aprender como trabaja .Net  

Pero; no confundir que esta herramienta no sustituye al framework ni la necesidad de aprenderlo, así como uno de los lenguajes.Net

Y ahora, antes de irnos, la pregunta del millón, ¿estará VFP dentro de .Net?

Claudio aclara que hasta el momento de hacer esta presentación la respuesta de Microsoft es NO, para ello hay muchas razones técnicas, Claudio intenta resumir de esta forma:

-         Para que VFP sea lenguaje .Net tiene que poderse ejecutar por el CLR

-         Para ello VFP perdería muchas de las características que lo distinguen, lo que se resume en perder compatibilidad hacia atrás y convertirse en una nueva versión bastante diferente de la actual, esa nueva versión asegura que a los desarrolladores de VFP no nos va a gustar.

Claudio resume su presentación diciendo que, por una parte .Net no va a desaparecer pronto, al contrario se va a ir consolidando como una excelente herramienta y los foxeros deben tener la mente abierta e irse preparando para hcer coexistir sus aplicaciones con desarrollos .Net

Vamos a comer, esta vez a puro sandwich, comparto la mesa precisamente con Claudio Lassala, hablamos de la posibilidad que existe de tenerlo como ponente en la Conferencia PortalFox Coruña 2004, el está muy ilusionado y le hice saber que nosotros también.  Claudio es uno de los ponentes que ha autorizado la traducción de su material. Le agradecí el gesto. Disfruté de la compañía, me despedí de Claudio Lassala y me preparo para la próxima sesión, en la última jornada, la de la tarde del 07 de junio.

Ana

www.amby.net

 


Todas las marcas y los logos utilizados en este sitio son propiedad de sus respectivos dueños.
Los artículos, noticias y comentarios son propiedad y responsabilidad de sus respectivos autores.
Copyright © 2000-2007 PortalFox. Todos los derechos reservados.