اخبار وب

Figma Dev Mode و پل بین طراحی و کد

راهنمای تحویل طراحی با Figma Dev Mode؛ محدودیت code snippet، Ready for dev، Design Tokens، حالت‌های رابط و همکاری طراح و توسعه‌دهنده.

1404/12/08 1 دقیقه مطالعه 1,309 بازدید
Figma Dev Mode و پل بین طراحی و کد

Figma Dev Mode فضای کاری برای خواندن مشخصات طرح و همکاری در تحویل آن به توسعه است. برداشت «یک دکمه برای تبدیل کامل طرح به برنامه» درباره این ابزار دقیق نیست. ابعاد، ویژگی‌های اجزا و code snippet می‌توانند شروع پیاده‌سازی را آسان‌تر کنند، اما رفتار برنامه، قرارداد داده و معماری از خود تصویر طرح به دست نمی‌آیند. برای استفاده مفید، باید بدانیم چه اطلاعاتی از فایل قابل استخراج است و کدام تصمیم هنوز باید میان طراح و توسعه‌دهنده روشن شود. این مرز، تحویل طرح را از کپی‌کردن چند مقدار CSS به یک فرایند قابل نگهداری تبدیل می‌کند.

Inspect چه اطلاعاتی می‌دهد؟

راهنمای Inspect در Figma توضیح می‌دهد که ویژگی‌های عناصر انتخاب‌شده در پنل مربوط نمایش داده می‌شوند. توسعه‌دهنده می‌تواند ساختار لایه، اندازه و مشخصات سبک را بخواند و اطلاعات مورد نیازش را از طرح بگیرد. این اطلاعات وقتی مفیدترند که فایل منظم و اجزا نام‌گذاری شده باشند. یک لایه با نام مبهم و چند مقدار دستی، درباره نقش آن در محصول توضیح کافی نمی‌دهد. ابزار اندازه را نشان می‌دهد؛ معنی اندازه در ساختار responsive هنوز به تفسیر نیاز دارد.

فاصله میان دو عنصر در یک frame ثابت همیشه یک قاعده عمومی برای صفحه نیست. ممکن است طرح در عرض مشخصی ساخته شده باشد و در عرض کمتر، ترتیب یا تعداد ستون‌ها تغییر کند. توسعه‌دهنده باید بداند فاصله ثابت است، از token می‌آید یا نتیجه Auto Layout است. اگر طراح این قرارداد را توضیح ندهد، خروجی ممکن است فقط شبیه یک تصویر ثابت شود. تحویل خوب رفتار را همراه مقدار می‌دهد: چه چیزی رشد می‌کند، چه چیزی می‌شکند و چه چیزی حداقل عرض دارد.

Code snippet هم باید در همین چارچوب خوانده شود. snippet می‌تواند ویژگی‌های ظاهر را نشان دهد، اما انتخاب ساختار component و روش مدیریت داده به پروژه مربوط است. کپی‌کردن موقعیت‌های مطلق از طرحی که باید با محتوا رشد کند نتیجه شکننده می‌سازد. قبل از استفاده، از خود بپرسید کدام مقدار واقعاً قرارداد طراحی است و کدام فقط موقعیت یک عنصر در canvas است. این پرسش کمک می‌کند خروجی به زبان معماری پروژه ترجمه شود، بدون اینکه ظاهر مورد انتظار از دست برود.

فایل را برای تحویل آماده کنید

نام‌گذاری اجزا باید نقش را روشن کند. «دکمه ارسال درخواست» از یک نام تصادفی لایه برای همکاری مفیدتر است. برای component، variantها و propertyها را بر پایه تفاوت واقعی رفتار یا ظاهر تعریف کنید. اگر یک حالت disabled دارید، توضیح دهید چه زمانی فعال می‌شود و چه اطلاعاتی به کاربر می‌دهد. طرح چند رنگ دکمه به تنهایی قرارداد تعامل نیست. توسعه‌دهنده باید بتواند وضعیت‌ها را به داده یا رویداد برنامه وصل کند.

محتوا را تا حد ممکن واقعی انتخاب کنید. عنوان کوتاه انگلیسی نمی‌تواند رفتار عنوان فارسی بلند را نمایندگی کند. نمونه قیمت، نام محصول و پیام خطا باید طول و قالبی شبیه استفاده واقعی داشته باشند. اگر اطلاعات نهایی هنوز آماده نیست، نمونه‌ای بگذارید که محدودیت چیدمان را نشان دهد و آن را به عنوان نمونه علامت بزنید. متن placeholder را با وعده محصول اشتباه نگیرید. مالک محتوا و زمان تأیید آن باید در تحویل مشخص باشد تا توسعه متوقف یا مجبور به حدس نشود.

