Tengo buenas noticias para ti, ¡el futuro del desarrollo de software ha llegado! Bueno, para ser precisos, la próxima gran cosa posible en el futuro del desarrollo de software está aquí … nuevamente.
Table of Contents
Funciona en cualquier lugar, solo agregue RAM
Tengo este bloqueo mental sobre el nombre Electron. No estoy del todo seguro de por qué es así, pero cada vez que trato de recordar el nombre de este marco web ubicuo, mis pequeñas celdas grises gritan “Eclipse” y, por más que lo intento, no puedo evocar el nombre correcto en el momento apropiado. durante la charla de ida y vuelta de un seminario web.
Creo que tengo una teoría sobre por qué está sucediendo esto; mi mente inconsciente está tratando de evitar que cruce al lado oscuro para usar Electron para crear aplicaciones multiplataforma.
¿Qué hay de malo en usar Electron?
Mira, no hay nada de malo en usar Electron como tal. De hecho, usé Electron y produje una aplicación que era, de hecho, un sitio web encapsulado por el marco y el tiempo de ejecución de Electron. Pero, dicho eso, es un comensal voraz. Consumirá cada parte de los recursos de CPU y RAM de su máquina si se deja en sus propios dispositivos. Si no me cree, haga una búsqueda rápida en la web de “problemas de electrones”.
Las ventajas de Electron son que puede ser una ruta rápida al mercado. Si tiene una aplicación web, no es una tarea enorme envolver ese sitio web o aplicación web con el marco Electron. Además, implementa un sistema de actualización automática, lo que significa que puede lanzar nuevas versiones y mejoras con una fricción bastante baja.
Un desarrollador web no es necesariamente un desarrollador de aplicaciones.
Surgen un par de problemas. Detrás de la escena de casi todas las aplicaciones de Electron está la bestia que es Node.js, el portador de NPM, el Node Package Manager. El NPM es un excelente repositorio de complementos, componentes, módulos y Nodestuffs que ahorran tiempo. Los desarrolladores de Electron / Node pueden obtener un paquete para casi todo. Si es un desarrollador web que tiene algún conocimiento de JavaScript, el NPM puede permitirle incorporar componentes para ahorrarle mucho trabajo.
¿No es el uso de NPM como instalar componentes Delphi?
Bueno, si lo es. Excepto con una diferencia muy específica: Delphi se compila en código nativo con un compilador optimizador. Si incluye paquetes de 1000 nodos, ya sea deliberadamente debido a alguna forma de optimismo excesivo, o inadvertidamente debido a que un paquete tiene una dependencia de otro que depende de otros cinco que dependen de otros seis paquetes, entonces tendrá 1000 paquetes de nodos en su incluso si todo lo que hace es mostrar una página que dice ” hola mundo ” en magenta parpadeante.
Si hace lo mismo en una aplicación Delphi, obtendrá una gran cantidad de basura innecesaria incluida, pero el compilador y el mecanismo de enlace de Delphi excluirán una gran cantidad de cosas que ingresó pero que en realidad no se acostumbran. No puede protegerte totalmente de ti mismo y de las formas en que se acumulan los componentes en el fregadero de la cocina, pero definitivamente te evitará crear una aplicación Gigagbyte cuando solo necesita unos pocos MB como máximo.
El código bajo es la próxima gran cosa
Correcto. Aplicaciones de Low Code . Ha visto algunos de ellos y, sí, pueden ser excelentes para crear aplicaciones, generalmente respondiendo preguntas en un asistente o arrastrando y soltando bloques visuales predefinidos para dibujar el programa en la pantalla como un diagrama de flujo. con esteroides.
Sí, bien hechos y en campos de implementación estrechos, estos lenguajes de programación dibujados por usted mismo pueden ser muy útiles, especialmente en el sector educativo, donde pueden ayudar a los principiantes a visualizar el funcionamiento del flujo de un programa.
Incluso tenemos un asistente de código bajo de FireMonkey para RAD Studio, por lo que no es una idea totalmente horrible.
Pero espera un minuto …
¿Es el desarrollo visual algo nuevo?
Tengo la edad suficiente para haber sido un programador de computadoras que aprendió a programar en las décadas de 1970 y 1980. Escribí mi primera solicitud de pago, un banner de texto publicitario, en 1979. Era texto porque todoera texto. Sin mouse, sin punteros, sin ventanas, sin directorios / carpetas, sin MS-DOS o Windows. Continué escribiendo COBOL para ganarme la vida y luego, más tarde, los programas en C, todo lo hice de la ‘manera difícil’ con Vi, Edit o EdLin (sí, realmente sé cómo salir de VIM). Durante los primeros tres meses como desarrollador COBOL, los programadores junior tuvimos que escribir nuestros programas en hojas de codificación COBOL, literalmente trozos de papel escritos con un bolígrafo. Llevábamos batas blancas de laboratorio porque la informática era una ciencia y los científicos trabajaban en laboratorios. Luego obtuvimos ‘terminales’ para que pudiéramos escribir el código en nosotros mismos. No más batas de laboratorio, aunque de repente tuvimos que usar trajes de tres piezas ya que ahora éramos un “negocio” y la gente de negocios usaba traje.
Así fue, con poca variación, durante los próximos 12 años aproximadamente. En serio, el único “desarrollo visual” fue un diagrama de flujo dibujado a mano.
Microsoft va al rescate
Luego apareció Visual Basic. Fue genial, pero fue tan lento como una babosa en un festival de cerveza y se compiló en una capa de pseudocódigo en lugar de la supervelocidad del ensamblaje nativo o los programas C. Esta naturaleza interpretativa también generó un problema llamado “infierno de DLL” donde los tiempos de ejecución que hacían posibles los programas diminutos de Visual Basic tenían múltiples versiones que eran incompatibles entre sí y daban lugar a puntos de entrada de funciones faltantes que eran diabólicamente difíciles de resolver. Además, VB se basó mucho en los controles VBX y OCX que agregaron funcionalidad, a menudo para hacer cosas bastante comunes pero necesarias que faltan en el tiempo de ejecución, pero también podrían ser diferentes de las esperadas por su aplicación, con frecuencia en formas que eran fatales para su programa deficiente.
¿No se parece mucho a la situación con Electron? También suena un poco a los primeros días de Dot Net: “ esta aplicación requiere Dot Net Runtime XYZ, descárgala ahora ”, lo que significaba una descarga de 500 MB; puede iniciar la descarga con seguridad e ir a almorzar mientras lo hace.
Internet es solo un bebé
Su programa VB podría ser realmente pequeño. Pero esa pequeña aplicación en realidad estaba aprovechando una enorme instalación monstruosa del tiempo de ejecución de Visual Basic y muchos artefactos de instalación de VBX / OCX. Esto fue cuando los módems se consideraban rápidos si pasaban a 56K en una línea telefónica estándar. Si no tuvo suerte, su módem era solo una caja de 1200/1200 o 2400 velocidades. Cinco megabytes fue una descarga lenta, tediosa y frustrante, especialmente si tu mamá tomó el teléfono para llamar a la tía Gertrude a la mitad.
Un anuncio de revista cambió mi vida
Entonces, un día en 1995, estaba mirando una revista de computación (que en realidad estaba impresa en papel real, ee, esos eran los días) y vi un anuncio de este nuevo sistema llamado Delphi que le permitiría crear sus programas. arrastrando y soltando elementos visuales en ‘formularios’, un poco como lo haría en Visual Basic, excepto que se basaba en un compilador y enlazador de optimización increíblemente rápidos que podían producir código nativo sin requisitos de tiempos de ejecución florecientes y, en efecto, inmune al infierno de DLL que me había acosado – y muchos miles de otros – trabajando con Visual Basic.
Pedí una copia de Delphi 1 el día de su lanzamiento. Todavía tengo el recibo.
Hola mundo de la manera low code – en la década de 1990
Entonces, con este nuevo Delphi, tuvo que tomarse un tiempo para aprender Pascal. Pensé que sería un poco difícil escalar, pero resultó que no era muy diferente de BASIC o C. De hecho, tenía la facilidad de uso de BASIC con todo el profesional, cerca de la potencia metálica de C mientras evitaba muchas de las alucinantes funciones esotéricas de ambos.
Para crear un programa que mostrara una ventana básica con un botón que decía “hola mundo” cuando hacía clic en él, se necesitaba una línea de código escrito. Visual Basic fue similar, hasta ahora todo bien.
Luego compilé la aplicación Delphi y me di cuenta, al ejecutarla, que se iniciaría desde cualquier lugar de la computadora, o desde la computadora de cualquier otra persona, sin tener que instalarla primero.
En ese entonces no teníamos unidades USB. El disquete todavía dominaba el mundo como la herramienta preferida para tomar un programa que escribiste en una computadora e instalarlo en otra. Podría copiar la aplicación en el disquete y luego llevarla a la computadora de un colega y ejecutarla desde el disquete y todo esto sin instalar nada en absoluto en su máquina. No fue solo un código bajo, también fue una instalación cero.
Se podía no hacerlo con un programa de Visual Basic menos que la otra máquina tenía el tiempo de ejecución de Visual Basic instalado.
El código bajo, ningún método de instalación todavía funciona hoy para Delphi
Viento hacia adelante un par de décadas. Hoy tengo una aplicación cliente-servidor bastante popular que es bastante completa para el mercado objetivo y está repleta de funciones. Se conecta a una base de datos MySQL y “habla” a un servicio de Windows escrito a medida (en Delphi, por mí) para la clasificación de datos y la concesión de licencias.
La aplicación, completa con recursos gráficos compilados de múltiples resoluciones, acceso MySQL nativo directo compilado, cifrado, PDF y generación de vista previa de informes, repleta de funciones, se compila en un tamaño de aplicación final de 10 MB. DIEZ megabytes.
La parte del servidor es de solo 917kb. Sí, menos de un megabyte .
Puede ejecutarlo todo desde una memoria USB, ya que aún no requiere instalación para el lado del cliente.
Tu aplicación moderna es un monstruo hinchado
Compare mi aplicación Delphi de diez megabytes con algunos de los nuevos favoritos del mundo del código bajo, especialmente Electron, y verá que Delphi, el niño del código bajo original, todavía tiene muchos trucos. Es el mismo conjunto de trucos que siempre ha tenido en su repertorio: desarrollo sencillo y rápido basado en componentes, un compilador vertiginosamente rápido, compilando en código de nivel nativo que produce aplicaciones sólidas que se ejecutan y siguen funcionando mientras el sistema operativo y el hardware evoluciona.
¿Delphi está pasado de moda?
Bueno, RAD Studio Delphi no se queda fijo en los felices días del boom tecnológico de los 90; Además de la obvia modernidad del IDE, RAD Studio agrega ahora el FireMonkey FMX Low Code Wizard para darle una ventaja en el trabajo de burro, el REST Debugger para mantenerse al día con el mundo moderno de consumir servicios en línea, más y más implementación objetivos como iOS, Android y Linux y también la Web. El mercado de componentes de terceros sigue siendo fuerte con algo disponible para casi cualquier cosa que pueda desear. Pero, mejor aún, el compilador y el enlazador se aseguran de que, a diferencia de la pobre lista de paquetes de Node de Electron, solo está ingresando el código real que se puede ejecutar, no cualquier cosa y todo solo porque se hace referencia a nada más que un archivo de inclusión.
El futuro del desarrollo de software
El futuro del desarrollo de software parece que podría incluir algunas características de “IA inteligente” desconcertantemente precisas, como las que se encuentran en fase beta en este momento para el proyecto Copilot . Copilot trata de tratar de adivinar qué código está tratando de crear y luego intentar escribirlo por usted en función de lo que se entrenó el aprendizaje automático, en su mayoría extraído de repositorios públicos.
Ya se ha topado con un poco de agua caliente por ser demasiado bueno para regurgitar el código de otra persona textualmente y por sugerir un texto de licencia que resultó ser una licencia perfectamente buena pero para el contexto equivocado en el que estaba trabajando el desarrollador de la aplicación.
¿Alguna vez seré reemplazado por un programador de inteligencia artificial que ejerza habilidades de codificación de aprendizaje automático? Quizás. Aunque he escuchado esto antes, a lo largo de las décadas he trabajado en la industria. La realidad es que es mucho más probable que sea reemplazado por la subcontratación a algún país donde el costo de vida es lo suficientemente bajo como para que la disparidad en lo que están preparados para trabajar sea demasiado grande para que yo pueda competir.
Sin embargo, si usan Electron … predigo que el cliente volverá … eventualmente …
RAD Studio Delphi es la forma más rápida y eficiente de crear aplicaciones con el mínimo esfuerzo. Tome sus ideas y conviértalas en realidad descargando una versión de prueba hoy.
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition