Design Token คืออะไร สำคัญต่อ Designer / Developer อย่างไร

การพัฒนาซอฟต์แวร์ในปัจจุบันที่ต้องการหน้าจอสวย ง่ายต่อการใช้งาน แน่นอนว่าเบื้องหลังนั้น Designer และ Developer ต้องทำงานร่วมกันอย่างหนักเพื่อให้ได้หน้าจอที่ออกมาตามความต้องการของทุกฝ่าย ก่อนอื่นขอพูดถึงเครื่องมือและวิธีการที่จะ mention ถึงในลำดับถัดไป


Designing Tools

Figma คงเป็นตัวเลือก top rank ในปัจจุบัน นอกจาก Designer จะใช้ออกแบบได้อย่างมีประสิทธิภาพ ยังสามารถแบ่งปันให้ Developer เข้ามาเลือก inspect เพื่อตรวจสอบ UI ที่จะนำไปพัฒนาได้อย่างละเอียด


Design Standard / Design Guidelines

เพื่อให้ง่ายต่อการทำงาน Standard ที่มีร่วมกันจึงสิ่งสำคัญทั้งภายในและภายนอกทีม เช่น theme ของแอป ขนาด ระยะห่างขององค์ประกอบต่างๆ ไม่ว่าจะออกมาในรูปแบบ color pallete, components ก็ถือว่าเป็นมาตรฐานร่วมกัน แต่การทำ Standard บน Figma ก็มีข้อจำกัดด้วยตัวของมันเอง การอ้างอิงไปยัง base component ก็ทำได้แหละ แต่หลายๆครั้งมันยังไม่ได้ประกอบเป็น component เลย การสื่อสารระหว่าง Developer และ Designer เลยเกิดข้อผิดพลาดค่อนข้างบ่อย


Token


token เป็น concept หนึ่ง ที่มาช่วยกำหนดให้ Designer ต้องตั้งชื่อองค์ประกอบต่างๆ ด้วย ถึงแม้ว่าการ reference จะยังอยู่เหมือนเดิม แต่การสร้าง token จะช่วยให้ออกแบบให้มี level หรือการจัดกลุ่มของ token  ได้ยืดหยุ่นมากยิ่งขึ้น เช่น core หรือ theme หรือจะเพิ่มความซับซ้อนเพื่อระบุกลุ่มลงไปอีกก็ได้ ขึ้นอยู่กับว่าจะออกแบบยังไง โดยชื่อขององค์ประกอบต่างๆ ที่ว่านี้ก็คือ "Token" หรือ "Design Token" นี่แหละ




ดูเหมือนเป็นแค่การตั้งชื่อเฉยๆ ซึ่งก็ใช่ครับ แต่สิ่งนี้มันคือแนวคิด ทำให้ไม่ได้ยึดโยงกับเครื่องมือ ทำให้ได้รับความนิยมมาก และมี Figma plugin https://tokens.studio/ ช่วยให้จัดการ Design Token และสามารถ export ออกเป็นรูปแบบของ JSON File (tokens.json) ได้เลย



JSON File (tokens.json) จะเป็นตัวแปรสำคัญของงานนี้ เพื่อเป็นทางผ่านให้ Developer ทำงานต่อ ด้วยเครื่องมือ Style Dictionary ที่จะช่วยแปลงให้เป็น source code ภาษาโปรแกรม

Style Dictionary ในระดับเริ่มต้นก็สามารถแปลงเป็น source code ได้เลย เช่น CSS,  SCSS, Android XML, iOS Swift classes เป็นต้น แต่ก็ต้องยอมรับว่ามันยังทำออกมาไม่ถูกใจนัก ซึ่งเค้าก็เปิดช่องให้เราสามารถเขียน extension ด้วย NodeJS ได้ด้วยตัวเองด้วยนะ


สำหรับผมที่เป็น Kotlin Developer และ Swift Developer รู้สึกว่า ไหนๆ ก็เอามาใช้แล้วอยากให้จบแบบพร้อมใช้เลย และอยากได้ความ dev friendly มากขึ้นด้วย เช่น 

  • อยากแปลงสีแบบสามารถดูสีบน Editor ได้ด้วย (ไม่ใช่แค่ code ตัวหนังสือเฉยๆ)
  • อยากให้แปลงหน่วยให้ตรงกับที่ใช้จริง เช่น dp, sp, pt
  • Pattern จาก designer มีความหลากหลาย อยากแปลงเป็นรูปแบบเดียวกัน เช่น HEX RGB, RGBA floating point, RGBA decimal



โดยสามารถทดลองใช้งานได้ที่นี่ครับ  GitHub - lordgift/playing-with-design-token



Facebook Comment

Recent Posts

Popular post of 7 days

Portal คืออะไรกันนะ???

มาตรฐานการตั้งชื่อตัวแปร (Naming Convention)

เรื่องของ ++i กับ i++

Popular

[Java] Java 8 DateTime ใหม่ ไฉไลกว่าเดิม

Portal คืออะไรกันนะ???

[Java] ความแตกต่างระหว่าง Overloading กับ Overriding

มาตรฐานการตั้งชื่อตัวแปร (Naming Convention)

เรื่องของ ++i กับ i++

[Java] Java Static Variable และ Static Method

ลืมรหัสปลดล็อค Android เข้าเครื่องไม่ได้ มีทางออกครับ

[Java] รู้จัก OR-Mapping และ Hibernate เบื้องต้น

Push Notification คืออะไร มีวิธีทำอย่างไร (No Code)

Android Auto & Apple Carplay คืออะไร ใช้งานยังไง