หมวดหมู่: API

TOON VS JSONTOON VS JSON

TOON เป็นฟอร์แมตที่ออกแบบมาเพื่อแก้ Pain point ของ JSON ในเรื่องของการระบุ “ประเภทข้อมูล” และการลดความซ้ำซ้อนของข้อมูลครับ

ถ้าถามว่าแทน JSON ได้แค่ไหน? คำตอบคือ “ในเชิงโครงสร้างข้อมูล แทนได้เกือบ 100% แต่ในเชิงนิเวศ ยังห่างไกลครับ”

สรุปประเด็นเปรียบเทียบเพื่อให้เห็นภาพชัดเจน ดังนี้ครับ


สิ่งที่ TOON ทำได้ดีกว่า JSON

  • Strong Typing: ในขณะที่ JSON มีแค่ตัวเลข สตริง และบูลีน TOON สามารถกำหนด Type เฉพาะเจาะจงลงไปในโครงสร้างได้เลย ทำให้ลดโอกาสเกิด Error ตอน Parse ข้อมูล
  • Readable & Concise: TOON มักจะตัดเครื่องหมายซ้ำซ้อนอย่างเครื่องหมายคำพูดที่ Key หรือวงเล็บปีกกาในบางจุดออก ทำให้ไฟล์เล็กกว่าและอ่านง่ายกว่าในสายตาโปรแกรมเมอร์
  • Class / Object Mapping: TOON ออกแบบมาให้ Map เข้ากับ Class ใน OOP ได้อย่างเป็นธรรมชาติมากกว่า JSON ที่เป็นเพียงพจนานุกรม เปล่า ๆ

ข้อจำกัดเมื่อเทียบกับ JSON

  • Ecosystem: JSON คือมาตรฐานโลก ทุกภาษาโปรแกรม ทุก Browser และทุกฐานข้อมูลรองรับ Native มาตั้งแต่ออกตัว แต่ TOON ยังต้องการ Library เสริมในการใช้งาน
  • Learning Curve: JSON เรียบง่ายจนใครก็อ่านออก แต่ TOON มี Syntax เฉพาะทางที่ต้องเรียนรู้เพิ่มเล็กน้อย
  • Tooling: เครื่องมือจำพวก Beautifier, Validator หรือ Editor ต่าง ๆ ของ JSON มีอยู่มหาศาล ซึ่ง TOON ยังมีจำกัดกว่ามาก

ตารางสรุปการใช้งาน

ฟีเจอร์JSONTOON
ความนิยมสูงสุด เฉพาะกลุ่ม
Type Safetyต่ำ สูง
ขนาดไฟล์ปานกลางเล็ก
การอ่านด้วยตาดีดีมาก

สรุปความเห็น

ถ้าคุณกำลังทำโปรเจกต์ภายในที่ต้องการ Type Safety สูง ๆ หรือต้องการลด Overhead ของข้อมูลที่ต้องส่งไปมา TOON เป็นทางเลือกที่น่าสนใจมากครับ

แต่ถ้าต้องทำ Public API ที่คนอื่นต้องมาเชื่อมต่อด้วย JSON ยังคงเป็นคำตอบที่ปลอดภัยที่สุด เพราะไม่ต้องบังคับให้คนอื่นไปลง Library เพิ่มครับ


อ่านเพิ่มเติม