- ใช้ตัวเรนเดอร์แบบคัสตอมแทนพร็อพเพอร์ตี
contenteditable เพื่อหลีกเลี่ยงปัญหาความเข้ากันได้ระหว่างเบราว์เซอร์/แพลตฟอร์ม
- ออกแบบโดยให้ความสำคัญกับความเสถียร ความสามารถในการควบคุม และประสิทธิภาพ
- ปัจจุบันใช้ React สำหรับการเรนเดอร์
- เคยเปรียบเทียบกับ Vue, Solid-js, SvelteJS ฯลฯ มาแล้ว แต่ตอนนี้ยังมองว่ามอบประสบการณ์นักพัฒนาที่ดีที่สุด มีความยืดหยุ่น และมีอีโคซิสเต็มที่ยอดเยี่ยม
- อย่างไรก็ตาม เพื่อปรับปรุงประสิทธิภาพ ในอนาคตจำเป็นต้องรีแฟกเตอร์ไปเป็นการเรนเดอร์ด้วย Native DOM
- รองรับปลั๊กอินหลากหลาย
- คีย์ลัด, Markdown, เมนูบริบท, การจัดแนว, code block, ฟอนต์, heading, รูปภาพ, ลิงก์, รายการ, mention, ตาราง,..
3 ความคิดเห็น
Typora ร้องไห้หนักมาก
ทำให้นึกถึง Lexical ของ Facebook เหมือนกันนะ
https://th.news.hada.io/topic?id=6380
ดูเหมือนว่าจะใช้โครงสร้างของ slate ตามเดิมเลยนะครับ ข้อดีคือไม่ต้องออกแบบใหม่ และถ้ากำลังเก็บข้อมูลในรูปแบบของ slate อยู่ การเปลี่ยนตัวเอดิเตอร์ก็น่าจะทำได้สะดวกด้วย
ตัวแก้ไขข้อความนี่ทำให้รองรับข้ามเบราว์เซอร์และ OS ได้ยากจริง ๆ เป็นแนวทางใหม่ที่น่าสนใจครับ
บน Android ก็พิมพ์ภาษาเกาหลีได้ดีด้วย และคลาส Selection เองก็ใช้งานยากมาก พอเห็นว่าเขาทำขึ้นมาใหม่ทั้งหมดก็น่าจะช่วยให้พัฒนาง่ายขึ้นครับ (ลอง
getSelection()จริง ๆ แล้วพบว่าไม่สามารถจับช่วงที่เลือกไว้ได้)แม้ตอนโหลดครั้งแรกจะดูเหมือนยังต้องปรับปรุงประสิทธิภาพอยู่บ้าง แต่ก็คงไม่ถึงขั้นเป็นประเด็นวิกฤตครับ