حالت‌های خالی، در حال بارگذاری و خطا را هم در فایل یا annotation توضیح دهید. خیلی از اختلاف‌های میان طرح و اجرا از نبود همین حالت‌ها می‌آیند. توسعه‌دهنده مجبور می‌شود چیزی بسازد و بعد طراح آن را خارج از زبان بصری بداند. برای فهرست، بگویید نبود داده با نبود نتیجه جست‌وجو فرق دارد یا نه. برای فرم، خطای شبکه و خطای فیلد را جدا کنید. این تصمیم‌ها به تجربه کاربر مربوط‌اند و از Inspect کردن حالت موفق استخراج نمی‌شوند.

Ready for dev یک وضعیت همکاری است

راهنمای Ready for dev روش استفاده از وضعیت آماده توسعه را شرح می‌دهد. این نشان به تیم کمک می‌کند بخش آماده را از بخش در حال تغییر جدا ببیند. با این حال، نام وضعیت به تنهایی تضمین کامل‌بودن تحویل نیست. بهتر است تیم تعریف مشترکی داشته باشد: محتوا تأیید شده، حالت‌های لازم حاضرند و سؤال‌های اصلی پاسخ گرفته‌اند. اگر این تعریف وجود نداشته باشد، هر عضو «آماده» را به شکل متفاوتی می‌فهمد.

بخش‌هایی که هنوز نامعلوم‌اند را آشکار نگه دارید. اگر رفتار یک گزینه به تصمیم محصول وابسته است، annotation کوتاه با مسئول پاسخ بنویسید. تغییر مخفی در طرح پس از شروع توسعه باعث دوباره‌کاری می‌شود. وقتی تصمیمی عوض شد، دامنه آن را توضیح دهید: فقط متن تغییر کرده یا ساختار و رفتار هم تغییر کرده‌اند؟ توسعه‌دهنده باید بتواند اثر تغییر را ارزیابی کند. وضعیت و تاریخچه وقتی ارزش دارند که گفت‌وگوی تیم درباره تغییر هم دقیق باشد.

برای هر تحویل، لینک frame یا section مشخص بدهید. لینک کل فایل بزرگ کار را به یافتن نسخه صحیح تبدیل می‌کند. کنار لینک، معیار پذیرش کوتاه بنویسید و منابع مرتبط را وصل کنید. اگر پروژه چند محیط یا چند محصول دارد، نام مقصد را مشخص کنید. این اطلاعات ساده از استفاده اتفاقی از طرح قدیمی جلوگیری می‌کند. راهنمای Dev Mode ابزارهای مربوط به مدیریت تحویل و مشاهده نسخه‌ها را معرفی می‌کند، اما نظم استفاده بر عهده تیم است.

Design Tokens و componentهای واقعی

اگر رنگ و فاصله از tokenهای پروژه می‌آیند، توسعه‌دهنده نباید هر بار مقدار تازه‌ای بسازد. نام token در طرح و کد باید رابطه روشن داشته باشد. برای نمونه، رنگ متن خطا یک نقش دارد و نباید فقط با نام رنگ قرمز شناخته شود. وقتی تم تغییر می‌کند، نقش حفظ می‌شود و مقدار می‌تواند متفاوت باشد. مقاله راهنمای Design System درباره ثبت چنین قواعد مشترکی توضیح می‌دهد. Dev Mode خواندن این اطلاعات را تسهیل می‌کند و جای تعریف سیستم را نمی‌گیرد.

Component طراحی و component کد باید تا حد ممکن از یک قرارداد صحبت کنند. اگر طرح چند variant دارد، معلوم کنید در کد به چه prop یا حالت تبدیل می‌شوند. اختلاف نام‌ها را در مرجع کوتاه ثبت کنید. قرار نیست ساختار داخلی هر دو محیط کاملاً برابر باشد؛ ابزار طراحی و برنامه مسئولیت متفاوتی دارند. مهم این است که مصرف‌کننده بداند کدام گزینه به کدام رفتار منتهی می‌شود. این نگاشت جلوی ساخت نسخه‌های مشابه اما ناسازگار یک دکمه یا کارت را می‌گیرد.

