Şirket genelinde kullanılacak bir design system / component library nasıl kurarsınız?

Cevap

Design system; design token'lar, erişilebilir temel bileşenler, dokümantasyon ve sürümleme sürecinden oluşan bir üründür. Amaç tutarlılık ve ekiplerin hızlanmasıdır.

Katmanlar

  1. Design tokens: Renk, boşluk, tipografi, radius, gölge. Tek kaynaktan (ör. JSON, Style Dictionary) CSS custom property'lerine dönüştürülür; tema (dark mode, marka) değişkenleri değiştirerek yapılır.
  2. Primitives: Box, Stack, Text gibi layout yapı taşları.
  3. Bileşenler: Button, Dialog, Combobox... Davranış ve erişilebilirlik için çoğu zaman headless kütüphaneler (Radix UI, React Aria) üzerine stil giydirilir.
  4. Pattern'ler: Form layout, boş durum, tablo gibi kalıplar.

Bileşen API ilkeleri

  • Native özellikleri geçir (...props, ref), className ile genişletmeye izin ver.
  • variant, size gibi sınırlı seçenekler; serbest stil yerine tasarım kısıtları.
  • Composition: <Dialog><Dialog.Title/><Dialog.Content/></Dialog>.

Altyapı

  • Monorepo (pnpm workspaces, Turborepo), tree-shake edilebilir ESM çıktı, sideEffects: false.
  • Storybook ile dokümantasyon, Chromatic/Playwright ile visual regression, axe ile otomatik a11y testi.
  • Semver ve Changesets ile changelog; breaking change'ler için codemod ve deprecation süresi.

Benimsetme

Kütüphane yazmak işin yarısıdır: katkı rehberi, tasarım (Figma) ile kod arasında aynı isimlendirme ve kullanım metrikleri gerekir.

  1. Bir autocomplete (typeahead) arama bileşenini nasıl tasarlarsınız?ZorFrontend Sistem TasarımıFrontend
  2. Bir frontend sistem tasarımı mülakatına nasıl yaklaşırsınız? Hangi adımları izlersiniz?KolayFrontend Sistem TasarımıFrontend
  3. Offline-first çalışan bir web uygulamasını (ör. not alma uygulaması) nasıl tasarlarsınız?ZorFrontend Sistem TasarımıFrontend
  4. Çok dilli (i18n) bir frontend uygulamasını nasıl tasarlarsınız?OrtaFrontend Sistem TasarımıFrontend
  5. Micro-frontend mimarisi nedir? Ne zaman tercih edilir, dezavantajları nelerdir?ZorFrontend Sistem TasarımıFrontend
  6. Büyük bir React uygulamasında state management mimarisini nasıl kurgularsınız?OrtaFrontend Sistem TasarımıFrontend

Bu konuda başka bir soru biliyor musun?

Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.

Soru ekle