Firemonkey de simple a complejo. ¿Qué es FireMonkey? falta de soporte para personalizar clases nativas

¿Qué es FireMonkey?


FireMonkey (FMX) es un marco para el desarrollo multiplataforma tanto para sistemas de escritorio (Windows, Mac OS + soporte de servidor en Linux está previsto en un futuro próximo) como móviles (iOS y Android) utilizando el lenguaje Delphi/C++.

Peculiaridades:

  • base de código única para todas las plataformas;

  • cualquier control (componente visual) puede ser un contenedor (padre) para otros componentes;

  • la presencia de una disposición relativa muy avanzada (20 tipos) de componentes en el formulario;

  • LiveBinding le permite conectar cualquier tipo de datos o información a cualquier interfaz de usuario u objetos gráficos;

  • presencia de estilos de forma/componente;

  • La vista previa multidispositivo le permite personalizar la presentación visual para cada plataforma;

  • FireUI Live Preview: muestra la apariencia de la aplicación en dispositivos reales en tiempo real.

Posibilidades:

  • uso de la API nativa de cada plataforma, así como la capacidad de llamar a bibliotecas nativas de terceros;

  • interacción con todos los sensores (GPS, acelerómetro, brújula, Bluetooth (incluido LE) y otros);

  • soporte para notificaciones push, IoT;

  • soporte para solicitudes HTTP asincrónicas;

  • soporte para la mayoría de las bases de datos (MsSQL, MySql, Oracle, PostgreSQL, MongoDB, etc.);

  • trabajar con servicios en la nube (Amazon, Azure);

  • Soporte de servicio Android.

Contras (actualmente):

  • falta de soporte para personalizar clases nativas;

  • la implementación de cosas específicas es imposible (widgets, extensiones (iOS), etc.) o se requiere un baile con pandereta (servicio en segundo plano, transmisión de mensajes, etc.);

  • La personalización de la pantalla de bienvenida (pantalla inicial), por decirlo suavemente, es deficiente;

  • Los controles FMX utilizan su propia representación (visualización, dibujo), que es puramente visualmente similar a la nativa;

  • el uso de controles nativos implica grandes movimientos corporales;

  • cuando hay mucho anidamiento de componentes, suceden cosas increíbles: la aplicación falla en varios lugares, pierde el foco, se congela, etc.;

  • el contenido de información para depurar una aplicación en plataformas móviles es cero;

  • las descripciones de errores en plataformas móviles se reducen al inútil "Error 0x00000Х";

  • el tiempo de compilación quiere ser el mejor para proyectos medianos y grandes;

  • la necesidad de utilizar un archivo para pulir las aplicaciones móviles para cada plataforma;

  • sin soporte para la arquitectura Intel Atom;

  • Precio inadecuado en comparación con los competidores.

Ventajas:

  • desarrollo muy activo tanto del producto como de la comunidad últimamente, soporte para cada vez más tecnologías nuevas;

  • la presencia de una gran cantidad de componentes comerciales y gratuitos;

  • La velocidad de la aplicación es muy cercana a la nativa;

  • editor visual muy avanzado y entorno en general, presencia de estilos;

  • la capacidad de probar una aplicación en Win y solo luego implementarla en dispositivos, lo que acelera enormemente el desarrollo;

  • cambiar de modo/plataforma con un movimiento de muñeca;

  • PAServer proporciona una interacción sencilla con MacOs cuando se desarrolla para el sistema operativo Apple;

  • Soporte de gráficos 3D listo para usar.

En conclusión, quiero decir que en los últimos años FireMonkey se ha convertido en una herramienta profesional para el desarrollo multiplataforma de aplicaciones comerciales y más. Muchas deficiencias se están resolviendo gradualmente y con cada lanzamiento el producto se vuelve más moderno y autosuficiente, y también desaparece el escepticismo existente hacia el lenguaje Delphi, asociado con muchos años de estancamiento. Escribir nuevos proyectos en FireMonkey es "seguro" y prometedor.

Lanzado en septiembre del año pasado, Delphi XE2 contiene un número récord de innovaciones.
Ya se han publicado en Habré breves descripciones de las capacidades de Delphi XE2. Pero, obviamente, la innovación más llamativa es la plataforma FireMonkey, y aquí me gustaría prestarle un poco de atención.
He realizado una pequeña selección de enlaces a materiales que, espero, os ayuden a tener una idea más o menos adecuada de esta plataforma. Pero primero, para aquellos que no lo saben, les contaré brevemente qué es FireMonkey.
Embarcadero Technologies posiciona a FireMonkey como una plataforma para crear aplicaciones empresariales enriquecidas para Windows, Mac e iOS. Además, esta plataforma es nativa de cada sistema operativo, es decir. Cuando se ejecuta una aplicación creada con FireMonkey, no se utilizan complementos adicionales.
FireMonkey se vincula directamente a una biblioteca de gráficos nativa (desde la perspectiva del sistema operativo), como OpenGL o DirectX. Por tanto, se propone la mejor solución desde el punto de vista de la GPU.
El núcleo de la arquitectura FireMonkey es una poderosa biblioteca de clases (incluidos componentes visuales).
La plataforma de destino se selecciona durante el proceso de compilación.
La primera versión de FireMonkey sólo era compatible con Win32, Win64, MacOSX e iOS, pero Embarcadero planea trasladarlo a otras plataformas en el futuro.

¿Qué deberías considerar?

Aunque la plataforma FireMonkey proporciona amplias herramientas para desarrollar aplicaciones 3D, no debe considerarse un motor de juego. FireMonkey se posiciona específicamente como una plataforma para desarrollar aplicaciones comerciales.
El producto se encuentra actualmente en las etapas iniciales de su evolución. Y muchos funcionalidad FireMonkey está experimentando cambios, tanto cualitativos como cuantitativos.

Espero que los enlaces a continuación le ayuden a comprender las características principales de la nueva plataforma.
Página oficial del producto en el sitio web de Embarcadero (ruso)

Entre el material en idioma inglés me gustaría destacar la serie (inglés)

¿Qué ver?

Sobre ultima versión Delphi, hay más material de vídeo dedicado a las capacidades del producto y cómo trabajar con él que nunca. Tanto oficiales, de Embarcadero, como de desarrolladores independientes. Hay muchos videos sobre FireMonkey en YouTube, puedes usar la búsqueda. Entre esta abundancia de material, destacaré una serie de tres videos de la página de inicio de Marco Cantú - RAD en Acción, dando así a mi investigación un vector de utilidad.

