11 julio 2008

Pasando de Delphi 7 a RAD Studio 2007 (1)


Llegó la hora de sacar la artillería pesada. Si bien las versiones de Delphi 5, 6 y 7 seguirán presentes entre nosotros durante mucho tiempo, hay que reconocer que las nuevas herramientas de CodeGear incorporan grandes características que acelerarán nuestro proceso de desarrollo. Y más ahora que con Embarcadero Technologies comienza una nueva etapa.

Desde que apareció Delphi 7 en el año 2002 han aparecido muchas versiones que si bien eran mejores que las anteriores, hay que reconocer que las primeras mezclas que hicieron con la plataforma .NET fueron bastante lentas e inestables. Sumado además la ausencia notable de su ayuda en línea y ejemplos de código, hizo que una gran avalancha de programadores se fugara a la plataforma .NET con Visual Studio o a Java con sus entornos de desarrollo libres y gratuitos (NetBeans o Eclipse).

También lo intentaron con las versiones Turbo, unas versiones ligeras de RAD Studio pero sin la posibilidad de instalar componentes de terceros (es como si te regalan un Ferrari con unas ruedas cuadradas que no puedes cambiar). Debido a esta limitación y la falta de marketing similar a la que hace Microsoft con Visual Studio en sus versiones Express, han pasado casi inadvertidas para los programadores de Delphi.

Si además añadimos la aparición y mejora de nuevos lenguajes dinámicos y libres como Python, Ruby (con su famoso framework Ruby on Rails) y el veterano PHP, esto provocó la caída de Borland cuesta abajo y sin frenos. No ha sido hasta que sacaron la versión Delphi para Win32 cuando los usuarios han vuelto la cabeza y han visto una herramienta seria para programar en Windows y sin tener que utilizar las pesadas máquinas virtuales.

Vamos a ver todas las novedades que diferencian ambas versiones y también veremos sus defectos. Lo mostraré desde el punto de vista de aquellos usuarios que quieren pasar de los Delphi 5, 6 y 7 (donde todavía abundan muchos proyectos hoy en día) a Delphi para Win32 o RAD Studio 2007.

ARRANCANDO RADSTUDIO

RAD Studio puede ejecutarse de tres maneras diferentes:


Delphi 2007: para crear aplicaciones Win32 o Intranet.

Delphi .NET: para programar específicamente para la plataforma .NET.

CodeGear RAD Studio: Permite crear cualquier tipo de aplicación (Win32 o .NET). La carga en este modo es la más lenta.

Nosotros vamos a ejecutar la versión Delphi 2007 para programar específicamente en Win32:


El primer cambio que se aprecia es la lentitud al cargar el IDE. A diferencia de Delphi 7 y versiones anteriores que estaban desarrollados puramente en Win32, RAD Studio se ha reescrito desde cero en la plataforma .NET, independientemente de si vamos a programar en .NET o no.

Esto provoca una lentitud en la carga desesperante. Hay que reconocer que el entorno es mucho más grande y más complejo de los antiguos Delphi, pero al tener que cargar la plataforma .NET y luego todas las librerías DLL asociadas al Delphi, te puedes tomar un café y fregar los platos (a menos que tengas un buen PC).

Lo bueno que tiene es que si cierras el IDE y vuelves a ejecutarlo la carga es mucho más rápida que la primera vez. Un cosa que me gusta es que cuando cierras el IDE se hace casi instantáneamente, no como los antiguos Delphi en los que tenias que esperar unos segundos hasta que se liberase la memoria.

Otra cosa buena que tiene es que si nos hemos equivocado programando y no hemos liberado objetos de memoria, esto no propaga una cadena de errores continuos al intentar cerrar RAD Studio 2007, al contrario de lo que sucedía en las versiones de Delphi 7 e inferiores.

LA NUEVA INTERFAZ DE TRABAJO

Este es el aspecto que tiene el IDE al arrancar:


Para crear un nuevo proyecto hay que seleccionar en el menú superior File -> New -> VCL Forms Application:


El entorno se transformará en este otro aspecto:


Esta forma de trabajar es similar a la de otros entornos de trabajo similares como Visual Studio.

Las pantalla se divide en seis partes principales:

BARRA DE HERRAMIENTAS SUPERIOR


Al igual que en los antiguos Delphi utilizaremos esta barra para realizar las acciones más importantes: abrir proyectos, compilar, modificar las opciones del proyecto, etc. La diferencia más notable respecto a las versiones de Delphi 7 e inferiores es la desaparición de la barra de componentes VCL.

ESTRUCTURE


Situada en la esquina superior izquierda de la ventana, esta sección muestra la estructura de componentes visuales del formulario que estamos editando o la estructura de las unidades si estamos editando el código fuente del formulario:


OBJECT INSPECTOR


Este inspector de objetos muestra las propiedades y eventos de los objetos visuales que hemos seleccionado. Una diferencia que puede apreciarse en este nuevo inspector de objetos es que las propiedades aparecen ordenadas por categoría, en vez de estar por orden alfabético.

Para ordenarlo por nombre alfabético tenemos que pulsar el inspector de objetos con el botón derecho del ratón y seleccionar Arrange -> By Name:


Entonces se quedará como siempre:


Nota: El inspector de objetos a veces tiene el fallo de que si estas editando un formulario y quieres entrar al inspector de objetos por ejemplo a la propiedad Name, el cursor del ratón no se sitúa ahí. Se queda como tonto. Tienes que pinchar otra propiedad y luego otra vez en Name para que haga caso. No es una cosa que moleste mucho, pero a veces cuando tienes prisa mosquea bastante. Lo he visto en todas las versiones de Delphi para Win32 y las de RAD Studio. No se si es un fallo o es que es así de torpe este control.

ZONA CENTRAL DE TRABAJO


Situado en el centro de la pantalla, contiene los formularios o el código fuente (podemos alternar con F12). Aquí encontramos un inconveniente respecto a los antiguos Delphi. A menos que tengamos un buen monitor 16:9 con buena resolución, la zona central de la pantalla se nos queda algo escasa, sobre todo al editar grandes formularios, donde tendríamos que utilizar la barra de desplazamiento inferior. Luego veremos como ganar más espacio en esta zona de trabajo.

PROJECT MANAGER


El administrador de proyectos contiene toda la estructura jerárquica de nuestro proyecto mostrando las unidades PAS debajo de nuestro ejecutable. Esta ventana es multiuso, ya que en su parte inferior tenemos tres pestañas:

Project Manager: es la ventana del proyecto que hemos mencionado.

Model View: se utiliza para crear nuestros organigramas visuales para crear nuestros mapas del proyecto.

Data Explorer: mediante el explorador de datos podemos conectar con distintas bases de datos y acceder a sus tablas. Con esta herramienta podemos visualizar las tablas de nuestras bases de datos sin tener que acceder a herramientas externas como IBConsole o IBExpert:


TOOL PALETTE


Esta es la gran diferencia de RAD Studio respecto a los Delphi 7 e inferiores. La pestaña de componentes VCL aparece ahora situada en la esquina inferior derecha de la ventana y aparece agrupada por temática. Si pulsamos el botón + de cada apartado veremos los componentes que contiene:


Pulsando con el botón derecho del ratón sobre la paleta de componentes podemos abrir todas las categorías a la vez con Expand All o cerrarlas todas con Colapse All:


Aunque pueda parecer incómoda la manera de buscar componentes aquí gozamos de la ventaja de poder buscar componentes por su nombre. Por ejemplo, si quisiera buscar el componente DBGrid para mostrar datos seguiría estos pasos:

1. Pincho el título Tool Pallete:


2. Escribimos grid y veremos como se van filtrando los componentes automáticamente:

3. Ahora sólo tenemos que seleccionar el componente DBGrid y pinchar en el formulario.

Una vez nos acostumbramos a buscar componentes de este modo se acelera mucho respecto a Delphi 7, sobre todo cuando tenemos muchas paletas de componentes.

COMO GANAR ESPACIO EN LA ZONA CENTRAL DE TRABAJO

Para poder ampliar nuestro espacio ya sea si estamos editando formulario o escribiendo código fuente, podemos esconder las secciones Proyect Manager y Tool Palette pulsando estos botones:


Así se trabaja más cómodo:


Estas dos secciones realmente no han desaparecido. Las seguimos teniendo a la derecha. Si queremos insertar un componente, sólo hay que situar el puntero del ratón sobre la pestaña lateral Tool Palette y aparecerá como una persiana:


Igualmente se pueden ocultar a la izquierda las secciones Structure y el Object Inspector, aunque no lo recomiendo ya que es una cosa que se suele utilizar mucho.

LOS FORMULARIOS DE OPCIONES

Otra de las ventajas que han mejorado en los nuevos Delphi 2007 es que han concentrado todas las opciones de compilación, depuración, etc. dentro de una sola ventana. Esta aparece seleccionando Tools Options:


Podemos modificar las opciones del entorno, del editor de código fuente y las opciones de depuración.

Por otro lado tenemos las opciones del proyecto actual si seleccionamos Project -> Options:


Se han sustituido las pestañas por un explorador de temas a la izquierda que facilita llegar antes a los apartados más específicos.

EL MODO CLÁSICO DE DELPHI

Para aquellos a los que no les guste tener todas las ventanas de Delphi agrupadas dentro de la ventana principal, pueden pasar a un modo de ventanas sueltas como Delphi 7 seleccionando la opción Classic Undocked en este combobox situado en la barra de herramientas superior:


El IDE quedará igual pero con cada sección en una ventana independiente:


Aunque una vez que te acostumbras al modo que trae por defecto no le das importancia.

En el próximo artículo veremos más características de RAD Studio 2007.

Pruebas realizadas en RAD Studio 2007.

11 comentarios:

Guillermo dijo...

Enhorabuena por tus artículo , a ver si así muchos nos decidimos a subir la versión del fantástico delphi 7.

Rolphy dijo...

Bueno, lo único con poder que le veo con respecto a mi querido D7 es la extensión al lenguaje ObjectPascal, no entiendo porque imitar el IDE de VS.

Administrador dijo...

No sólo han ampliado el lenguaje Object Pascal sino que han mejorado el compilador, el depurador y el editor de código.

Aunque en la imitación del aspecto de Visual Studio es algo que nos ha molestado a los usuarios de Delphi como bien comentas tu rolphy.

Eso sumado a que está programado todo en .NET hacer el IDE muy pesado y cargante. Pero no tenemos otra alternativa: evolucionar o morir.

Walter dijo...

Ya tuve la oportunidad de probar Delphi 2007 para Win32 y es bastante rapido, pero todavia falta que algunos controles VCL se migren para que sean compatibles con esta version, por el momento me quedo con D7 (tengo una infinidad de controles que me facilitan la programación).

Te felicito por tu excelente aporte para dar a conocer esta poderosa herramienta, gracias por dedicar tu tiempo a esta causa.

Administrador dijo...

El fallo que ha cometido CodeGear en todas las versiones que ha publicado a partir de Delphi 7 es que los controles VCL estándar no han cambiado absolutamente nada (incluso algunos siguen teniendo los mismos fallos), por ello mucha gente sigue manejando Delphi 7.

Parece que en la nueva versión de Delphi, con el nombre en clave Tiburón (Delphi 2008) si van a ponerse las pilas y van a permitir utilizar Unicode con UTF-8 (ya hacía falta).

