SvelteBase
Svelte + Sapper + Firebase = ❤
SvelteBase es un proyecto de pasatiempo que se inició hace unos años con un objetivo: para crear un marco web ligero, simple y moderno que haga que la creación de prototipos y el desarrollo de proyectos web de cualquier escala sean fáciles y divertidos, mientras aprovecha lo mejor de las herramientas modernas y sigue prácticas simples e intuitivas que encienden tanto arquitectura creativa e inteligente.
Características
Varios idiomas listos para usar
- El contenido generado del lado del servidor viene traducido
- Traductor JSON incorporado usando GoogleTranslate
- Habilidad para conservar valores dinámicos en el contenido del texto usando XDATA (solución hacky complicada)
- Solución de modelos de Firebase traducibles
Compatible con SEO
- SSR: representación del lado del servidor proporcionada por Sapper
- Componente de análisis de Google
- Urls multilingües adecuados y uso de meta hreflang
- Generador de mapa del sitio
Redirecciones sofisticadas
deslumbrantemente rápido
SvelteBase no afectó el rendimiento de Svelte y Sapper. Firebase también es uno de los BE más rápidos si se usa correctamente.
Los sitios web creados con SvelteBase obtienen un punto de referencia de 100 en PageSpped para dispositivos móviles y de escritorio.
Emuladores locales de Firebase
Problemas y desafíos
sincronización de package.json y functions/package.json
Por lo tanto, necesita su propio paquete.json que incluye los paquetes necesarios tanto para Svelte & Sapper como para Firebase.
Básicamente, significa que cualquier paquete que se agregue a package.json durante el proceso de desarrollo deberá agregarse a functions/packages.json .
Sin acceso al atributo lang de la etiqueta de apertura html
Pero, lamentablemente, la versión actual de Sapper no admite marcadores de posición personalizados en template.html .
Es por eso que, de forma predeterminada, el atributo lang no se especifica y solo usamos metadatos hreflang .
Materializar CSS
Los scripts del lado del servidor y del lado del cliente pueden ser confusos
- Las páginas Sapper utilizan dos tipos de scripts de tiempo de ejecución: del lado del servidor y del lado del cliente.
- Los scripts del lado del servidor usan el entorno node.js ; tienen el atributo context="module"
- Los scripts del lado del cliente usan el entorno del navegador
- Si desea obtener todos los beneficios de SSR, debe usar secuencias de comandos del lado del servidor para representar el contenido necesario en el lado del servidor.
Desventajas de Firebase
Cantidad limitada de proyectos en Firebase
Paginación de Firestore
Sincronización de índices de Firestore
Sin embargo, permite configurar índices usando Firebase Console y firestore.indexes.json .
Pero si los índices se configuran con Firebase Console , no se reflejarán automáticamente en firestore.indexes.json .
Por lo tanto, debe hacerlo manualmente, porque si implementa su código en otro proyecto de Firebase, deberá configurar los índices nuevamente.