Probablemente sepa que Embarcadero está promoviendo activamente su nueva visión de crear una GUI multiplataforma: FireMonkey ( Lo llaman marco, pero para su estado actual suena demasiado genial.). En RuNet se anuncian concursos tras concursos, se realizan seminarios web y, aunque la calidad de estos últimos deja mucho que desear, la actividad es alentadora. Ahora, en realidad, al tema. Como parte del último concurso se propuso desarrollar algún tipo de aplicación para el aprendizaje. Y ayer apareció otra obra del autor Evgeniy Chmel ( No sé si este apellido está inclinado o no.). A diferencia de los simples "de una sola forma" vistos anteriormente, aquí se intentó tirar del mono por todas sus extremidades: estilización, 3D, efectos de sombreado ( A los evangelistas de Embarcadero les encanta hablar sobre gráficos acelerados por GPU :))). Veamos qué resultó de esto. Para aquellos que no hayan visto los webinars, haré una pequeña digresión. En uno de los seminarios web, el evangelista de Embarcadero, Vsevolod Leonov, contó una historia desgarradora sobre cómo tuvo que "reiniciar la computadora, específicamente, por completo" (esta es una cita) debido al hecho de que el SDK de Silverlight y emulador de windows El teléfono 7 “no funcionó” (esta es una cita) en su computadora porque... No les gustó el adaptador de video ni la configuración de la GPU. Pero las aplicaciones desarrolladas con FireMokey, continúa Vsevolod, no son nada exigentes. hardware. Veamos cómo nos mintió. Process Explorer v15.05 de Mark Rusinovich será nuestro testigo imparcial. Entonces, descargue la aplicación de Evgeniy y ejecútela ( No proporciono capturas de pantalla de la aplicación de Evgeniy, están disponibles en el enlace a su trabajo. Tenga en cuenta las fuentes borrosas).

Lanzó la aplicación. Veamos el consumo:

Inmodesto, pero puedes perdonar” tecnología avanzada" Vaya a la sección "Lecciones" y seleccione "Lección 5". Comienza la preparación del escenario. Este proceso es largo ( Me llevó poco más de un minuto, en un Phenom II de cuatro núcleos con una frecuencia de 3,3 GHz.), ser paciente. El escenario está construido. Veamos el consumo:

El mono estaba bien alimentado. Muy bien. Ahora intente mover el mouse sobre los botones de opción de respuesta. Parece que la GUI reacciona muy lentamente, ¿no? Mire el gráfico de uso de CPU ( Quiero decir que deberías probarlo tú mismo, en tu computadora.) – en estos momentos su carga se acerca al 100% ( Tenía ~21,5% para un procesador de cuatro núcleos, lo que equivale al 86% para uno de un solo núcleo.). Pero alguien nos habló de los gráficos acelerados por GPU. Bien, sigamos adelante. Respondemos todas las preguntas de la lección. Veamos el consumo:

¿Tienes los ojos muy abiertos? Ahora mire, a modo de comparación, cuánto consume el shooter 3D FarCry con un juego activo ( el nivel se llama Factory, por si a alguien le interesa) ejecutándose en modo de pantalla completa 1440x900:

Saca tus propias conclusiones.

Han pasado más de tres años desde que la división CodeGear, responsable de la creación de herramientas mundialmente famosas como Delphi, C++Builder y JBuilder, así como del sistema de gestión de bases de datos Interbase, pasó a formar parte de Embarcadero Technologies, conocida por sus herramientas. para el diseño y administración de bases de datos, y dos años desde que discutimos en las páginas de nuestra revista qué esperar en el desarrollo de herramientas que son tan populares entre desarrolladores rusos. Le pedimos a David Intersimone, vicepresidente de relaciones con desarrolladores y evangelista jefe de Embarcadero Technologies, y Kirill Rannev, jefe de la oficina de representación de Embarcadero Technologies, que hablaran sobre las novedades que se han hecho en esta área durante los últimos dos años y qué esperar en el futuro cercano Rusia. Para nuestros lectores más jóvenes, les informamos que esta no es la primera entrevista que David y Kirill conceden a ComputerPress; nuestra cooperación ya lleva dos décadas. Y durante aproximadamente la misma cantidad de años, hemos publicado periódicamente reseñas de herramientas de administración de bases de datos, en las que se presta mucha atención a los productos Embarcadero.

Prensa informática: David, tu división ha sido parte de Embarcadero durante tres años. Hace dos años usted estaba entusiasmado con la idea de pasar a formar parte de una empresa cercana a sus objetivos y espíritu. ¿Ha cambiado algo durante este tiempo? ¿Tú y tus compañeros todavía tenéis el mismo entusiasmo?

Sí, todavía estoy muy entusiasmado. El principal cambio que ha ocurrido desde que pasamos a formar parte de la empresa Embarcadero es que se ha invertido mucho en el desarrollo de Delphi. Ha aumentado el número de personas que trabajan en herramientas de desarrollo y ha aumentado el número de tecnologías que podemos desarrollar o, si es necesario, adquirir.

El lanzamiento de RAD Studio XE 2, que planeamos demostrar en Moscú, es el lanzamiento más grande de este producto con enormes capacidades y una gran cantidad de plataformas compatibles desde la primera versión de Delphi, creada para la versión de 16 bits de Windows y que era un producto innovador que combinaba el enfoque de componentes y la compilación en código de máquina. Ahora apoyamos el desarrollo no sólo para Windows, sino también para Macintosh, sin mencionar el desarrollo web y la creación de aplicaciones para dispositivos móviles, y estas aplicaciones para diferentes plataformas pueden tener un único código.

La nueva plataforma de desarrollo, FireMonkey, es un esfuerzo conjunto entre Embarcadero y la recientemente adquirida firma rusa KSDev de UlanUde, un fabricante de componentes para gráficos vectoriales, DirectX y OpenGL, tecnologías de efectos gráficos y Componentes Delphi usando GPU con PixelShader 2.0. Adquirimos la empresa KSDev (ver ksdev.ru) hace un año y comenzamos colaboraciones para crear una herramienta de desarrollo multiplataforma que incluya la plataforma de desarrollo de aplicaciones FireMonkey con componentes Delphi y C++Buider para la creación de interfaces de usuario de aplicaciones, integración de bases de datos, procesamiento de gráficos GPU e integración de sistemas operativos.

Con FireMonkey, puede crear una aplicación que se ejecute en la CPU y la GPU juntas y luego usar diferentes compiladores y bibliotecas en tiempo de ejecución (RTL) para compilarla para Windows, Mac OS o iOS. En lugar de aprender a programar usando diferentes bibliotecas de gráficos, aprendiendo las API de diferentes plataformas que tienen diferentes sistemas de coordenadas y diferentes capacidades, los desarrolladores que usan Delphi y C++Builder pueden usar el mismo enfoque basado en componentes, editando formularios visualmente y conectándose a bases de datos mediante moviendo el componente con el ratón. Esta es una forma fundamentalmente nueva de crear aplicaciones que se ejecutan en diferentes plataformas y es el futuro. Si desea agregar soporte para otros sistemas operativos y plataformas a su aplicación, no necesita diseñarla ni desarrollarla nuevamente; solo necesita recompilarla.

