user_mobilelogo
  • Banner_Videojuegos_2018_Viveinternet.jpg
    https://www.viveinternet.es/images/headers/Banner_Videojuegos_2018_Viveinternet.jpg
  • Banner_Taller_WebVR_2018.jpg
    https://www.viveinternet.es/images/headers/Banner_Taller_WebVR_2018.jpg
  • Banner_Taller_Croma_2018_v2.jpg
    https://www.viveinternet.es/images/headers/Banner_Taller_Croma_2018_v2.jpg
  • 025_header_fake_news_2018.jpg
    https://www.viveinternet.es/images/headers/025_header_fake_news_2018.jpg
  • 029_header_conv_compet_digitales_2019.jpg
    https://www.viveinternet.es/images/headers/029_header_conv_compet_digitales_2019.jpg
  • 027_header_semanas_ciencia_2018.jpg
    https://www.viveinternet.es/images/headers/027_header_semanas_ciencia_2018.jpg
  • 024_header_charlas_online_2018.jpg
    https://www.viveinternet.es/images/headers/024_header_charlas_online_2018.jpg
  • 017_header_ojito_con_la_red.jpg
    https://www.viveinternet.es/images/headers/017_header_ojito_con_la_red.jpg
  • 028_header_OCTSI.jpg
    https://www.viveinternet.es/images/headers/028_header_OCTSI.jpg

tic tip codigo vs terceros-4-10-2014Considera programar tú mismo. Imagen: FlavorTech1991

Abunda en Internet el código desarrollado por terceros, empresas o personas, que lo ofrecen con carácter gratuito o de pago para que lo incorpores como complemento o extensión a tus propios desarrollos. ¿Pero es esto mejor que hacer tu propio desarrollo?

Por qué código de un tercero

La primera ventaja que nos debe venir a la cabeza es que ahorras tiempo. Evidentemente, incorporar a tu programa una librería ya existente y probada puede serte de gran ayuda para cumplir un plazo. Es muy popular esta solución en el mundo de las webs. Por ejemplo, los populares CMS Joomla o WordPress, cuentan con un amplísimo conjunto de extensiones (Joomla) o plugins (WordPress) desarrollados por una inmensa comunidad que incluye a empresas especializadas, profesionales independientes y voluntarios que ofrecen los complementos gratis, por venta o por suscripción temporal.

Si, por ejemplo, te han encargado el desarrollo de una herramienta para anunciar y gestionar eventos con inscripciones, número máximo de plazas, cancelaciones, etc., en una web, vas a tardar menos de una semana en tener la solución al gusto exacto del cliente. Si, por el contrario, optaras por desarrollarla tú mismo, seguramente tardarás un mes o más, depuración aparte.

Otra gran ventaja: vas a evitar errores. Si desarrollas tú, sabes que cuando pongas el producto en manos del cliente y tu código sea sometido a una verdadera prueba, los errores comenzarán a aparecer. Habías hecho mil y una pruebas y estabas convencido de que estaba todo perfecto. Pero no hay ninguna prueba mejor que poner el producto en manos del cliente. Puedes quedar mal ante él y las correcciones te consumirán más tiempo, por el que no vas a cobrar.

El código de terceros, generalmente, tiene ya una larga vida. Muchas versiones anteriores le han ayudado a madurar. Las opiniones de sus numerosos usuarios han sido tenidas en cuenta, los errores reportados por éstos, corregidos.

Más. Lo normal es que cuentes con actualizaciones con mayor o menor frecuencia y soporte. Esto es así en empresas con un producto consolidado y una amplia comunidad de usuarios. En torno al producto, además de un foro para que los usuarios compartan opiniones, las empresas o profesionales desarrolladores, a veces incorporan un sistema de reporte de incidencias por tickets que, en la mayoría de los casos resulta en una solución en un tiempo no superior a las 48 horas. Además de esto, se suele contar con documentación de apoyo al uso de la herramienta en cuestión.

 

Cuándo no utilizar una solución de terceros

¿Trabajas en una empresa de cierto tamaño? ¿En la Administración? Si es así sabes que cualquier compra requiere un papeleo previo. Desde convencer a tu superior de que lo que solicitas comprar es necesario hasta que la última firma es incorporada a la solicitud y, finalmente la compra es efectívamente materializada, pueden pasar semanas. Si tu entorno de trabajo es uno de éstos y el alcance de lo que tienes que desarrollar es moderadamente manejable, te va a convenir considerar desarrollar tú mismo. Es posible que acabes antes que solicitando una compra.

Hablábamos antes de la documentación de los desarrollos de terceros. A veces ésta es buena y abundante. Vídeos, documentos descargables perfectamente organizados e ilustrados con pantallazos, una demo en Internet para que experimentes con la herramienta. Todo esto son virtudes de los buenos desarrollos de terceros. Pero no es lo más frecuente. Documentar código a veces no gusta. Pero elaborar documentación de apoyo a su uso, instalación, integración y demás, de un software es algo que a los programadores parece dar verdadera pereza. Encontramos buena documentación en los productos de empresas que ya tienen soluciones consolidadas con una amplia comunidad de usuarios y que están consiguiendo vivir de éstas. Algunas se puede permitir el lujo de contratar la elaboración de manuales a terceros o, en algunos casos, ya cuentan con personal redactor tecnológico en la empresa. Sin embargo, en la mayoría de los casos podemos encontrarnos con una herramienta que parece hacer lo que necesitamos, pero cuya documentación es penosa o no existe. Si vas a tener que dedicar semanas a averiguar cómo funciona el código que deseas reutilizar, más vale que lo desarrolles tú mismo.

Una posible debilidad más: no hay alguien al otro lado. Esto te deja en el desierto. Cuando una empresa o profesional no cuenta con soporte para su producto, debes huir de él. Analiza bien la web en la cual se anuncia el producto. La mera apariencia de ésta ya te da una primera impresión. Analiza bien cómo gestionan su soporte, si lo tienen, tiempos de respuesta, opiniones de usuario. Al igual que ocurriera con la documentación, lo típico es encontrarnos a las empresas que ya tienen productos consolidados en el mercado ofreciendo un buen soporte. Pero esto no es así siempre. El soporte puede ser inexistente o muy deficiente. Te puedes ver con plazos cerrados con tu cliente y a una semana de la entrega la herramienta de terceros que adquiriste te genera un bug. Te pones en contacto con el servicio de soporte y no obtienes respuesta o ésta no te aclara nada. Analiza bien antes. Si el código que necesitas lo ofrecen sin garantías de soporte, olvídate de él y comienza a picar código.

En otras ocasiones nos podemos encontrar a un código perfecto para incorporar a nuestro desarrollo. Hace todo lo que necesitamos. Magnífico. Pero, resulta que, además, hace 154 cosas más que no nos hacen falta. Piénsalo bien. Cuantas más funcionalidades incorpore un código, más posibilidades de errores colaterales entre ellas existirán. Si lo que tú vas a utilizar es el 20% de lo que es capaz de hacer la herramienta, no vas a prestar atención al resto de funcionalidades. Se te escapará algo con toda seguridad. Da pereza enfrentarse a la lectura de documentación que, aunque exquisitamente elaborada, exceda con creces nuestro interés. En consecuencia, si lo que tú tienes que desarrollar lo incorpora una herramienta de un tercero, pero con ésta te da la sensación de que estarás matando moscas a cañonazos, considera programar tú mismo ese 20% que te hace falta.