- Usa um renderizador customizado em vez da propriedade
contenteditable, evitando problemas de compatibilidade entre navegadores/plataformas
- Projetado com foco em estabilidade, controle e desempenho
- Atualmente usa React para renderização
- Foi comparado com Vue, Solid-js, SvelteJS etc., mas no momento oferece a melhor experiência para desenvolvedores, além de ser flexível e ter um excelente ecossistema
- No entanto, no futuro será necessário refatorar para renderização nativa em DOM para melhorar o desempenho
- Suporte a vários plugins
- Atalhos, Markdown, menu de contexto, alinhamento, bloco de código, fontes, cabeçalhos, imagens, links, listas, menções, tabelas, ...
3 comentários
Typora em prantos
Isso também me faz pensar no Lexical, do Facebook
https://pt.news.hada.io/topic?id=6380
Parece que ele manteve exatamente a estrutura do Slate; isso tem a vantagem de não exigir um novo design e, se os dados já estiverem sendo salvos no formato do Slate, também deve ser útil para trocar de editor.
Compatibilidade de editores de texto entre navegador e SO realmente não é nada fácil, então é uma abordagem nova.
No Android, a entrada em coreano também funciona bem, e a classe
Selectionera realmente muito difícil de usar; vendo que eles refizeram isso do zero, parece que vai facilitar no desenvolvimento. (Na prática, ao testargetSelection(), a área selecionada nem chega a ser capturada.)Embora pareça haver necessidade de melhorar o desempenho no carregamento inicial, não parece algo crítico.