Creamos nuevos compiladores que generan código nativo. Hoy en día existen compiladores Delphi para 32 y 64 bits. Versiones de Windows, versiones de 32 bits de Mac OS 10. Y estamos trabajando en la próxima generación de compiladores Delphi y C++Builder que le permitirán crear código de máquina de alto rendimiento tanto para estas como para otras plataformas como Android o Linux, y mantenga el mismo diseño, los mismos componentes, el mismo código utilizando diferentes compiladores y bibliotecas de tiempo de ejecución.

Como puedes ver, tengo suficientes motivos para estar entusiasmado. Y los desarrolladores que conozco en todo el mundo saben que Embarcadero está invirtiendo fuertemente en Delphi y C++Builder, así como en herramientas de desarrollo PHP.

KP:¿Qué éxitos ha logrado al integrar las herramientas de las dos empresas durante los últimos dos años? ¿Cuáles son los planes de Embarcadero para el futuro en este ámbito?

DI.: En el momento en que CodeGear pasó a formar parte de Embarcadero, la empresa tenía equipos de desarrollo en Toronto, Monterrey y Rumania, estábamos y todavía estamos ubicados en Scotts Valley y en Rusia, en San Petersburgo. Embarcadero tenía herramientas para desarrolladores y administradores de bases de datos, CodeGear tenía herramientas para el desarrollo de aplicaciones, pero estos últimos también utilizan bases de datos. La fusión de empresas es una combinación de experiencia, conocimiento en el campo de las bases de datos y optimización del código, incluido el código del servidor. La combinación de empresas también condujo a la creación de un nuevo producto, AppWave, una tecnología especial para convertir una aplicación normal de Windows en algo muy fácil de usar (como aplicaciones para iPhone u otros dispositivos). AppWave le permite no instalar una aplicación, sino simplemente seleccionarla e iniciarla desde el servidor de almacenamiento de aplicaciones (aplicación) preparado, y se ejecutará en la computadora del usuario sin realizar cambios en su registro y área del sistema. sistema de archivos. Por cierto, el navegador de aplicaciones AppWave está escrito en Delphi. Embarcadero utiliza Dephi para su propio desarrollo y nuestra experiencia en desarrollo de aplicaciones.

Aplicación para iPhone (iOS) creada por
usando la plataforma FireMonkey

También puede utilizar la integración de nuestras herramientas de desarrollo y DB Optimizer para optimizar las consultas SQL al crear aplicaciones. Al pasar el código SQL directamente a DB Optimizer, puede perfilarlo, probarlo y devolver una versión optimizada a su entorno de desarrollo. La experiencia de Embarcadero en bases de datos también ha mejorado la tecnología DataSnap. Gracias a los desarrolladores de Toronto, adquirimos muchos conocimientos sobre la arquitectura de bases de datos y sistemas multinivel. Ahora tenemos experiencia conjunta en la creación de códigos de servidor y procedimientos almacenados en ambas empresas. Contamos con herramientas como RapidSQL y DB Change Manager, así como entornos de desarrollo que simplifican la creación de código de servidor; por ejemplo, las tecnologías Code Insight y Code Completion permitieron la creación de tecnologías SQL insight y SQL Completion. Nuestros enfoques comunes para crear código de cliente y servidor, nuestra filosofía común, nos permiten brindar características comunes a las herramientas de administración de bases de datos y herramientas de desarrollo de aplicaciones.

Kirill Rannev: Quiero agregar algo importante. Desde un punto de vista comercial, la forma en que entregamos nuestras herramientas es muy importante. Por ejemplo, nuevo lanzamiento RAD Studio XE 2 Ultimate incluye el conjunto completo de herramientas DB Power Studio. Este es un conjunto de herramientas muy potente, que incluye el entorno de desarrollo de consultas RapidSQL, la herramienta de gestión de cambios DB Change Manager y la herramienta de optimización de consultas DB Optimizer, que le permiten llevar a cabo una parte importante del proceso de desarrollo e implementación gestionando los cambios en el modelo de datos, la base de datos, el código, etc. Esta es una muy buena y correcta combinación de tecnologías.

DI.: Pero, si es necesario, los desarrolladores pueden utilizar Subversion para el control de versiones. código fuente y DB Change Manager para control de versiones de metadatos. Puede utilizar la creación de perfiles de código y DB Optimizer para optimizar el código del servidor, RapidSQL para crear y depurar el código del servidor y nuestros entornos de desarrollo para crear y depurar aplicaciones. Esta combinación de tecnologías en RAD Studio XE Ultimate Edition demuestra los paralelismos entre los modelos de desarrollo de aplicaciones y bases de datos. La mayoría de los desarrolladores que crean aplicaciones empresariales con Delphi y C++Builder trabajan con bases de datos y necesitan estas herramientas, y RAD Studio XE Ultimate Edition es una gran combinación para dichos desarrolladores.

KP: El usuario moderno ya no es sólo un usuario de la plataforma Windows. Utilizamos dispositivos móviles, iPhone, iPad, dispositivos basados ​​en la plataforma Android. Esto significa que los desarrolladores deben comenzar a apuntar a diferentes plataformas sin aumentar significativamente la inversión en capacitación; es decir, se necesitan herramientas universales. Evidentemente, no es realista esperar la aparición de herramientas universales por parte de los fabricantes de plataformas, y en esta materia sólo podemos contar con fabricantes de herramientas independientes. ¿Cómo podemos contar con Embarcadero?

DI.: Todavía tenemos mucho por hacer en términos de soporte de plataforma. Hoy presentamos soporte para la plataforma iOS para iPhone y iPad, luego los teléfonos inteligentes basados ​​​​en la plataforma Android, Windows 7 y Blackberry recibirán nuestro soporte. En RAD Studio XE 2, comenzamos construyendo la plataforma FireMonkey para iOS y luego llevaremos FireMonkey a otras plataformas.

Al mismo tiempo, existe una gran cantidad de sistemas operativos que admiten pantallas táctiles para teléfonos, tabletas y dispositivos de escritorio, y continuaremos agregando soporte para ellos. Además, hay voz, movimiento, sistemas biométricos, acelerómetros, por lo que debemos continuar expandiendo FireMonkey para que todos los desarrolladores puedan aprovechar las nuevas plataformas. Por ejemplo, el dispositivo Microsoft Kinect fue diseñado para Xbox 360 y ahora existe el SDK (kit de desarrollo de software) correspondiente para Windows. Y ya tenemos ejemplos en los que usamos el movimiento para controlar una aplicación de la misma manera que normalmente se usaría un mouse o un teclado.

