Divar
Sonnat Design Kit
Figma UI Kit
نسخههای رسمی
معرفی Sonnat Design Kit
سونات (Sonnat) دیزاین سیستم و مجموعهای از ابزارهای طراحی و توسعه است که برای ایجاد تجربهای منسجم در محصولات دیجیتال دیوار شکل گرفت. این سیستم تلاش میکند زبان مشترکی میان طراحان و توسعهدهندگان ایجاد کند تا رابطهای کاربری با سرعت بیشتر، هماهنگی بالاتر و رفتار قابلپیشبینیتری ساخته شوند.
سونات علاوه بر منابع طراحی، یک کتابخانه متنباز از کامپوننتهای React و مجموعهای از آیکنها را در اختیار تیمها قرار میدهد. توجه به زبان فارسی، رابطهای راستبهچپ و نیازهای محصولات دیجیتال ایرانی، آن را به یکی از نمونههای قابلتوجه دیزاین سیستمهای بومی تبدیل کرده است.
فلسفه و اصول طراحی
هسته اصلی سونات بر سه مفهوم استوار است: انسجام، پایداری و دسترسپذیری. هدف این سیستم تنها یکسانسازی ظاهر صفحات نیست؛ بلکه تلاش میکند تصمیمهای تکرارشونده در طراحی و توسعه را به قواعد و اجزایی قابلاستفاده مجدد تبدیل کند.
وجود زبان مشترک باعث میشود طراح و توسعهدهنده برداشت نزدیکتری از اجزای رابط داشته باشند. در نتیجه، زمان کمتری صرف تعریف دوباره الگوهای پایه میشود و تیم میتواند تمرکز بیشتری روی حل مسئلههای واقعی کاربران داشته باشد.
سونات همچنین با رویکردی انعطافپذیر طراحی شده است. محصولات میتوانند ضمن استفاده از قواعد و اجزای مشترک، رنگها، تایپوگرافی، نقاط شکست و بخشهای مختلف تم را متناسب با هویت خود تغییر دهند.
زبان بصری
زبان بصری سونات ساده، کاربردی و متناسب با محصولات محتوایی و سرویسمحور است. استفاده کنترلشده از رنگ، فاصلهگذاری منظم، تایپوگرافی خوانا و سلسلهمراتب مشخص باعث میشود محتوا و عملکرد هر صفحه بیشتر از عناصر تزئینی مورد توجه قرار گیرد.
سیستم رنگ سونات شامل طیفهای مختلفی از رنگهای اصلی، خنثی و معنایی است که برای نمایش وضعیتهایی مانند موفقیت، هشدار، خطا و اطلاعرسانی استفاده میشوند. این ساختار به تیمها کمک میکند رنگ را نه فقط بهعنوان عنصری تزئینی، بلکه بهعنوان ابزاری برای انتقال معنا به کار ببرند.
تایپوگرافی نیز امکان تعریف فونتهای جداگانه برای رابطهای راستبهچپ و چپبهراست را فراهم میکند. این ویژگی به سونات اجازه میدهد در محصولاتی با محتوای فارسی، انگلیسی یا ترکیبی، ساختار خوانا و هماهنگی داشته باشد.
کامپوننتها و الگوها
کتابخانه رابط کاربری سونات مجموعهای از کامپوننتهای پرکاربرد مانند دکمهها، فیلدهای ورودی، کنترلهای فرم، منوها، تولتیپها، مسیر راهنما، انتخابگرها و کنترلهای عددی را ارائه میکند. این اجزا برای استفاده در پروژههای React توسعه داده شدهاند و بسیاری از وضعیتها و رفتارهای متداول رابط کاربری را پوشش میدهند.
کامپوننتها فقط ظاهر عناصر را مشخص نمیکنند؛ بلکه حالتهایی مانند غیرفعال بودن، خطا، تمرکز، تعامل با ماوس یا صفحهکلید و نمایش اطلاعات تکمیلی را نیز در نظر میگیرند. این موضوع احتمال ایجاد رفتارهای متفاوت برای یک عملکرد مشابه در بخشهای مختلف محصول را کاهش میدهد.
سونات همچنین مجموعهای مستقل از آیکنهای توپر و خطی دارد که میتوان آنها را بهصورت SVG یا پکیج آماده در پروژهها استفاده کرد. هماهنگی بصری آیکنها با سایر اجزای رابط، به یکپارچگی بیشتر محصول کمک میکند.
تجربه توسعه و شخصیسازی
پیادهسازی فنی سونات با React و TypeScript انجام شده و کتابخانه آن از طریق پکیج @sonnat/ui در دسترس است. توسعهدهندگان میتوانند اجزای موردنیاز را بهصورت مستقل وارد پروژه کنند و از ابزارهای آماده سونات برای راهاندازی ساختار اولیه برنامه استفاده کنند.
سیستم تم سونات امکان شخصیسازی رنگ اصلی، تایپوگرافی، جهت صفحه، نقاط شکست و سایر ویژگیهای ظاهری را فراهم میکند. همچنین میتوان تنظیمات اختصاصی هر محصول را به تم اضافه کرد یا استایل کامپوننتها را توسعه داد.
وجود مستندات فنی، نمونههای اجرایی و Playground باعث میشود توسعهدهندگان بتوانند رفتار کامپوننتها را پیش از استفاده بررسی کنند. بااینحال، سونات در مقایسه با دیزاین سیستمهای بزرگی مانند Material Design یا Ant Design، اکوسیستم و جامعه کاربری محدودتری دارد.
دسترسپذیری و پشتیبانی از زبان فارسی
یکی از ویژگیهای مهم سونات، پشتیبانی مستقیم از جهت راستبهچپ است. جهت رابط را میتوان در سطح تم روی RTL تنظیم کرد و برای محتوای فارسی، فونت مستقلی در نظر گرفت. این قابلیت باعث میشود سونات برای طراحی و توسعه محصولات فارسیزبان مناسبتر از بسیاری از کتابخانههای عمومی باشد.
در ساختار کامپوننتها نیز تلاش شده وضعیتهای تعاملی و شیوههای مختلف استفاده از اجزا در نظر گرفته شود. بااینحال، دسترسپذیری کامل یک محصول تنها با انتخاب یک کتابخانه تضمین نمیشود و همچنان به نحوه استفاده از کامپوننتها، ساختار محتوا، کنتراست رنگها و پیادهسازی نهایی وابسته است.
نقاط قوت و محدودیتها
مهمترین نقطه قوت سونات، شکلگیری آن در بستر یک محصول بزرگ و فارسیزبان است. پشتیبانی از RTL، امکان تعریف تایپوگرافی فارسی، کتابخانه React، مجموعه آیکنها و قابلیت شخصیسازی تم، آن را به نمونهای کاربردی برای مطالعه دیزاین سیستمهای ایرانی تبدیل میکند.
سونات تحت مجوز MIT منتشر شده و منابع فنی آن بهصورت متنباز در دسترس قرار گرفتهاند؛ بنابراین تیمهای دیگر نیز میتوانند ساختار آن را بررسی کرده یا در پروژههای خود به کار بگیرند.
محدودیت مهم سونات، وضعیت نگهداری آن است. سازمان رسمی این پروژه در گیتهاب آرشیو شده و مخازن اصلی آن دیگر بهصورت فعال توسعه داده نمیشوند. به همین دلیل، استفاده از آن در یک پروژه جدید باید پس از بررسی سازگاری با نسخههای جدید React، وضعیت وابستگیها و نیازهای فنی محصول انجام شود.
همچنین پوشش الگوهای پیچیده محصول، راهنمای محتوایی و مستندات عمیق تجربه کاربری در سونات به گستردگی دیزاین سیستمهایی مانند Material Design، Carbon یا Fluent نیست.
جمعبندی
سونات را میتوان یکی از نمونههای مهم تلاش برای ایجاد یک دیزاین سیستم بومی در ایران دانست؛ سیستمی که نیازهای زبان فارسی، رابط راستبهچپ و همکاری میان طراحی و توسعه را در مرکز توجه قرار داده است.
اگرچه توسعه فعال آن متوقف شده، ساختار سونات همچنان میتواند منبع مناسبی برای بررسی نحوه طراحی توکنها، تمها، کامپوننتهای React و آیکنهای هماهنگ در یک محصول فارسیزبان باشد. مهمترین درس سونات این است که یک دیزاین سیستم موفق تنها مجموعهای از کامپوننتها نیست؛ بلکه زیرساختی مشترک برای هماهنگکردن تصمیمهای طراحی و توسعه در مقیاس یک محصول است.