Code Connect برای مرتبط‌کردن componentهای طراحی با نمونه کد واقعی در اکوسیستم Figma مطرح شده است. برای استفاده، راهنمای رسمی مربوط و شرایط فعلی پروژه را بخوانید. هدف چنین اتصال‌هایی این است که توسعه‌دهنده به جای snippet عمومی، روش استفاده از component موجود تیم را ببیند. این اتصال نیازمند نگهداری است. اگر API کد عوض شود و نمونه طراحی به‌روز نشود، مرجع می‌تواند گمراه‌کننده شود. مالک همگام‌سازی را مشخص کنید و تغییر قرارداد را در هر دو سمت دنبال کنید.

دسترسی و افزونه‌ها را بررسی کنید

امکانات Dev Mode و دسترسی افراد به نوع seat، طرح اشتراک و مجوز فایل وابسته‌اند. قیمت یا قابلیت یک حساب را به همه حساب‌ها تعمیم ندهید. پیش از سازمان‌دهی تحویل، مطمئن شوید اعضای مربوط امکان دیدن اطلاعات لازم را دارند. اگر کسی فقط تصویر خروجی می‌بیند، فرایند مبتنی بر Inspect برای او کامل نیست. راه جایگزین مستندات یا خروجی مشخص را در نظر بگیرید تا همکاری به فرض نادرست درباره دسترسی ابزار وابسته نماند.

افزونه می‌تواند اطلاعات یا snippet اضافه کند، اما هر افزونه بخشی از تصمیم درباره داده است. مجوز، ناشر و مقصد اتصال را بشناسید. فایل طراحی ممکن است اطلاعات محصول منتشرنشده یا داده مشتری داشته باشد. برای بررسی عمومی یک افزونه از فایل نمونه استفاده کنید. مستندات توسعه افزونه در Dev Mode درباره نقش افزونه‌ها در محیط بازرسی توضیح دارد. وجود یک ابزار در Community به تنهایی سیاست سازمان درباره استفاده از آن را تعیین نمی‌کند.

Responsive و دسترسی‌پذیری را به قرارداد اضافه کنید

چند frame با عرض مختلف به توضیح رفتار کمک می‌کنند، اما فاصله میان آن‌ها هم باید معلوم باشد. بگویید component در چه شرایطی می‌شکند، عنوان چگونه wrap می‌شود و محتوای اضافی چه رفتاری دارد. نباید با مخفی‌کردن بی‌توضیح اطلاعات، نسخه کوچک را صرفاً شبیه تصویر طرح کرد. مقاله Grid و Flexbox ادامه مناسبی برای انتخاب چیدمان است. ابزار layout باید با نیاز محتوا انتخاب شود و نه صرفاً با شکل یک frame.

Focus، label و ترتیب صفحه‌کلید در تصویر ثابت کامل دیده نمی‌شوند. در تحویل فرم، نام قابل دسترس و ارتباط خطا با ورودی را توضیح دهید. برای دکمه icon-only، متن جایگزین لازم است. رنگ تنها نباید نشان‌دهنده خطا یا وضعیت باشد. این تصمیم‌ها را در annotation یا component guide ثبت کنید تا توسعه‌دهنده مجبور نباشد معنای آن‌ها را از رنگ حدس بزند. هماهنگی طراحی و کد زمانی کامل‌تر است که رفتار کاربران مختلف هم بخشی از قرارداد باشد.

برای یک تحویل کوچک، یک section آماده انتخاب کنید و نام اجزا، حالت‌ها، قواعد responsive و معیار پذیرش را کنار آن بنویسید. توسعه‌دهنده سپس مقادیر Inspect را به tokenها و componentهای موجود پروژه وصل می‌کند. اختلاف‌های باقیمانده را با اشاره به رفتار و محدودیت ثبت کنید. این فرایند کوتاه از ارسال یک لینک بدون توضیح مفیدتر است و به تیم نشان می‌دهد Dev Mode در کدام بخش کمک کرده است: دسترسی سریع به مرجع مشخص برای ساخت یک رابط قابل نگهداری.

واکنش به این مقاله

اشتراک‌گذاری این مقاله:
دیدگاه‌ها 0
۰ / ۲۰۰۰

هنوز دیدگاهی ثبت نشده

اولین نفری باشید که نظر می‌دهد!