Cuando creas aplicaciones con muchos gráficos complejos, generas todo un mundo de nuevas interfaces de usuario. Si estamos ante un quirófano sistema windows, encapsulamos su aplicación interfaz de software API de Windows en la biblioteca VCL (Biblioteca de componentes visuales: una biblioteca de componentes visuales que forma parte de las herramientas de desarrollo de Delphi y C++Builder. - Nota ed.), que, por cierto, se puede utilizar más. Y en FireMonkey encapsulamos la API del sistema operativo. Pero hoy manipulamos formas y gráficos de manera mucho más amplia. También puedes agregar propiedades físicas al espacio para animación y efectos especiales. Además, hay una gran cantidad de otras capacidades adicionales para crear interfaces de usuario que implementaremos en los próximos años para diferentes plataformas, dispositivos móviles y tabletas.

Microsoft anunció recientemente información detallada sobre Windows 8, que saldrá al mercado dentro de un año. Apoyaremos estas innovaciones en la biblioteca VCL y la plataforma FireMonkey. Pero Delphi es una herramienta de desarrollo diseñada no sólo para Windows, sino también para Macintosh, iPhone y iPad. También desarrollamos nuestros productos PHP, admitimos jQuery Mobile, utilizamos la API de iOS para desarrollar aplicaciones cliente móviles y creamos aplicaciones PHP del lado del servidor utilizando asistentes y herramientas para generar JavaScript, HTML y hojas de estilo en cascada del lado del cliente. Podemos crear paquetes a partir de aplicaciones PHP y aplicaciones cliente de código nativo para iPhone iOS, y dicho cliente se comunicará con servidor PHP. Y él, a su vez, se comunicará con el servidor de la base de datos y con los servicios web, con todo lo necesario para el negocio.

Entorno de desarrollo RadPHP XE2. Creando una aplicación web móvil
usando componentes jQuery Mobile para iPhone 3G

En otras palabras, planeamos ampliar las capacidades de FireMonkey y VCL, incluida la compatibilidad con plataformas móviles.

KP:¿Podría contarnos más sobre la plataforma FireMonkey?

DI.: Como ya señalé, la biblioteca VCL creada para Windows seguirá desarrollándose y mejorándose. Pero hoy en día, si desea desarrollar aplicaciones comerciales reales, debe crearlas para diferentes plataformas. Para esto está diseñada la plataforma FireMonkey. Admite la creación de interfaces de usuario de alta resolución y alto rendimiento. gráficos 3D, alta velocidad de fotogramas y, lo más importante, utiliza un procesador gráfico para ello.

Puede utilizar estas capacidades al crear aplicaciones científicas, de ingeniería y comerciales. Dichas aplicaciones pueden conectarse a bases de datos utilizando la tecnología dbExpress, aún utilizando componentes no visuales familiares para los desarrolladores, como ClientDataSet o DataSource, usar la tecnología DataSnap, conectarse a cualquier base de datos, servidores SOAP y REST. Puedes crear controles atractivos, botones con cuadros, tablas inusuales y otros elementos de la interfaz, tanto en dos como en tres dimensiones. Puedes cargar un modelo 3D terminado en la aplicación y conectarlo a una forma 2D en la que puedes rotarlo y verlo desde diferentes ángulos. Puede crear un cubo de datos o un gráfico comercial en 3D y rotarlo usando el mouse, el teclado o incluso un dispositivo Kinect, o puede ingresar al cubo y observar sus diferentes superficies desde adentro. Y todo esto se puede hacer utilizando una GPU de alta velocidad. Luego, la misma aplicación se puede compilar para otra plataforma, como Mac OS.

Una aplicación que contiene un cubo de datos giratorio,
colocado en sus bordes

O puedes crear una forma 3D desde cero y usar cámaras y luces para iluminar y rotar partes de la interfaz de usuario. El diseñador de formularios ya tiene un entorno integrado para admitir una interfaz de usuario 3D durante el diseño.

En Windows para trabajar con gráficos bidimensionales alta resolución Puede utilizar bibliotecas Direct2D y, para gráficos tridimensionales, Direct3D. En Mac OS, las bibliotecas Quartz y OpenGL se utilizan para los mismos fines. Para iOS se utilizan las bibliotecas Quartz y OpenGL ES. Pero todo esto está oculto para el desarrollador: utiliza la plataforma FireMonkey, su sistema de coordenadas y su interfaz de programación de aplicaciones, sin pensar en estas bibliotecas, y puede compilar la misma aplicación para diferentes plataformas.

Recordemos qué es VCL. VCL es un contenedor de componentes para la API de Windows. Nos ocupamos de recursos, menús, cuadros de diálogo, colores, estilos, mensajes de Windows. Al ser un contenedor multiplataforma, a diferencia de VCL, FireMonkey conserva los mismos modelos de eventos y componentes, lo que le permite pensar en términos de eventos (por ejemplo, eventos OnClick, OnHasFocus, onMouseDown y onKeyDown), pero maneja eventos de Macintosh o iPhone.

La plataforma FireMonkey también viene con Sistema completo Animación de elementos de la interfaz de usuario. Ciertamente no es un sistema de animación completo al estilo de Pixar, pero permite efectos como animación de mapa de bits, resaltar el enfoque en un elemento de la interfaz de usuario y trabajar con gráficos vectoriales. El desarrollador tiene a su disposición más de 50 efectos visuales: desenfoque, convertir la imagen en blanco y negro, disolver, transiciones, reflejos, crear sombras: todos los tipos de efectos disponibles en los procesadores gráficos modernos, que ahora se encuentran en casi cualquier computadora. Una aplicación creada con la plataforma FireMonkey envía comandos a la GPU, que hace todo el trabajo de mostrar gráficos y crear la interfaz de usuario. Donde UPC Gratis para cálculos y llamadas al sistema operativo. El desarrollador sólo puede colocar los componentes correctamente.

Lo más fundamental de la plataforma FireMonkey es la forma en que construye la interfaz de usuario. Hay instalaciones de alojamiento. gráficos rasterizados en elementos de la interfaz como menús, botones y barras de desplazamiento. En FireMonkey, utilizamos gráficos vectoriales impulsados ​​por GPU para este propósito. Desde una perspectiva de programación, estos siguen siendo los mismos controles, pero todo el trabajo de mostrarlos lo realiza el procesador gráfico. Podemos aplicar estilos a los controles, hacer que la aplicación parezca una aplicación para Mac OS o Windows, crear nuestro propio estilo, aplicar nuestros propios estilos a los elementos de la interfaz (por ejemplo, hacer un botón rectangular o redondo cambiando su estilo en el editor de formularios). ) - para esto Hay un editor de estilo en el entorno de desarrollo. Puedes crear tu propio estilo o puedes cambiar el estilo de una aplicación ya terminada.

