Câu hỏi không phải nên hay không nên đồng bộ, mà là đồng bộ ở mức nào thì xứng với quy mô đội và độ ổn định của sản phẩm.
Mức đồng bộ nên tương xứng với số nền tảng và số người đang dựng giao diện, không phải chạy theo mốt kỹ thuật. Đội một sản phẩm ổn định thì dùng chung bộ token (giá trị màu, chữ, khoảng cách dùng làm biến) là đủ, chưa cần nối tự động vào từng codebase. Chỉ khi có nhiều nền tảng, nhiều đội ra tính năng song song, và có người kỹ thuật chuyên duy trì thì mới đáng đầu tư cầu nối chặt hơn.
Đồng bộ thiết kế với code là chủ đề Sinh Vũ gặp thường xuyên khi làm việc với khách có sản phẩm số. Phần lớn câu hỏi không phải "có nên đồng bộ không?" mà là "đồng bộ tới đâu thì vừa?" Câu trả lời không nằm ở xu hướng kỹ thuật, mà nằm ở quy mô thực tế của đội và mức độ ổn định của giao diện lúc này.
Khi không có nguồn chung, màu thương hiệu có thể tồn tại ở ba chỗ khác nhau: một mã trong CSS cho web, một giá trị trong Swift cho iOS, một giá trị trong Kotlin cho Android. Ban đầu ba chỗ trùng nhau. Theo thời gian, ai đó sửa màu ở web mà quên Android, sản phẩm bắt đầu trông như ba thương hiệu khác nhau.
Đây là rủi ro cốt lõi mà token dùng chung giải quyết: định nghĩa màu một lần, mọi nền tảng kéo từ nguồn đó, đổi một chỗ áp mọi nơi. Ngay cả khi chưa nối tự động, việc có một danh sách token được ghi rõ trong tài liệu và cả đội theo đúng đã giảm được phần lớn rủi ro này.
Mức 1: Token chung, tài liệu rõ, cập nhật thủ công
Phù hợp khi: một sản phẩm, giao diện tương đối ổn định, đội vừa phải, chưa có người chuyên trách kỹ thuật giao diện.
Làm gì: lập một file danh sách biến màu, chữ, khoảng cách và quy ước cập nhật. Mỗi khi đổi giá trị, cả đội cùng theo file đó.
Giới hạn: phụ thuộc kỷ luật người, nếu có người quên cập nhật vẫn lệch.
Mức 2: Token nối vào mã từng nền tảng, có pipeline tự động
Phù hợp khi: nhiều nền tảng cùng lúc, nhiều đội ra tính năng song song, có người kỹ thuật chuyên duy trì cầu nối.
Làm gì: token được xuất tự động từ file nguồn vào từng codebase. Đổi token, pipeline cập nhật tất cả nền tảng.
Giới hạn: dựng và duy trì pipeline tốn công, cần người hiểu cả thiết kế lẫn kỹ thuật.
Chưa đồng bộ tự động, giữ nguồn thủ công nhưng kỷ luật
Phù hợp khi: giao diện còn thay đổi hướng thường xuyên, hoặc đội chưa đủ người vận hành.
Làm gì: giữ danh sách token, chưa nối tự động, đợi giao diện ổn định rồi xét lại.
Lý do: khi giao diện xoay trục liên tục, pipeline tự động trở thành gánh nặng vì phải cập nhật mỗi lần đổi hướng.
Yếu tố lõi như màu và chữ nên nhất quán xuyên nền tảng, nhưng mỗi nền tảng vẫn có thói quen tương tác riêng cần tôn trọng. Ép đồng nhất tuyệt đối là làm sản phẩm xa lạ với người dùng từng hệ điều hành.
UXPin, Design systems for cross-device consistency
Trong công việc với khách có sản phẩm số, Sinh Vũ giữ vai giám đốc sáng tạo và người dựng luật: khóa nguồn chung gồm màu, chữ, thành phần giao diện vào thư viện và tài liệu rõ ràng. Phần nối token vào từng codebase là việc của đội kỹ thuật hoặc đối tác lập trình của Anh Chị, Sinh Vũ không thay thế vai đó.
Điều Sinh Vũ tư vấn là mức đồng bộ vừa đủ với quy mô thực tế. Khách nhỏ, một nền tảng, giao diện còn xoay: tài liệu token rõ ràng là đủ, chưa cần cỗ máy. Khách lớn hơn, nhiều đội, nhiều nền tảng: xét mức 2, nhưng phải có người kỹ thuật chịu trách nhiệm duy trì. Không có công thức chung, chỉ có câu hỏi đúng cần hỏi trước khi quyết định.
iTitans: Design tokens cross-platform. UXPin: Design systems for cross-device consistency. Kinh nghiệm thực hành Sinh Vũ Studio.
Token thiết kế (design token) là tên biến dùng chung cho màu, cỡ chữ, khoảng cách, ví dụ: 'màu-chính' thay vì viết cứng mã hex ở mỗi chỗ. Khi cần đổi màu thương hiệu, Anh Chị chỉ sửa một chỗ, mọi nền tảng cập nhật theo. Bắt đầu không phức tạp: một file danh sách biến và tài liệu rõ là đủ cho đội nhỏ.
Sinh Vũ đảm nhận phần khóa nguồn chung như bộ màu, chữ, thành phần giao diện trong thư viện và luật thiết kế. Phần nối token vào từng codebase nền tảng là việc của đội kỹ thuật hoặc đối tác lập trình của Anh Chị. Sinh Vũ tư vấn mức đồng bộ phù hợp và chuẩn bị tài liệu bàn giao để đội kỹ thuật triển khai đúng.
Chưa nên. Khi giao diện còn xoay trục thường xuyên, cầu nối tự động trở thành gánh nặng vì mỗi lần đổi hướng thiết kế lại phải cập nhật pipeline. Giai đoạn này nên giữ nguồn thủ công nhưng kỷ luật, tức là có một file token duy nhất và quy ước cập nhật rõ ràng, đợi giao diện ổn định rồi mới xét nối tự động.