Embarcadero RAD Studio XE3
En las últimas versiones de Rad Studio muchas tendencias positivas se han ido apuntando, algunas más que tendencias ya rallando en realidades consolidadas, sin embargo se necesitaba una versión que “limpiara, fijara y diera esplendor” y eso es lo que podemos esperar fundamentalmente de esta versión. Sin embargo en el horizonte cercano también promete novedades excitantes…
Hete aquí que cada vez que se lanza una versión de un producto nos concentramos en los valores, por otro lado innegables, de las novedades. Sin embargo, las novedades no siempre son, y desde luego no únicamente, el camino; sino imaginemos lo que habría sido lanzar cualquiera de los productos de uso común sin que jamás se hubiera aplicado ninguna mejora posterior, imaginemos un mundo en el que todos condujéramos un Ford T o similar, oyéramos música en una gramola o transportáramos teléfonos del tamaño de pequeñas lápidas de cementerio.
No, las innovaciones por si solas no son lo ideal; consolidar, estabilizar y mejorar siempre es necesario.
A pesar de todo no incluir ninguna novedad no es algo aceptable en una nueva versión de un producto, sobre todo cuando de un producto de tecnología se trata. Es esto explica el título del artículo, ya que esta versión, por lo menos inicialmente, está mucho más equilibrada en el número de modificaciones y novedades que por ejemplo XE2.
Utilizo la expresión inicialmente en el párrafo anterior porque además se prometen importantes mejoras en el futuro cercano, que hacen la versión, si cabe, más atractiva en el corto plazo.
Bueno sin más dilación abordemos los cambios y novedades de esta versión.
Novedades en RAD Studio XE3
Existen cambios y mejoras previstas en casi todos los productos de Rad Studio, por ejemplo C++ no sólo emparejan el nivel de desarrollo del lenguaje con el de Delphi sino que marcan un camino específico para cada lenguaje, en FireMonkey lo que se busca es una consolidación y un progresivo aumento de la librería Fmx, también es importante mirar al futuro inmediato y preparar el producto para lo que está apunto de acontecer y ahí encajan las nuevas aplicaciones Metro Styled de Windows 8, los Live Bindings quizá pasaron desapercibidos en la versión anterior con tanta novedad pero fueron uno de sus aportes más importantes, sin embargo eran condenadamente difíciles de entender, por eso esta versión incorpora un diseñador visual que los simplifica.
Tampoco podemos olvidar las mejoras en el resto de productos de Rad Studio XE3. En RadPHP el cambio es tan importante que no conserva ni el nombre, ahora se va a llamar HTML5Builder y promete ser un entorno de todo punto nuevo y potente, que potencie las nuevas tecnologías de cliente web, o sea HTML 5 y CSS3.
De Delphi Prism XE3, el entorno de desarrollo .NET de Rad Studio, los cambios se enmarcan en la nueva adaptación que el lenguaje ha experimentado al entorno de Visual Studio 2012 y el Framework 4.5.
La “C” indica el lugar
Bien, profundizando un poco más, podemos empezar con C++. Digamos que el lenguaje está de moda, y no sólo Embarcadero piensa así, sino Microsoft, Intel y otros grandes fabricantes están apostando por él. Es por esto que Embarcadero está invirtiendo mucha energía en mejorarlo. Para empezar el compilador de 64 bits se encuentra en beta, y si bien no estamos 100% seguros de que la versión definitiva acompañe a la primera versión de XE3 parece que lo hará en las actualizaciones 1 ó 2. Pero además de esto se trata de llevar el lenguaje a un nivel de estandarización lo más actual posible Clang con el fin de sumarse a la iniciativa LLVM.
Para los que como a mí inicialmente, lo confieso, estén pensando en qué clase de lengua muerta está escrita la última frase, aclarar como dice su propia página web que Clang es un nuevo lenguaje C y C++ que sirve de “front end” al compilador LLVM, que compila más rápido y con menor uso de memoria, tiene diagnósticos más expresivos y compatibilidad con GCC. Mientras que el proyecto LLVM es una colección de compilador y herramientas en cadena, modulares y reusables en las que están involucrados más de la mitad de la industria. Además esta tecnología se pretende utilizar, todavía no se sabe muy bien cómo, pero con el resto de compiladores que actualmente pueblan Rad Studio XE3.
Hay que tener en cuenta también, que las novedades que Delphi va a sufrir aparentemente producidas por lo que viene a conocerse por el Mobile pack (entono de desarrollo móvil que aglutinará todas las plataformas de desarrollo móvil de Rad Studio) a saber: Strings únicas e inmutables, cuenta automática de referencias, uso desaconsejado de punteros, “Record Helpers” con miembros intrínsecos para conseguir el interfaz del tipo objeto, que suenan más bien a una futura especialización de ambos lenguajes.
Las “sombras” de Friz Lang son alargadas
En Firemonkey las novedades son numerosas, quizá a veces algo laterales, pero siempre muy útiles para dar forma final al entorno de desarrollo definitivo con el que vamos trabajar los próximos años, a saber: acciones y “ActionList”, “Anchors” y gestores de “Layout”, capacidades multimedia de audio y video, refactorización de la jerarquía de clases y racionalización de los interfaces, “framework” de servicios con el fin de poder conocer y manejar las caracteríscas del “hardware” subyacente, nuevos estilos basados en “bitmaps” con un nuevo editor común para VCL y FMX, soporte de DirectX 10, Aplicaciones Metro y controles transparentes.
A esto hemos de sumar algo que aunque mencionado de pasada merece su propio párrafo, las aplicaciones Metro. Para los que no lo conozcan las aplicaciones Metro son el nuevo estándar de desarrollo de Windows 8 e involucran dos tipos de aplicaciones diferentes las llamadas “Metro Styled” y WinRT. Las primeras hacen referencia a un simple estilo visual basado conceptualmente en la película Metrópolis y que se basa en unos cuadraditos o “Tiles” muy característicos. Las segundas sin embargo son mucho más serias, y aunque sin renunciar al estilo Metro tienen unas implicaciones mucho más importantes, ya que no son propiamente aplicaciones de escritorio como en los previos Windows sino más bien, y probablemente debido a la orientación a todo tipo de dispositivos con el que se lanza Windows 8, que no garantizan la vida de una aplicación una vez que pierda el foco principal, debiendo todas las aplicaciones garantizar el “estado” incluso aunque sean cerradas y manteniendo sólo un “Tile” en el mejor de los casos para comunicar con el usuario.
Si bien las primeras están plenamente soportadas en esta versión, incluso en versiones de Windows anteriores a 8, las segundas sólo se soportan parcialmente, siendo además necesaria la integración de la tecnología de compilación “ToolChain” antes mencionada, para que podamos prescindir de Visual Studio por completo en la compilación y despliegue.
HTML5/CSS3 del que todo el mundo habla, por fin aquí
El producto que más novedades aporta como ya decíamos, y no es porque los demás aporten pocas sino porque este aporta muchas, es Rad PHP, que cambia el nombre pasándose a llamar HTML5Builder. He de admitir que dado el origen español del producto siento una simpatía por él que puede suscitar sospechas, pero en este caso no necesito tirar de ella para afirmar que hay un buen montón de trabajo detrás. Nuevo entorno con lo que denominan contextos de trabajo y “workflows”, lo que quiere decir que como si de pestañas se tratara podemos intercambiar vistas dentro del entorno permitiéndonos cada una de ellas acceder a los flujos de trabajo apropiados para realizar las tareas necesarias. Conducción para simplificación.
Pero además tiene la inclusión de otras muchas cosas en las que destacan la incorporación de la tecnología HTML5/CSS3, que tan popular se ha vuelto estos días, introduciendo un soporte de edición avanzada que incluye operativas de arrastre y suelta y “Code Insight”.
Además de muchas otras modificaciones que por pequeñas en este caso han de pasar desapercibidas, cabe también destacar la inclusión de un nuevo “entrenador” que supone un paso entre la confección de los proyectos móviles y su testeo en el dispositivo o emulador de destino. Esto se debe a la creación de un nuevo modelo de aplicaciones auto contenidas que nos permiten crear páginas que luego serán mostradas por un navegador interno a la aplicación y ausente de marco, que nos permitirá utilizar este mecanismo para crear aplicaciones. Esto además permite como efectos colaterales un soporte controlado de la tecnología HTML5/CSS3 que de otro modo sería imprevisible debido al soporte desigual en el mercado y de otro la confección de una pequeña aplicación que haga algo similar en el entorno de desarrollo, permitiendo así mejoras sustanciales en el tiempo invertido en el ciclo desarrollo-prueba-corrección.
Algunos apuntes finales
Sólo resta hablar de lo que, estoy muy convencido, muchos de los lectores de este artículo estaban esperando, ¿dónde están las prometidas nuevas plataformas móviles? Aparte de las que ya incorpora HTML5 Builder, las que teníamos previsto recibir dentro del entorno de desarrollo Delphi/C++ no van a ser lanzadas de momento con el producto, debido fundamentalmente, no a su estado de desarrollo sino, a una más-complicada-de-lo-esperado adopción de esta nueva tecnología de compilación y que sin embargo embarcadero asegura que en actualizaciones de XE3 va estar disponible (huelga hacer previsiones como comprenderéis).
Lo que sí se sabe ya es que Embarcadero no se va a quedar en el simple soporte de las plataformas como hace hasta ahora con IOS, sino que planea (en estado muy avanzado puesto que ya hemos tenido una beta en las manos) la creación de una RTL y FMX común para todas ellas para que desarrollar en Android-IOS y quien sabe que más, sea como hacerlo en Win32-Win64-MacOS.
Conclusión
Como conclusión sólo decir que me hubiera gustado disponer de alguna cosa muy esperada como la renovada plataforma móvil pero que a cambio recibimos un buen puñado de nuevas tecnologías y sobre todo, una nueva reorganización de todas las API, como limpiar el garaje antes de aparcar el nuevo coche, ya que este, en forma de Mobile Pack o C++ Pack está doblando la esquina y no va a tardar en llegar.
> Visitar Página XE3
> Deseo realizar una consulta sobre XE3