Plataforma FireMonkey: herramientas de desarrollo
y plataformas compatibles

Si recuerda, la biblioteca VCL tenía un número limitado de controles: contenedores (es decir, que le permitían colocar otros elementos en ellos), y en FireMonkey cada control es un contenedor. Esto significa que cada control puede contener cualquier otro control. Por ejemplo, los elementos de la lista desplegable pueden contener imágenes, botones, campos de edición y otros controles. También puedes colocar componentes en capas.

El sistema de renderizado de FireMonkey es bastante flexible: puede utilizar las bibliotecas Direct2D, Direct3D y OpenGL y enviar comandos a la GPU. Para lograr lo mismo en VCL, era necesario generar un búfer fuera de pantalla separado, crear una imagen en él llamando a las funciones de la biblioteca de gráficos apropiadas y luego mostrarla en el formulario.

Ejemplos de efectos gráficos soportados por FireMonkey

Si no tienes una GPU, aún puedes aplicar formas 2D o 3D y usar controles de FireMonkey. En este caso, la plataforma FireMonkey utilizará las bibliotecas GDI+ u otras bibliotecas similares y realizará los mismos efectos y animaciones o manipulación de objetos 3D.

Otra característica de FireMonkey es nuevo sistema vinculando elementos de la interfaz con datos, abiertos y flexibles. Hay dos tipos de elementos de interfaz en la VCL: vinculados a datos y no vinculados a datos (por ejemplo, TDBEdit y TEdit). En FireMonkey, cada control se puede asociar con datos de cualquier tipo. Podría ser una expresión simple, un campo de un conjunto de datos, datos de objetos creados por el desarrollador o los resultados de llamadas a métodos.

Además, al crear una aplicación, puede cargar en ella un modelo 3D ya preparado y utilizarlo; estas capacidades suelen ser necesarias tanto en aplicaciones comerciales como de ingeniería. Tenemos un cliente que crea aplicaciones para logística. Tuvieron Sistema de informacion, creado con Delphi, y en él, una aplicación que dibujaba un plan y mostraba información de fuentes de datos. Recientemente hicieron algo interesante: dibujaron un almacén 3D totalmente automatizado en AutoCAD y su aplicación permite ver cómo una carretilla elevadora automática se mueve por el almacén y coloca las mercancías en los estantes. Y ponen datos de las fuentes en la imagen correspondiente.

Ejemplos de cambios de estilos de aplicación

KP:¿Qué formatos de modelos 3D se admiten actualmente?

DI.: En esta versión admitimos la carga de modelos de AutoCAD, Collada (una herramienta de modelado 3D de código abierto). Nota editar.), Maya, un formato OBJ compatible con muchos proveedores de gráficos 3D.

KP:¿Qué otros formatos planeas agregar?

DI.: Planeamos agregar 3DS (3D Studio MAX), SVG (generalmente este formato se usa para gráficos vectoriales 2D, pero a veces para 3D), Google SketchUp. Quizás admitamos otros formatos.

KP:¿El uso de modelos 3D en aplicaciones creadas con FireMonkey requiere una licencia para la herramienta de modelado 3D adecuada?

DI.: No, no lo requiere. Todo lo que hacemos es leer el archivo del modelo. Importamos el modelo, pero no lo exportamos (aunque, por supuesto, puedes escribir una aplicación que guarde el modelo en tu propio formato). No pretendemos ser un fabricante de herramientas de modelado 3D; para ello puede utilizar AutoCAD, 3D Studio Max, Maya o cualquier otra herramienta de modelado 3D e importar los modelos creados a nuestras aplicaciones.

KP:¿Qué rendimiento tienen las aplicaciones creadas con FireMonkey en plataformas de hardware modernas?

DI.: La productividad es bastante alta. Por ejemplo, renderizar una forma 3D con tres esferas y tres fuentes de luz en Macbook Pro Se puede realizar a una velocidad de 100 fotogramas por segundo. O puede llegar a 600; depende de qué estemos haciendo exactamente. Nuevamente, todo depende de la potencia de la GPU.

KP:¿Significa esto que puedes crear juegos modernos usando FireMonkey?

DI.: No posicionamos nuestras herramientas de desarrollo como herramientas para juegos. Sin embargo, aprovechando el alto rendimiento de las GPU modernas, puedes crear juegos usando FireMonkey; después de todo, se crean usando Direct3D u OpenGL.

KP:¿Qué trabajo está haciendo actualmente en el área de soporte al reconocimiento de gestos y otras cosas novedosas? ¿Está disponible ese tipo de apoyo?

DI.: Aún no tenemos soporte para gestos en esta versión. Los controles de gestos se agregarán en una versión futura de FireMonkey, pero mientras tanto puedes usar la compatibilidad con gestos integrada en el sistema operativo.

Mikhail Filippenko, director de Fast Reports, Inc.

K.R.: Ya hemos dicho que la tecnología FireMonkey tiene raíces rusas: sus bases se crearon en nuestro país y luego tanto la tecnología como sus desarrolladores se unieron a Embarcadero. En general, es gratificante ver el crecimiento del componente ruso en RAD Studio y Delphi. Esto incluye las actividades de nuestro centro de desarrollo en San Petersburgo y la contribución de desarrolladores rusos independientes. Por ejemplo, Rad Studio XE2 incluye el generador de informes FastReport, conocido en todo el mundo y muy popular en nuestro país. Es originario de Rostov del Don.

KP: Me gustaría hablar sobre compiladores. ¿Qué tipo de compilador se utiliza al crear aplicaciones para iOS?

DI.: No tenemos nuestro propio compilador Delphi para iPhone o iPad; aún no hemos desarrollado compiladores para los procesadores ARM utilizados en esos dispositivos. Para iOS, utilizamos temporalmente el compilador y la biblioteca de tiempo de ejecución de Free Pascal. Pero estamos trabajando en la próxima generación de compiladores, incluidos los procesadores AWP. Pero existen compiladores para Windows y Mac OS, ya que ambas plataformas de hardware se basan en procesadores Intel.

KP:¿Qué se ha hecho en el campo de la creación de compiladores en los últimos dos años?

DI.: Disponemos de compiladores Delphi de 32 y 64 bits para Windows y Mac OS. Y estamos trabajando en una nueva generación de compiladores Delphi y C++. Todavía son un trabajo en progreso, pero cuando estén terminados, tendremos compiladores Delphi para procesadores ARM, plataformas Android, Linux y todo lo demás. Y tendremos compiladores de C++ de 64 bits para Windows y otras plataformas, compatibles con el último estándar de lenguaje C++ que acaba de adoptar la ISO.

