32 คะแนน โดย xguru 2023-04-28 | 3 ความคิดเห็น | แชร์ทาง WhatsApp
  • ใช้ตัวเรนเดอร์แบบคัสตอมแทนพร็อพเพอร์ตี contenteditable เพื่อหลีกเลี่ยงปัญหาความเข้ากันได้ระหว่างเบราว์เซอร์/แพลตฟอร์ม
  • ออกแบบโดยให้ความสำคัญกับความเสถียร ความสามารถในการควบคุม และประสิทธิภาพ
  • ปัจจุบันใช้ React สำหรับการเรนเดอร์
    • เคยเปรียบเทียบกับ Vue, Solid-js, SvelteJS ฯลฯ มาแล้ว แต่ตอนนี้ยังมองว่ามอบประสบการณ์นักพัฒนาที่ดีที่สุด มีความยืดหยุ่น และมีอีโคซิสเต็มที่ยอดเยี่ยม
    • อย่างไรก็ตาม เพื่อปรับปรุงประสิทธิภาพ ในอนาคตจำเป็นต้องรีแฟกเตอร์ไปเป็นการเรนเดอร์ด้วย Native DOM
  • รองรับปลั๊กอินหลากหลาย
    • คีย์ลัด, Markdown, เมนูบริบท, การจัดแนว, code block, ฟอนต์, heading, รูปภาพ, ลิงก์, รายการ, mention, ตาราง,..

3 ความคิดเห็น

 
roeniss 2023-05-05

Typora ร้องไห้หนักมาก

 
alstjr7375 2023-04-28

ทำให้นึกถึง Lexical ของ Facebook เหมือนกันนะ
https://th.news.hada.io/topic?id=6380

 
bbulbum 2023-04-28

ดูเหมือนว่าจะใช้โครงสร้างของ slate ตามเดิมเลยนะครับ ข้อดีคือไม่ต้องออกแบบใหม่ และถ้ากำลังเก็บข้อมูลในรูปแบบของ slate อยู่ การเปลี่ยนตัวเอดิเตอร์ก็น่าจะทำได้สะดวกด้วย
ตัวแก้ไขข้อความนี่ทำให้รองรับข้ามเบราว์เซอร์และ OS ได้ยากจริง ๆ เป็นแนวทางใหม่ที่น่าสนใจครับ
บน Android ก็พิมพ์ภาษาเกาหลีได้ดีด้วย และคลาส Selection เองก็ใช้งานยากมาก พอเห็นว่าเขาทำขึ้นมาใหม่ทั้งหมดก็น่าจะช่วยให้พัฒนาง่ายขึ้นครับ (ลอง getSelection() จริง ๆ แล้วพบว่าไม่สามารถจับช่วงที่เลือกไว้ได้)
แม้ตอนโหลดครั้งแรกจะดูเหมือนยังต้องปรับปรุงประสิทธิภาพอยู่บ้าง แต่ก็คงไม่ถึงขั้นเป็นประเด็นวิกฤตครับ