Chuyên môn · Nền tảng token và đa nền tảng

Có cần nối bản vẽ và bản chạy bằng Figma Code Connect không

Câu hỏi này chỉ có ý nghĩa khi Anh/Chị đã biết mình đang bàn giao thiết kế cho ai và họ đang dùng gì để code.

Chốt nhanh

Cần thiết lập Figma Code Connect khi đội của Anh/Chị tách vai: người thiết kế một phía, lập trình viên một phía, và đã có thư viện component thật trong kho mã. Lúc đó Code Connect làm cho Dev Mode (chế độ xem dành cho lập trình viên trong Figma) hiện đúng đoạn mã component thật thay vì mã tự sinh chung chung, giảm cảnh bản chạy khác bản vẽ. Nếu chỉ một người vừa thiết kế vừa code, hoặc thư viện component trong mã chưa có, chưa cần vội.

Đối sánh nhanh
Nên chọn hướng này khi
  • đội tách vai thiết kế và lập trình, đã có thư viện component thật
  • muốn giảm ma sát khi bàn giao bản vẽ sang bản chạy
Chưa cần khi
  • một người kiêm cả thiết kế và code
  • sản phẩm nhỏ hoặc chưa có component trong mã

Figma Code Connect (công cụ nối bản vẽ với bản chạy) không phải thứ cần thiết lập ngay từ đầu. Nó có vị trí rõ ràng trong vòng đời một design system (hệ thống thiết kế): sau khi đã có component thật trong mã, sau khi đội đã tách vai thiết kế và lập trình. Thiết lập sớm hơn thời điểm đó là thiết lập vào chỗ trống.

Code Connect làm gì thật ra

Dev Mode là chế độ xem dành riêng cho lập trình viên trong Figma: họ vào đây để lấy thông số thiết kế và đoạn mã tham khảo. Vấn đề là mặc định Figma tự sinh mã chung chung, không khớp với thư viện component mà đội đang dùng thật sự.

Code Connect giải quyết đúng chỗ đó. Nó nối từng component trong Figma với component tương ứng trong kho mã, để khi lập trình viên chọn một component trong bản vẽ, Dev Mode hiện đúng đoạn mã từ kho của họ, không phải mã tự sinh. Kết quả: lập trình viên copy đoạn mã đó và dùng được ngay, không phải dịch lại từ bản vẽ.

Quan trọng cần nói thẳng: Code Connect không tự viết component. Nó chỉ nối và hiện lại thứ đã có. Không có component trong mã thì không có gì để nối.

Khi nào cần, khi nào chưa cần

Cần thiết lập khi: đội tách vai rõ ràng giữa thiết kế và lập trình, thư viện component trong mã đã hình thành, và ma sát khi bàn giao đang là vấn đề thực tế. Lúc này Dev Mode hiện mã tự sinh gây nhầm lẫn, lập trình viên phải đoán xem component tự sinh đó tương ứng với gì trong kho mã thật.

Chưa cần khi: một người vừa thiết kế vừa code nên không có bàn giao, sản phẩm còn nhỏ và chưa có thư viện component trong mã, hoặc đội chưa thống nhất cách đặt tên component giữa Figma và kho mã. Thiết lập lúc này tốn công mà không giải quyết vấn đề thực.

Hai cách thiết lập và nên chọn cái nào

Figma cung cấp hai cách thiết lập Code Connect.

  • Giao diện trong Figma: thiết lập trực tiếp trong ứng dụng, không cần dòng lệnh, không phụ thuộc ngôn ngữ lập trình. Phù hợp khi muốn thử nhanh hoặc đội thiết kế tự làm mà không có lập trình viên hỗ trợ.
  • Dòng lệnh: chính xác hơn vì ánh xạ được từng thuộc tính của component, ví dụ nối thuộc tính "variant" trong Figma với prop tương ứng trong React. Phù hợp khi component có nhiều trạng thái và cần kiểm soát chi tiết. Hỗ trợ React, Web Components và một số loại khác.

