El desarrollo de software es un asunto complicado. Cada proyecto es principalmente el concepto y las personas que dan vida a este concepto. Los plazos, los recursos y, por supuesto, las tecnologías, suelen definirse a posteriori. Pero eso no implica que la elección de las tecnologías sea lo menos importante. Hoy no vamos a diseccionar aspectos del proyecto como el equipo y lo que puede hacer. Creo que todo el mundo se da cuenta de que, para que algo funcione, es imprescindible contar con personas expertas. En cambio, hoy hablaremos de cómo (no) elegir una pila tecnológica para su proyecto.

A la hora de decidir las tecnologías principales que se utilizarán en un proyecto, el lado empresarial de las cosas exige que conozca las respuestas a estas preguntas:

  • ¿Qué problemas debe resolver su proyecto?
  • ¿Cómo va a crecer con el tiempo?
  • ¿Cuántos recursos se necesitarían para ponerlo en práctica y mantenerlo?
  • ¿Existen tecnologías futuras más adecuadas para su proyecto?
  • ¿Existen soluciones ya hechas?
Problemas

Considere el hecho de que diferentes problemas requieren diferentes instrumentos. Por eso es crucial entender la lógica empresarial que hay detrás de una aplicación antes de hacer una elección definitiva de la pila tecnológica. Por ejemplo, no utilizará Python cuando desarrolle un sitio web promocional. Utilizará CMS como WordPress, Joomla, Drupal, NetCat, HostCMS, porque es gratuito, sencillo, cómodo, eficiente en cuanto a tiempo, permite varias opciones de diseño y no requiere la ayuda de expertos.

Escalabilidad

Puede pensar que una elección afortunada va a hacer que su aplicación dure y florezca para siempre. Algunas tecnologías pueden realmente procesar los datos de forma impecable, pero sólo hasta que la carga no sea demasiado elevada. Pero cuando una aplicación se expande y gana cientos de miles de nuevos usuarios, puede que ya no sea tan estable.

La escalabilidad se refiere básicamente a la capacidad de una aplicación web para acomodar grandes cantidades de peticiones cuando el número de usuarios crece de forma significativa.

Antes de elegir la pila tecnológica perfecta según sus necesidades, debe evaluar la escalabilidad por adelantado. Al hacerlo, confíe en los ejemplos ya existentes de por qué una tecnología concreta es escalable.

Recursos

Algunas tecnologías son demasiado caras, o los desarrolladores que se conocen son demasiado difíciles de encontrar. Por eso algunos recurren a tecnologías baratas como Mendix. Sin embargo, lo que no tienen en cuenta es el reto que supone mantener esa tecnología más adelante.

Durante el proceso de desarrollo, siempre hay que buscar el equilibrio perfecto entre coste, plazos y calidad. La mayoría de las veces esto lleva a los desarrolladores a sacrificar algún sistema de seguridad potente en una tecnología en nombre de la que es más rápida y barata de aprovechar.

Progreso

Por supuesto, siempre debe recordar que la infotecnología cambia cada día, y que lo que se consideraba innovador hace 5 años está ahora a punto de extinguirse cuando hace un mes se ha lanzado algo más novedoso

Cuando salió Kotlin, muchos desarrolladores de Java quedaron sorprendidos por lo rápido y fácil que es hacer aplicaciones para Android con la nueva tecnología. Por otro lado, las tecnologías más nuevas suelen tener una comunidad menor y una documentación más pobre en comparación con los lenguajes y marcos más antiguos.

Soluciones llave en mano

Si su concepto no es del todo nuevo, es probable que haya una solución lista en la web, que sólo hay que coger y utilizar. Sin embargo, existe la posibilidad de que dicha solución esté en otro lenguaje de programación, tenga una documentación o una comunidad pobre, o haya un puñado de desarrolladores capaces de utilizarla en un proyecto.

Pero también hay algunas preocupaciones desde el punto de vista técnico:

Imagine que tiene que elegir una pila tecnológica para construir una aplicación web desde cero. Lo mejor que puede hacer es optar por la solución más sencilla y utilizar un CMS (sistema de gestión de contenidos), al menos parcialmente. Suponemos que elige WordPress como el más popular de ellos. Lo utilizaremos como ejemplo en los siguientes párrafos.

Dificultad de desarrollo

WordPress no es una tecnología difícil ni mucho menos. Hace la mayor parte del trabajo rutinario por usted. Así, la creación y edición de las páginas web es rápida y fácil, incluso cuando la aplica un desarrollador no senior. Y como ventaja: se entrega de forma gratuita. Así que esta casilla está marcada.

Soporte y documentación

El desarrollo de esta tecnología sigue en marcha. Paso a paso, sus creadores implementan características de lujo como la asincronía y el procesamiento de transacciones. Las características más antiguas también son soportadas y mejoradas, y la documentación es amplia. No habrá ninguna situación en la que no pueda averiguar cómo hacer algo. Compruébelo.

Funcionalidad

Un aspecto importante pero no el más fuerte de WordPress. Puede manejar mucho, pero hay soluciones superiores para cualquier propósito presentes en el mercado. Si no se tiene en cuenta la facilidad de desarrollo, WordPress es una solución bastante débil por sí misma.

Personalización

En primer lugar, WordPress es un CMS. Por supuesto, no le va a dar tantas oportunidades de expresar su creatividad como cualquier framework y especialmente lenguaje de programación único. Pero incluso ahí tiene algunas opciones. Hay temas y maquetas ya hechos, de pago o gratuitos, sólo tiene que encontrar el que más le convenga.

Adaptabilidad

Un sitio web de WordPress se verá igual de bien en un ordenador de sobremesa y en un dispositivo móvil, y lo mismo ocurre con el rendimiento. No es el CMS más rápido, pero no le decepcionará si alguien intenta acceder a su sitio web desde el smartphone. Consulte

Seguridad

Hay formas de traspasar las defensas de WordPress. En este caso, versátil significa vulnerable. Puede tropezar accidentalmente con un paquete o un tema que tenga algún tipo de puerta trasera. Puede ocurrir con cualquier CMS y en todos los lenguajes de programación, pero esos tienen un montón de paquetes casi clásicos comprobados. Y WP no tiene muchos de esos.

Carga

Y aquí está nuestro elefante en la habitación. Elegimos WordPress para nuestro sitio web porque sabíamos que no es un portal de noticias ni un medio social. Sin embargo, es una solución decente para un sitio web corporativo. Si no tiene varios millones de usuarios al día, está bien con WP. Pero si su sitio web va a soportar una carga extra, tenga en cuenta su elección de pila tecnológica.

Imagínese que aún así ha conseguido crear un sitio web de alta carga con WordPress. Se verá y se comportará bien hasta la primera prueba de rendimiento. En cuanto la carga del sitio web llegue a cifras algo reales, primero creará un frustrante cuello de botella, y luego simplemente se colgará.

De hecho, puede desarrollar prácticamente cualquier cosa utilizando cualquier tecnología si se esfuerza lo suficiente. Puede variar en algunas cualidades, pero sigue siendo posible. No sólo se gasta una cantidad diferente de tiempo y dinero en proyectos con diferentes pilas tecnológicas, sino que también se obtiene una pieza de software completamente diferente aunque lleve la misma idea.

Pero quizá sea una exageración. Decir que una elección tecnológica equivocada arruinará su proyecto sería probablemente un error. Hay muchos más aspectos en el desarrollo de software

Incluso una tecnología inadecuada puede dar buenos resultados si está en las manos adecuadas. Y un mal equipo puede hacer fracasar el proyecto más destacado. El desarrollo de software no consiste únicamente en aplicar tecnologías. Se trata de resolver problemas. Y las tecnologías por sí solas no los resuelven. Las personas lo hacen.