KP:¿Qué está pasando hoy con el soporte de computación en la nube en las herramientas de desarrollo de Embarcadero?

DI.: En RAD Studio XE 2, admitimos mover aplicaciones a la nube de Microsoft Azure o Amazon EC2 mediante Platform Assistant. Y tenemos componentes de servidor para Cloud Storage para Azure y Amazon S3 para almacenar tablas, datos binarios y colas de mensajes. EN versión previa Con RAD Studio XE, también admitimos la implementación de aplicaciones en Amazon EC2, pero carecía de soporte de almacenamiento.

Soporte de computación en la nube en RAD Studio XE 2

KP: Hace dos años habló de la nueva solución All-Access. ¿Qué tan popular fue? ¿Cuáles son sus beneficios para los integradores y desarrolladores de sistemas?

DI.: La solución All-Access y la herramienta en la nube AppWave se utilizan ampliamente en todo el mundo. Están diseñadas para facilitar el uso de aplicaciones propias y de terceros. De hecho, es una solución para administrar licencias y uso de aplicaciones, y es conveniente para grandes compañias. Las empresas más pequeñas que no cuentan con equipos dedicados de personas responsables de administrar aplicaciones pueden colocar la aplicación en un repositorio, seleccionar nombres de usuario de la base de datos y hacer que esas aplicaciones estén disponibles sin tener que recordar dónde. clave de licencia y cuántas licencias hay disponibles. All-Access y el navegador AppWave están diseñados para gestionar tanto el control de versiones como el de acceso.

K.R.: El mercado es tan diverso y los usuarios tan diferentes que es imposible cubrir todas las necesidades con una sola solución. Por eso nos esforzamos por encontrar diversas soluciones de embalaje. Hemos trabajado mucho para unificar los métodos de concesión de licencias, gestión de licencias e instalación de productos. Esta línea de soluciones incluye herramientas de gestión de licencias y aprovisionamiento no sólo para los productos Embarcadero, sino también para cualquier otro producto, incluidos los desarrollos internos de la empresa.

Aún se está trabajando para empaquetar herramientas de desarrollo en kits eficaces para los usuarios. Tenemos All-Access, un superconjunto que combina todos los productos Embarcadero. Si un cliente compra All-Access Platinum, recibe todas las herramientas que se encuentran en Embarcadero. Pero a veces este conjunto resulta redundante; por ejemplo, para los especialistas en bases de datos, hemos creado otros dos conjuntos: DB Power Studio Developer Edition y DB Power Studio DBA Edition. La diferencia entre ellos es que para el desarrollador ofrecemos RapidSQL, una herramienta para desarrollar código de servidor, y para el administrador, DBArtizan integrado, una herramienta de administración de bases de datos, un producto más amplio que RapidSQL. Para profesionales, tenemos las siguientes suites All-Access: una suite que incluye todos los productos, DB Power Studio para desarrolladores, DB Power Studio para administradores, ER Studio Enterprise Edition para arquitectos y cualquier persona involucrada en el modelado. Existen combinaciones para desarrollo de aplicaciones y para administradores. Delphi es una herramienta para desarrolladores y tiene mucho sentido agregarle herramientas de optimización y desarrollo de SQL. Finalmente, DB Change Manager es una herramienta lógica para gestionar la complejidad de los cambios que ocurren en las bases de datos durante su ciclo de vida.

Por lo tanto, All-Access es el líder de una gran familia de diferentes conjuntos de productos.

KP: Si no es un secreto, ¿quién en Rusia utiliza All-Access?

K.R.: Tenemos clientes que compraron All-Access basado en Delphi. Muchos de ellos crean complejos sistemas cliente-servidor con servidor SQL y Oracle, e inmediatamente les gustaron nuestras herramientas de bases de datos multiplataforma. Tenemos una empresa cliente que ha estado trabajando con Delphi desde la primera versión y hace un año pasó de usando Delphi al conjunto de acceso total. Dos herramientas que todos los desarrolladores de esta empresa seguramente utilizarán son Delphi y DBArtisan. Y hay clientes que llegaron a All-Access desde el lado de la base de datos. Su tarea principal es administrar bases de datos, pero en ocasiones también desarrollan aplicaciones. Los clientes que utilizan All-Access incluyen empresas de medios, empresas de ingeniería y otras industrias.

Por otra parte, me gustaría centrarme en las pequeñas empresas. Muy a menudo, en equipos pequeños, el desarrollador hace todo y, a veces, una empresa de este tipo compra grandes conjuntos de productos All-Access para uno o dos desarrolladores. En equipos grandes, no se recomienda que un desarrollador también desempeñe, por ejemplo, el rol de administrador de base de datos, por lo que los conjuntos de productos pequeños suelen ser populares allí, pero en empresas pequeñas esa combinación de responsabilidades es bastante aceptable.

Delphi Architect es un producto muy comercializado que incluye herramientas de modelado y programación. El número de copias vendidas es, sin embargo, menor que el de la versión Delphi Enterprise, pero también grande. Me gustaría señalar que en 2010 resultamos ser el mejor país en términos de volumen de ventas, a pesar de que todos los países atravesaron una crisis. Este crecimiento se debió no tanto a factores económicos, sino al hecho de que la versión de RAD Studio XE, lanzada a finales de 2009, resultó ser muy popular. Y por ahora esperamos un mayor crecimiento de las ventas.

Hemos dado otro paso razonable, que goza de gran popularidad en Rusia. El grado de legalización de las diferentes versiones de nuestros productos es diferente: cuanto mayor sea la versión, más legalizada estará, porque antes software No comprado tan activamente. A partir de RAD Studio XE, la licencia cubre las versiones 2010, 2009, 2007 e incluso Delphi 7, un producto muy utilizado.

Hoy en día, los desarrolladores se enfrentan al hecho de que tienen tanto proyectos nuevos como proyectos de apoyo. Un gran número de proyectos han sido transferidos desde versiones anteriores Delphi a la versión 7 y se mantiene dentro de esta versión, continuando trabajando con recursos relativamente pequeños. Nadie los está trasladando a versiones más nuevas, pero se mantienen en un estado viable. Y ahora le permitimos obtener RAD Studio XE y Delphi 7 por poco dinero (menos que el precio de una licencia de Delphi 7); es decir, legalizamos al desarrollador tanto para la implementación de nuevos proyectos como para proyectos de soporte.

KP:¿Cómo evalúa el estado actual de la comunidad de Embarcadero?

DI.: Esta comunidad es grande y muy exigente. Necesitan todo de inmediato: son desarrolladores. Pero a veces lleva mucho tiempo hacer algo bien.

