Sustituye la Vista actual por los componentes principales de la interfaz del editor
Sí, @lexoyo el objetivo final aquí sería dejar de depender de la Vista de Backbone y migrar todos los elementos de la interfaz del editor a componentes web. Al final, habrá '@grapesjs/core' (sin UI) y '@grapesjs/core-UI' con un conjunto de componentes web reutilizables y extensibles para la interfaz del editor
Lee la respuesta completa abajo ↓Pregunta
¡Hola! La estructura actualmente utilizada de grapesjs se basa en aprovechar backbonejs concept de vista modelo para implementar el Virtual Dom dentro del ecosistema de grapesjs. Virtual Dom es una gran práctica que tiene una amplia gama de aplicaciones y beneficios; Pero la desventaja del dom virtual es la actual brecha entre el dom virtual y el dom real itself, lo que esto significa que el uso del dom virtual es una especie de sacrificio de rendimiento para lograr el concepto de vista modelo, que es la arquitectura ya establecida de grapesjs, react, vue, etc. Basándonos en la naturaleza en tiempo real de grapesjs y su capacidad para gestionar miles de objetos modelo según cada interacción del usuario, hay casos en los que el rendimiento se valora poco en las actualizaciones del modelo que, como resultado, no habría experiencia en tiempo real para el usuario final. como ejemplo de este escenario, piensa en llamar a addAttributes para property cambios en un componente complejo type que se invocará cada vez que el usuario final nos proporcione nuevas entradas en la sección de rasgos asociados; Cada vez que ese usuario pulsa una tecla, se notaría un retraso para que el modelo actualice los atributos del componente objetivo según la entrada del usuario. Mi propuesta sobre este asunto es eliminar el dom virtual en el saco de hiperhtml que se beneficia del dom real que está bounded a un objeto de contexto que actúa como nuestro model actual. La forma en que HyperHTML consigue el concepto de vista modelo para el dom real es aprovechando literales de plantilla nativos en JS y es associated fragmentos y interpolations. Sé que esto es un tabú muy aterrador para la implementación actual :) Pero creo que si la arquitectura de Grapesjs se ha empezado con backbone, las subpartes del ecosistema no deberían seguir el mismo camino, aunque esto es una implicación común en el camino de desarrollo de un proyecto complejo como Grapesjs; backbone puede ser muy tentador animar a los desarrolladores a seguir adelante hasta el end, pero sugiero más flexibilidad separando grapesjs en un núcleo solid con backbone y todas las demás partes aprovechando hyperhtml para introducir un ecosistema más ligero y amigable con el rendimiento, que abrace el futuro sin miedo a fallos de rendimiento. Soy un desarrollador muy ingenuo y por favor perdonadme si me equivoco con esto. hiperhtml Salud.
Respuestas (3)
Sí, @lexoyo el objetivo final aquí sería dejar de depender de la Vista de Backbone y migrar todos los elementos de la interfaz del editor a componentes web. Al final, habrá '@grapesjs/core' (sin UI) y '@grapesjs/core-UI' con un conjunto de componentes web reutilizables y extensibles para la interfaz del editor
Vale, eso es interesante :) Estoy deseando verlo y contribuiré en todo lo que pueda
Buena idea Uso bastante lit-html, es el mismo enfoque pero también añade componentes web cuando es necesario Pero no entiendo dónde se quedaría el backbone. ¿Y qué sería sin ella? Supongo que es una cuestión más amplia sobre lo que @artf anunciado en la hoja de ruta (sacando cosas del núcleo)
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #1745
[Característica]: Permitir importar documentos HTML
Hola equipo, Estamos usando el plugin de boletín grapesjs en nuestro proyecto para importar y previsualizar la plantilla. Estamos teniendo...
Issue #2799
[Preguntas] Ordenación del selector con id y selectores de clase, espacio después del selector de id
Actualmente estoy trabajando en una aplicación web para la que integramos este proyecto como editor de interfaz gráfica para personalizar l...
Issue #2972
HAZAÑA: Desactivar los scripts en el lienzo
Hola, antes que nada, gracias por una herramienta tan estupenda. En mi proyecto me encontré con el problema de que tengo que desactivar los...
Issue #1748
Cómo evitar que los elementos arrastren dentro del editor
Hola @artf Lo estás haciendo muy bien con grapesjs y es extremadamente útil hacer que nuestra funcionalidad sea más fácil de usar. Gracias...
Plugins de pago que cumplen con este problema
Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.
Cargando recomendaciones de plugins de pago...
Consulta los plugins de código abierto de GrapesJS en GitHub O haz una búsqueda rápida en nuestro catálogo gratuito.
Explora plugins gratuitos →Los plugins premium incluyen soporte, actualizaciones regulares y funciones listas para producción — ahorrando días de trabajo de integración.
Explora plugins premium →Tutoriales relacionados
Guías detalladas sobre el mismo tema.
Tutorial
Ship to Production Faster: What’s New in GrapesJS Shadcn
Supercharge your page builder! GrapesJS Shadcn adds live drag previews, rich text / commands, dynamic data, and canvas presets to ship to prod faster.
Tutorial
How to Build a Production GrapesJS Editor: The Complete Walkthrough of Brief, Preset, Plugins, and Services
A complete walkthrough of building a production GrapesJS editor: how to choose a preset, pick plugins, and scope setup services without burning a sprint.
Tutorial
GrapesJS Inline RTE Plugins Update: CKEditor 5 v0.1.4 and Froala Inline Text Editor
CKEditor 5 Inline for GrapesJS v0.1.4 fixes Studio SDK toolbar clipping, iframe injection and link balloon bugs. Compare with Froala Inline — both $69.
Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.