Lo que si merece la pena a la hora de pasar los proyectos de Delphi 7 a Delphi 2007 es que los errores de memoria se corrigen más seguros y además los controles VCL no tienen problemas con los temas de XP y Vista (a veces a las rejillas de datos se les va la pinza en algunos ordenadores).

Saludos.

SHArQ dijo...

Pues yo tras leer este artículo, tengo aun más claro que Borland, perdón Codegear, perdón Embarcadero, para mí ya son historia. Gloriosa historia si se quiere, pero personalmente considero un insulto que la empresa que durante AÑOS estuvo muy por delante de los demás EN TODO, hoy se limite a copiar (mal) lo que otros hacen. Borland no es hoy más que una triste sombra de sí misma, y Delphi un "ente moribundo" al que mantienen con vida artificialmente, únicamente para prolongar su agonía.

Pero bueno tampoco se puede culpar a Borland del camino que tomó, al menos empresarialmente hablando: Pensaron que era más rentable cobrar diez veces más por sus productos, vendiéndoselos a gente que no tienen ni pajolera idea (y por tanto no se iban a preguntar si eran 'caros' o no). Ya sabeis, el invento ese del ALM.

Administrador dijo...

Yo también pensaba lo mismo que tu al principio, hasta que crearon Delphi 2007. Para evaluar estas cosas hay que ser un poco escéptico y analizar estas herramientas con sangre fría. Si RAD Studio te parece caro comprate Visual Studio Team System y verás tu que clave te meten.

Al igual que ocurre con marcas de automóviles que ya no son lo que eran, hay que renococer que Delphi ya no tendrá los momentos de gloria que tuvo en sus días, pero no por eso hay que descartarlo.

Los usuarios no podemos rendirnos y decir que Visual Studio .NET y Java son lo mejor de mundo y al resto de aplicaciones que les den.
Es bueno que haya diversidad y competencia.

No es bueno que nos digan a los programadores lo que tenemos o no tenemos que hacer, que si Java o .NET es la moda o el año que viene se van a lleva SQL 3000 MegaTurbo.

Últimamente veo páginas web y revistas de programación que intengan guianos a los programadores como borregos de un sitio para otro con un sólo fin: consumir y comprar.

Debemos apoyar más a herramientas de software libre como Lazarus, PHP, Python o Ruby para que las herramientas de programación comerciales no se suban a la parra.

Que dada uno programe con la herramienta con la que más se sienta cómodo (hay gente que todavía programa en clipper) y que deje al mundo correr.

Y lo que tiene que hacer ahora Embarcadero es apoyar al mundo hispano traduciendo sus manuales que creando una documentación de verdad y útil (no las páginas amarillas que han creado hasta ahora).

Gracias por tu opinión.

Tomas dijo...

Esoty tratando de obtener métricas de un proyecto que estoy desarrollando en Rad Studio 2007 pero voy a model view y al seleccionar el nodo raiz con botón derecha no me muestra las opciones QA Audit y QA Metrics... como puedo habilitarlas?

Administrador dijo...

Hola Tomas, lo más seguro es que tengas instalada la versión profesional de Delphi 2007 pero no la arquitecto, que precisamente es la que incorpora esas características (RAD Studio 2007 Architect).

Saludos.

Tomcat dijo...

Definitivamente es muy importante la competencia y pienso que si los desarrolladores de Delphi se enfocan en el compilador win32, pueden recuperar muchos de los adeptos que perdieron, lamento que el ide esté desarrollado en .Net, sería bueno que piensen en mejorar también el rendimiento del ide. Las bondades que tiene un lenguaje de compilación nativa, no se comparan con las a veces absurdas máquinas virtuales.

Administrador dijo...

Tienes mucha razón Tomcat. Creo que fue un error hacer el IDE de Delphi en .NET.

Deberían haber seguido la línea Win32 pura. Para mi no hay nada mejor para Win32 ya sea en programación de aplicaciones como en multimedia y juegos.

Publicidad