Lời khuyên thực tế: bắt đầu bằng giao diện Figma để xác nhận ý tưởng hoạt động, rồi chuyển sang dòng lệnh khi cần ánh xạ thuộc tính.

Lỗi thường gặp khi triển khai

  • Thiết lập trước khi có component trong mã: không có gì để nối, thời gian bỏ ra không có kết quả.
  • Kỳ vọng nó tự sinh component: Code Connect hiện mã đã có, không viết mã mới. Nhầm điều này dẫn đến thất vọng sai chỗ.
  • Nối một lần rồi bỏ quên: component trong mã đổi tên hoặc cấu trúc, ánh xạ trong Code Connect không theo kịp, Dev Mode bắt đầu hiện mã lệch. Cần xem Code Connect như một phần của quy trình cập nhật component, không phải việc làm một lần.

Góc nhìn của Sinh Vũ

Sinh Vũ đặt Figma Code Connect vào Giai đoạn 2 của hành trình dựng design system, cùng thư viện component và tài liệu Storybook (công cụ viết tài liệu component). Đây là vị trí đúng: sau khi component thật đã có trong kho mã, sau khi đội đã đủ lớn để bàn giao trở thành điểm ma sát.

Mục tiêu vận hành là người thiết kế và lập trình viên nhìn cùng một component, dùng cùng một tên, dùng cùng một đoạn mã. Code Connect là công cụ giúp đạt điều đó ở lớp Figma. Nhưng công cụ chỉ có nghĩa khi nền tảng đã đặt trước: token (giá trị thiết kế cơ sở như màu, cỡ chữ, khoảng cách) đã đồng bộ, component đã có tên nhất quán giữa hai phía.

Nối bản vẽ với bản chạy một đổi một để người thiết kế và lập trình viên nhìn cùng một component, không phải hai phiên bản khác nhau của cùng một ý định.

Figma Developer Docs, Code Connect
Công cụ mang về

Checklist quyết định

Chủ đề: Có cần Figma Code Connect không. Cẩm nang Sinh Vũ, sinhvu.com

0 trên 6 mục

Bấm chọn từng mục Anh / Chị thấy đúng, rồi bấm in hoặc lưu thành PDF để mang theo.

Dấu hiệu cho thấy Anh / Chị nên làm
Câu hỏi cần trả lời trước khi quyết định

Nếu Anh / Chị đánh dấu phần lớn ở nhóm dấu hiệu trên, đây là lúc nên trao đổi kỹ hơn. Sinh Vũ có thể cùng Anh / Chị soi lại và đề xuất hướng đi.

Nguồn tham khảo

Figma Developer Docs, Code Connect (độ tin cậy cao). Figma Help Center, Code Connect (độ tin cậy cao). Figma Blog, bài giới thiệu Code Connect (độ tin cậy cao). Kinh nghiệm thực hành Sinh Vũ Studio.

Câu hỏi thường gặp

Code Connect có tự viết code component cho mình không?

Không. Code Connect chỉ nối component đã có trong kho mã của Anh/Chị với component tương ứng trong Figma, rồi hiện lại đoạn mã đó ở Dev Mode. Nếu component chưa được viết, không có gì để nối và hiện cả.

Thiết lập bằng giao diện Figma hay dòng lệnh thì tốt hơn?

Giao diện Figma (tích hợp sẵn trong Figma) nhanh hơn và không đòi hỏi kiến thức dòng lệnh, phù hợp khi muốn thiết lập thử. Dòng lệnh chính xác hơn vì ánh xạ được từng thuộc tính của component, phù hợp khi đội đã rõ cấu trúc component và muốn kiểm soát chi tiết.

Thiết lập xong một lần có cần cập nhật lại không?

Cần. Khi component trong mã thay đổi tên, thuộc tính, hoặc cấu trúc, ánh xạ trong Code Connect cần cập nhật theo. Bỏ quên bước này khiến Dev Mode hiện mã cũ, lệch với component thật đang chạy.

← Về Hệ thiết kế số
{INJ}