Hace unos años, tomamos la arquitectura de componentes de Windows y la pusimos en escritorios Linux. Ahora vemos que esta no fue la decisión correcta. La solución correcta es crear una plataforma de aplicaciones. Las aplicaciones, incluso en diferentes plataformas, tienen menús, ventanas, gráficos, acceso a la red y acceso al dispositivo. Diferentes plataformas pueden tener diferentes modelos control de flujo o manejo de excepciones, pero en el código de la aplicación vemos los mismos bloques try. Nuestro trabajo es facilitar a los desarrolladores la creación de aplicaciones empresariales y su compilación para las plataformas en las que se pretende utilizar, independientemente de cómo esté estructurado el conjunto de instrucciones de los procesadores correspondientes y qué otras características de estas plataformas. Y FireMonkey es exactamente lo que necesitas para resolver este problema.

KP: Si una empresa crea un nuevo dispositivo y quiere que sea compatible con FireMonkey, ¿será posible?

DI.: Con la nueva generación de compiladores, que tendrán un front-end independiente de la plataforma y un back-end dependiente de la plataforma, esto será bastante posible. Mientras tanto, para cada sistema operativo, creamos un compilador y una biblioteca de tiempo de ejecución desde cero.

Cualquier dispositivo nuevo y moderno, por regla general, tiene un gráfico. interfaz de usuario(muchos de ellos tienen procesador de doble núcleo y GPU) y SDK estándar para desarrolladores. Esto facilita la creación de compatibilidad con dispositivos en FireMonkey. Si el nuevo dispositivo solo tiene bibliotecas para gráficos bidimensionales como Quartz, podremos admitir dicho dispositivo en FireMonkey, pero esto llevará aproximadamente varios meses. Sin embargo, mucho depende de la plataforma: no todas las plataformas admiten todas las funciones; por ejemplo, iOS no tiene menús y Cuadros de diálogo y no podrá colocar los componentes correspondientes en los formularios de dichas solicitudes.

KP:¿Ha cambiado algo en la política de trabajo con socios? ¿Qué se está haciendo para aumentar la proporción de usuarios de sus productos? ¿Qué se está haciendo en Rusia?

DI.: Nuestro ecosistema de socios es amplio: hay cientos de fabricantes de herramientas y componentes que no se encuentran en nuestros productos y tenemos un programa de socios tecnológicos. Por lo tanto, los desarrolladores disponen de una amplia gama de componentes, tecnologías y herramientas. Y las soluciones que crean para sus clientes son mejores que si usaran solo nuestros productos. Y para las ventas tenemos oficinas en muchos países, revendedores y distribuidores.

K.R.: Lo importante para nosotros no es el número de socios, sino la calidad del trabajo de cada socio específico. Por ahora, queremos centrarnos en trabajar estrechamente con los socios existentes, aunque el grupo de socios sigue abierto. Tenemos muchos socios y debemos ayudarlos en términos de tecnología. Trabajamos con desarrolladores y ellos saben lo que quieren y lo que hay disponible en el mercado, y las capacidades de los socios deben estar a la altura.

Contamos con socios comerciales que han invertido seriamente en Embarcadero como línea de negocios: tienen especialistas capacitados que comercializan nuestros productos, empleados dedicados responsables de esta línea y monitorean lo que sucede con nuestros productos, lista de precios y marketing. Naturalmente, tienen más éxito en términos de ventas de nuestros productos que las empresas que venden nuestros productos ocasionalmente.

KP: David, Kirill, muchas gracias por la interesante entrevista. ¡Permítame, en nombre de nuestra publicación y de nuestros lectores, desearle a su empresa más éxito en la creación de las increíbles herramientas que tanto necesitan los desarrolladores!

Preguntas de Natalia Elmanova

FireMonkey es la tecnología central del "nuevo Delphi". Cuéntenos sobre los objetivos, capacidades y aspectos técnicos de esta biblioteca fundamentalmente nueva. Después de un tiempo, mirando hacia atrás, ¿qué tan difícil y justificada fue su negativa a seguir desarrollando el popular VCL?

Fue elegido como la dirección principal para el desarrollo de la tecnología Delphi para lograr un objetivo específico: el desarrollo multiplataforma desde un único entorno, basado en una única base de código fuente, sin la necesidad de una recapacitación radical de los desarrolladores. En el marco del ahora clásico y superpopular VCL, esto era imposible; su conexión con WinAPI era demasiado estrecha, se podría decir, "a nivel genético".

Los componentes de VCL no tenían una capa "abstracta" entre el nivel funcional en términos de interfaz y los mecanismos para mostrarlos. Nivel funcional— cómo se comporta como control, a qué eventos reacciona, qué tipo de interacción del usuario proporciona. Mostrar— llamar a los métodos de visualización orientados a plataformas como una determinada imagen formada por objetos rasterizados y primitivas vectoriales. FireMonkey inicialmente implementó el principio de dividir estrictamente el control en dos componentes: "comportamental" y "visual".


Vsevolod Leonov, Tecnologías Embarcadero

El primero generalmente no repetirá ni siquiera los conceptos básicos de VCL, sino la esencia de la programación orientada a objetos. Un componente es una clase; las clases de componentes forman una jerarquía donde se pueden distinguir familias y módulos. La clase de un componente está vagamente relacionada con cómo se representa.

La “imagen” visual se forma dinámicamente; no está escrita rígidamente en la clase de componente. La imagen o "estilo" en FireMonkey se carga en el componente cuando se inicia la aplicación. Tenemos algún tipo de marco funcional para el componente y la “piel” o “revestimiento” se puede cambiar, pero ¿por qué? Esto es para que las aplicaciones FireMonkey parezcan auténticas en cualquier plataforma: Windows 7, Windows 8, Mac OS, iOS y, en un futuro próximo, Android. Esto es algo que la estructura de clases monolítica tradicional de la VCL no podía proporcionar.

Aquí el enfoque tecnológico juega un papel especial. En principio, puede tomar la biblioteca VCL y “rellenarla” con WinAPI y todas las demás llamadas de plataforma posibles. Esto todavía se puede hacer en un subconjunto muy limitado de componentes, pero la VCL contiene varios cientos de componentes, por lo que este enfoque podría simplemente "matar" la VCL. Se decidió no tocar VCL, sino desarrollar nuevas capacidades en una nueva plataforma: FireMonkey. Esta tecnología Incluso tiene cierta elegancia técnica: en el momento de ensamblar el proyecto para una plataforma específica, el IDE de Delphi conecta el compilador requerido y los componentes de la interfaz reciben un estilo de plataforma.

Para el usuario, esto es un clic del mouse y el mismo código fuente; para Delphi, son muchos años de arduo trabajo por parte de los desarrolladores para crear una biblioteca multiplataforma de este tipo.

