Introducción
Este tutorial va dedicado a todos esos desarrolladores (o incluso diseñadores web con alma de programador) que alguna vez en su vida han querido salir de la burbuja de los CMS estandarizados que se usan hoy día. Si, ya sabes a cuales nos referimos. Wordpress, Joomla o Drupal para páginas web estándar. Prestashop o Magento, especializados para comercio electrónico.
Son CMS exitosos y que nos proveen un montón de ayudas, que incluso le podemos hacer personalizaciones para ajustarlos a nuestras necesidades o para un tercero. Entonces te preguntarás:
¿Para qué diablos quiero hacer un CMS?
En muchas ocasiones hemos sufrido el karma de no poder hacer algo porque el CMS no lo permite o no tenemos el suficiente conocimiento como para poder personalizarlo tanto como nos gustaría hacerlo. O peor aún, la versión con la que trabajamos presenta problemas de compatibilidad con alguna otra aplicación con la que estemos integrándonos. Por ejemplo, existen anécdotas cómo le ocurrieron a programadores desarrollado una página web con Joomla. En este caso le ocurrió a Fabián Luna:
Solo era leer un poco la documentación o incluso ir explorando este módulo, nada del otro mundo, salvo algunos detalles. El problema inició cuando el cliente que mandó a desarrollar dicha tienda electrónica empezó a pedir ciertos “detalles” que VirtueMart no cumplia, allí empezó mi karma.
El tiempo que se esperaba en ahorrar el desarrollo de un módulo de comercio electrónico se utilizó para conocer a fondo el desarrollo de VirtueMart, luego de pasar esa primera prueba venía la última (y la peor), el comercio electrónico con el cual se iba a hacer la integración no era compatible con la versión de VirtueMart que estábamos utilizando y esto se le salía de las manos a ese proveedor. En conclusión, todo fue un completo desastre."
También es cierto, que puede ser muy recomendable usar un CMS de base y luego reprogramar y añadir customizados todos los plugin salvo unos pocos. La parte buena es que ahorras tiempo y eso es oro, por ejemplo creando startups o webs demandadas.
Basado en esto se puede concluir que puede ser que no sea mala idea tener a la mano nuestro propio CMS (dependerá de cada caso) el cual nos va a ayudar en prácticamente todos los desarrollos web que necesitemos. Hay que desarrollar muchas cosas (no todo puede ser bonito) pero solo es al principio, ya después todo será mucho más fácil. Y quién sabe si terminas haciendo un gran CMS que se vuelva un estándar para la comunidad.
Para concluir esta introducción y empezar a lo que vinimos estos son los pro y contra de empezar a desarrollar tu propio CMS:
- Tienes los módulos necesarios que requieres para los negocios en los cuales te mueves.
- Adquieres mayor conocimiento técnico sobre web y negocios de los que estás desarrollando.
- No te limitas en las tecnologías que estás usando. Si a futuro quedan obsoletas puedes migrar rápidamente a lo que el mundo en su momento se mueva. Algo que no puedes hacer si te casas con un CMS y este no evoluciona.
- Mayor control sobre tus proyectos web.
- Mucho más cool.
- Toma mucho más tiempo cuando apenas estás comenzando a desarrollarlo.
- Si no tienes el suficiente conocimiento técnico puede que cometas grandes errores.
- Si fue iniciado por personas que lo abandonan y no lo documentan y realizan de forma limpia puede ser caótico para el que viene detrás. Por lo que debe ser realizado por un equipo o gente de nivel.
Primero que todo vamos a usar las siguientes tecnologías para cumplir nuestro objetivo. Necesitamos tener bases en:
También puedes elegir el servidor web que más te guste (como Apache o Nginx).
Pasemos a la acción, siguiente página es la creación de base de datos.
Muchas gracias, es un tutorial que voy a leerlo con calma. Lo he visto por encima y es super completo. Saludos.