15/09/2014

Desarrollo a medida VS Desarrollo con CMS

Un caso típico, viene un cliente a la oficina, quiere una web BBB (Buena, Bonita, Barata), y la duda es la de siempre:
¿Le hacemos algo a medida o tiramos de Joomla/Wordpress, similares?

Y la respuesta más sencilla siempre suele ser la más acertada:
Utiliza aquella tecnología que te permita cubrir los requerimientos del cliente y que nos permita hacer el desarrollo en menor tiempo y con la mayor calidad posible.

Y ahí, en esa última frase es donde esta el "quid" de la cuestión, ¿Cuando haremos más rápido una web desde cero, que una web con un CMS?

Lo primero que debemos de tener en cuenta son dos factores:

  • ¿Hay que realizar un diseño muy personalizado? ¿Nos vale alguna plantilla de algún CMS?
  • ¿Hay que programar algún plugin/extensión para el CMS para dotarlo de alguna funcionalidad extra?

El primer punto es muy importante, el diseño personalizado. Si nuestro cliente quiere un diseño altamente personalizado, totalmente integrado con la imagen de su negocio, con "excentricidades" que no suelen ser habituales, pues seguramente no nos quede más opción que hacerle un diseño a medida, teniendo que prescindir de plantillas.
El hecho de que el diseño sea muy personalizado no hace estrictamente necesario que haya que prescindir de un CMS, puesto que desarrollar plantillas para un CMS no es una tarea excesivamente complicada. 
Por ejemplo en el caso del CMS Joomla, existen frameworks de utilización libre que facilitan muchísimo esta tarea, como RT Gantry o T3 Framework.
Hay tutoriales bastante buenos en la red para desarrollar plantillas con estas herramientas, y que permiten crear cosas bastante vistosas (aunque eso ya depende de nuestras habilidades creativas) sin complicarnos mucho la vida.

El segundo punto es aún más importante que el primero.
Si tenemos que desarrollar alguna extensión específica para un CMS, en primer lugar tenemos que conocer bien la forma de desarrollar este tipo de extensiones, conocer que modelo de desarrollo usa, sus prácticas, como implementa el MVC, acceso a datos, etc...

Hay que tener en cuenta también que esas extensiones pueden vistas tanto desde el front-end com desde el back-end con lo cual necesitaremos también programar parte del administrador, y saber como lo integramos en el CMS que utilicemos, por ejemplo si desarrollamos una extensión para Joomla lo normal es que utilicemos su framework/api para desarollarla, no podemos elegir la tecnología que queramos, lo cual a veces es un fastidio.


Por otra parte también hay que ser realista con los desarrollos que uno se propone, sobre todo cuando pasamos el umbral de la web "informativa" y nos metemos en un terreno más complicado, por poner un ejemplo ... tiendas virtuales. Resulta complicado y laborioso desarrollar desde cero una tienda virtual que tenga las características que podemos encontrar en las plataformas más conocidas y desarrolladas del mercado como por ejemplo Opencart. Magento, o Prestashop (además de bastante delicado por lo que implica en matería de seguridad una tienda virtual).

En conclusión, si tienes que hacer un desarrollo donde puedas basarte fácilmente en diseño conocidos (o de algún proveedor de plantillas) y no tienes que hacer ningún desarrollo propio posiblemente lo más rápido sea hacerlo con algún CMS (Joomla, Wordpress, Drupal, ...). Es cierto que si sabes manejarte bien en la API de esos CMS's puedas programar rapidamente extensiones para ellos, pero si no estas familiarizado con sus API's quizas sea mejor hacer un desarrollo desde cero.

En el caso de IMTS Design hacemos dos tipos de desarollo: Para las tiendas virtuales utilizamos la plataforma Opencart, y para el resto de desarrollos usamos desarollo a medida siempre, debido a la mayor flexibilidad que nos aporta. Para los desarrollos a medida hemos desarrollado nuestro propio panel de control cuyas características puede leer brevemente aquí.

Comentarios

Otras noticias

Con casi un 50% de accesos a la web mediante dispositivos móviles, es ya algo obligado a la hora de hacer un desarrollo de un nuevo sitio web pensar en como lo veremos desde un smartphone.

Tan importante para nosotros y para nuestros clientes el correcto desarrollo de un proyecto web, como luego donde va a ser instalado dicho proyecto. Para ello es importante tener un despliegue correcto de los servidores donde se alojan los distintos proyectos.