Cuando quedó claro que FireMonkey se presentaría como una nueva plataforma separada, hubo que elegir la estrategia de coexistencia correcta: Embarcadero no quería impactar negativamente a los usuarios de VCL de ninguna manera. Por lo tanto, hemos elegido el siguiente plan: VCL permanece ideológica y arquitectónicamente estable para garantizar la mayor compatibilidad posible, facilitando la migración de proyectos a versiones modernas. El desarrollo de FireMonkey seguirá un camino natural y paralelo, independientemente de la VCL.

El punto débil de esta solución es la migración bastante problemática de VCL a FireMonkey dentro del mismo proyecto. Pero para un nuevo proyecto, un desarrollador puede elegir FireMonkey para garantizar la multiplataforma de su aplicación resultante. Después del lanzamiento de XE4 con soporte para iOS, ya podemos hablar de las brillantes ventajas competitivas de Delphi para empezar. desarrollo móvil en el entorno corporativo, que se incrementará después de la implementación del soporte planificado para Android.

Por lo tanto, no existe un "rechazo" evidente al desarrollo de VCL como tal. En las nuevas versiones, también se desarrolla la parte VCL de Delphi. Esto incluye soporte de 64 bits, la introducción de estilos para componentes visuales, la implementación de un mecanismo para conexiones dinámicas flexibles o "enlaces" y la inclusión de la biblioteca FireDAC para trabajar con bases de datos en proyectos VCL. Es sólo que, en comparación con el gigantesco salto cualitativo realizado por FireMonkey, el progreso en la VCL parece algo mediocre. Pero, sea como sea, VCL es una parte integral de Delphi y lo seguirá siendo durante muchos años. Aunque la evolución de las plataformas y la situación actual en el ámbito de los SO para sistemas de escritorio y los dispositivos móviles son tales que el futuro definitivamente es para FireMonkey.

En la entrevista ya hablamos sobre la compatibilidad con iOS, hablemos a nuestros lectores sobre la compatibilidad con otras tecnologías más recientes del último RAD Studio XE4, por ejemplo, como Windows 8 y WinRT, sistemas de 64 bits, MacOS, etc. ¿Puedes enumerar qué más puedes ofrecer al programador moderno mimado por las innovaciones?

Lo más probable es que un programador moderno no se "mime" con las innovaciones. Para proyectos mayores cualquier “innovación” a menudo resulta en una cantidad gigantesca de trabajo.

Por ejemplo, todos esperaron mucho tiempo, muchos inmediatamente se apresuraron a traducir sus códigos al nueva plataforma. Pero resulta que ni siquiera los equipos muy profesionales están preparados para ello. Compilar código de 64 bits no significa trabajar. Los “pecados de la juventud” comenzaron a surgir, por ejemplo, utilizando instrucciones que asumían un tamaño de dirección de 4 bytes. Falta de cultura de prueba, sumada a la falta de preparación tecnológica para implementar este proceso en poco tiempo.

Y aquí, cuanto más grande es el proyecto, medido, digamos, por el número de líneas de código fuente, más cuidadosos y equilibrados son los programadores con varios tipos de innovaciones que van desde la aparición de un "botón" en la interfaz hasta el "azúcar sintáctico". en el compilador.

Uno de estos logros “problemáticos” fue el lanzamiento de Windows 8. Personalmente, como usuario de PC y simplemente como especialista en TI moderno, estoy encantado con Windows 8. Pero para los desarrolladores a quienes se les envió como carga un lote de computadoras con Windows 8 con especificaciones para el desarrollo bajo el nuevo sistema operativo, esto significa ciertas dificultades.

Intentamos brindar soporte de desarrollo para la nueva interfaz de este sistema operativo de la manera más cómoda y sencilla posible. Por lo tanto, se han introducido estilos especiales tanto para VCL como para FireMonkey, y el programador puede reconstruir la interfaz de la aplicación o crear una nueva aplicación que será indistinguible de la "nativa" de Windows 8. apariencia. Por supuesto, existe la necesidad de soporte "nativo" para Windows 8 a través de WinRT. Pero esto se ve afectado por la priorización de objetivos en condiciones modernas. Mac OS, iOS, Android en un futuro próximo aún no nos permiten hablar de soporte completo para WinRT en un futuro próximo.

El objetivo estratégico de Embarcadero, por supuesto, es la multiplataforma. El lanzamiento de RAD Studio XE4 fue clave, principalmente debido a su soporte para iOS. Un programador existente que utilice VCL puede comenzar a desarrollar para iOS en cuestión de horas. Incluso simple aplicación movil puede transformarse instantáneamente en un poderoso proyecto que opere dentro de la infraestructura existente. No creas que es fácil nuevo compilador a FireMonkey y un nuevo estilo para garantizar el cumplimiento de la interfaz de iOS.

Esto incluye un nuevo diseñador visual, soporte integrado para varios factores de forma, bibliotecas de acceso a datos, incluido el nuevo FireDAC, y tecnología LiveBindings para una vinculación flexible y dinámica con datos corporativos. Todas estas innovaciones llegan simultáneamente: para Windows, Mac OS e iOS. Sistema operativo Mac OS no se está desarrollando tan rápidamente, por lo que no hay problemas como la transición de Windows 7 a Windows 8. pero aparecieron pantallas retina, y esto requirió una atención especial. Ahora cualquier aplicación MacOS creada en Delphi XE4 incluye automáticamente dos estilos: "normal" y "alta definición".

Eso. la misma aplicación puede tener la misma interfaz “nativa” de alta calidad en cualquier computadora de escritorio de Apple.

Embarcadero no quiere “sorprender”, “asombrar” o incluso “entretener” a los desarrolladores con sus nuevos lanzamientos innovadores. Más bien al contrario, el ámbito TI ya está lleno de diversas sorpresas: nuevos dispositivos, nuevas plataformas, nuevos usuarios, sus nuevas necesidades, nuevos escenarios de interacción. Agregue a esto nuevas tecnologías de desarrollo de software y los programadores simplemente no tendrán tiempo para crear sistemas nuevos y existentes; todo lo que harán es migrar de un entorno a otro, de una biblioteca antigua a una nueva, de un idioma a otro.

Pero no profesamos rechazo a todo lo nuevo. Solo queremos garantizar la continuidad de todo: código, interfaz, proyecto e incluso habilidades profesionales cuando aparezcan nuevas plataformas y dispositivos. Se podría decir que estamos luchando contra un conservadurismo malsano con respecto a las nuevas plataformas a través de un conservadurismo saludable en las herramientas de desarrollo. No espere productos exóticos, lenguajes de programación no estándar o herramientas de desarrollo extravagantes de Embarcadero.

Con nosotros siempre encontrará desarrollo visual, lenguajes clásicos, código "nativo" y permitirá que las plataformas de destino para sus aplicaciones, creadas de la misma forma clásica probada, sean nuevas.




Arriba