intro: "Cuando lanzamos el núcleo de freesewing a finales de marzo, mi atención se centró inmediatamente en construir nuestro front-end para que freesewing.org pudiera sustituir completamente a makemypattern.com ."
title: "Somos JAMstack, somos JAMstack, somos JAMstack, somos JAMstack, somos JAMstack, somos JAMstack, somos JAMstack, y espero que a ti también te guste JAMstack"
Cuando lanzamos el núcleo de freesewing a finales de marzo, mi atención se centró inmediatamente en construir nuestro front-end para que [freesewing.org](/) pudiera sustituir completamente a [makemypattern.com](https://makemypattern.com/).
Creo que el valor de Freesewing reside en la plataforma central y en nuestros patrones. Pero sin una forma fácil de exponer ese valor, se ignorará en gran medida.
Así que necesitábamos un sitio web que permitiera a la gente generar patrones. Makemypattern.com — posiblemente la mejor comparación de algo similar — se ejecuta en Drupal 7, y mi idea inicial era ejecutar el nuevo sitio en Drupal 8. Recorrí ese camino lo suficiente como para confiar en que podría hacerlo funcionar y conectarlo a nuestro backend. En ese momento cambié de marcha y centré mi atención en lo que ahora se conoce como núcleo de costura libre.
El núcleo tardó unos 7 meses en construirse, y muchas cosas han cambiado desde entonces. O quizás he cambiado, desde luego he aprendido mucho por el camino. En cualquier caso, he decidido hacer las cosas de otra manera.
No tengo ningún problema con Drupal, pero la idea de gestionar el sitio web de freesewing a través de cualquier Sistema de Gestión de Contenidos (CMS) no me atrae.
Una de las razones principales es que se almacena mucha información bajo una capa opaca de base de datos, lo que dificulta su gestión. Lo mismo ocurre con el contenido, donde las entradas, los metadatos, las imágenes, etc., están repartidos en tablas, ubicaciones y carpetas. Pero también está el tema que contiene un montón de cosas, están los módulos personalizados de Drupal para conectar con el backend, etc., etc.
Cuando estábamos finalizando el núcleo, construí un sitio de documentación para él basado en [Jekyll](https://jekyllrb.com/). En comparación, me pareció un soplo de aire fresco. Sólo un puñado de archivos markdown, con algo de SASS, imágenes y algo de JavaScript, y todo se compila en un sitio web estático.
Conocí JAMstack cuando empecé a buscar alojamiento para el sitio de documentación de dicho núcleo. Inicialmente se alojó en las páginas de GitHub, que proporciona alojamiento gratuito. También tienen SSL o un nombre de dominio personalizado, pero no puedes tener ambos. Lo cual era algo que rompía el trato.
Buscando alternativas, me topé con [Netlify](https://www.netlify.com/), que hace tanto SSL como dominios personalizados y tiene un nivel gratuito para proyectos de código abierto (gracias, chicos). Además, [este vídeo del director general de Netlify, Mathias Biilmann](https://vimeo.com/163522126) me entusiasmó mucho con JAMstack.
Así que, en nuestro caso, en lugar de tener un sitio de documentación sencillo con markdown fácil de editar y un CMS complejo que se encargue de las cosas delicadas, vamos a construir un sitio sencillo que se genere estáticamente, pero que utilice JavaScript y API para hacer las cosas inteligentes.
Debo admitir que en mi entusiasmo por adoptar este nuevo enfoque me adelanté un poco. De repente, ya no estaba construyendo un simple sitio web, sino que estaba hasta arriba de renderizado isomórfico, enrutamiento del lado del cliente, React y Redux, Node.js y transpilación ES6.
El caso es que yo no soy desarrollador y me he metido en un buen lío. Aunque aprendía cosas nuevas cada día, no avanzaba mucho en la tarea que tenía entre manos, y me sentía frustrada por mi incapacidad para hacer incluso las cosas más mundanas.
Tras un mes de frustración, montones de pruebas y aparentemente aún más errores, tiré la toalla. Eff este nuevo y brillante JavaScript que usan todos los jóvenes, yo me quedo con lo que conozco.
Tenemos [una API de datos totalmente nueva](https://github.com/freesewing/data) construida sobre [el marco Slim](https://www.slimframework.com/). Maneja todos los datos del usuario. Cosas como cuentas, medidas, modelos y borradores, pero también comentarios en este sitio web, etc.
También habla con el núcleo por nosotros, y cada vez que redacta un patrón, no sólo te damos el patrón, sino que también realizamos una comparación de tu patrón con una serie de tallas estándar, lo que está muy bien.
Espero que la experiencia de usuario/interfaz no sea un obstáculo para la gente. Me he esforzado mucho para que el proceso de redacción sea lo más intuitivo posible y creo que, en comparación con nuestra demo (o con la interfaz de makemypattern, para el caso), es una gran mejora.