Atomic Design — temeller, arayüzde atomlar, moleküller ve organizmalar

Yazar: IT Sectr Yayınlanma: 2026-02-21 Okuma süresi: 11 dk

Atomic Design'ın ne olduğunu açıklıyoruz — 2013 yılında Brad Frost tarafından önerilen, UI bileşenlerinin hiyerarşisini oluşturmak için atom, molekül ve organizma metaforunu ödünç alan bir arayüz tasarım metodolojisi. Sayfa tabanlı yaklaşımın (arayüzün ekran ekran tasarlandığı) aksine, Atomic Design arayüzü en küçük yeniden kullanılabilir öğelere (atomlar) ayırır ve bunları daha karmaşık yapılara birleştirir. Brad Frost'a (2016) göre, metodoloji IBM, Airbnb ve Google dahil olmak üzere büyük şirketlerin %67'sinin tasarım sistemlerinde kullanılmaktadır.

Önemli Noktalar

  • Atomic Design — UI bileşenlerini beş seviyeye ayıran bir metodoloji: atomlar, moleküller, organizmalar, şablonlar ve sayfalar.
  • Atomlar temel HTML öğeleridir (düğme, giriş alanı, etiket); moleküller atomların kombinasyonlarıdır (etiketli giriş alanı); organizmalar karmaşık bloklardır (oturum açma formu).
  • Metodoloji 2013 yılında Brad Frost tarafından önerilmiş ve "Atomic Design" (2016) kitabında açıklanmıştır.
  • Atomic Design, modern tasarım sistemlerinin temelidir: Material Design, Carbon (IBM), Lightning (Salesforce).
  • Mobil geliştirmede Atomic Design, bileşen çerçeveleriyle (Jetpack Compose ve SwiftUI) entegre olur ve özel bileşenler doğal olarak atomları ve molekülleri tanımlar.

Atomic Design Nedir?

Atomic Design, her UI öğesinin beş seviyeden birine ait olduğu hiyerarşik arayüz sistemleri oluşturmaya yönelik bir metodolojidir: atomlar (temel öğeler), moleküller (atom kombinasyonları), organizmalar (karmaşık bloklar), şablonlar (sayfa tel kafesleri) ve sayfalar (veri içeren belirli ekranlar). Benzetme kimyadan ödünç alınmıştır: atomlar molekülleri, moleküller organizmaları, organizmalar şablonları oluşturur, şablonlar içerikle doldurulur ve sayfalar haline gelir.

Metodoloji, web tasarımcısı Brad Frost tarafından 2013 yılında "sayfa düşüncesi" sorununa (mevcut bileşenleri dikkate almadan her yeni ekranın sıfırdan tasarlanması) bir yanıt olarak önerilmiştir. "Atomic Design" (2016) kitabında Frost, büyük şirketlerin (IBM, GE, Starbucks) projelerinde metodolojinin uygulanmasını açıklamaktadır. Nielsen Norman Group'a (2022) göre Atomic Design, hazır bileşenlerin yeniden kullanımı yoluyla yeni ekranların tasarım süresini %30–50 oranında azaltır.

Atomic Design bir teknolojiden çok bir UI organizasyon felsefesidir. Belirli bir çerçeveye bağlı değildir ve hem web'de (React, Vue) hem de mobil geliştirmede (Jetpack Compose, SwiftUI) uygulanabilir. IT Sectr'de, müşterilerimiz için tasarım sistemleri oluşturmak amacıyla Atomic Design'ı kullanıyoruz: tasarım aşamasında atomik bileşenleri belirliyor ve bunları Compose/SwiftUI'de kod bileşenlerine aktarıyoruz.

Beş Seviye: Atomlar, Moleküller, Organizmalar, Şablonlar, Sayfalar

Atomic Design'ın her seviyesi kendi sorununu çözer ve katı bir sorumluluk alanına sahiptir. Atomlar, anlamını yitirmeden daha fazla bölünemeyen arayüzün en küçük yapı taşlarıdır: düğme, metin alanı, simge, etiket, onay kutusu. Atomlar iş mantığı içermez ve bağlama bağlı değildir. Temel görsel özellikleri tanımlarlar: renk, boyut, boşluk, tipografi.

Moleküller, basit işlevsel birimler oluşturan iki veya daha fazla atomun kombinasyonlarıdır. Etiket ve hata mesajı olan bir giriş alanı bir moleküldür. Görsel, ad ve fiyat içeren bir ürün kartı bir moleküldür. Moleküller temel mantık (hatayı göster/gizle) içerebilir ancak iş süreçleri içermez. Moleküller, bileşenlerin farklı ekranlarda yeniden kullanılabilir hale geldiği ilk seviyedir.

Organizmalar, moleküllerden ve atomlardan oluşan, uygulamanın belirli bir işlevini uygulayan karmaşık arayüz bloklarıdır. Bir oturum açma formu (e-posta alanı, şifre alanı, gönderme düğmesi, "şifremi unuttum" bağlantısı) bir organizmadır. Logo, arama ve gezinme içeren bir başlık bir organizmadır. Organizmalar iş mantığı içerebilir ve API'ye erişebilir, ancak yalnızca kendi işlevleri kapsamında.

Şablonlar, belirli bir içerik olmadan ekrandaki organizmaların düzenini tanımlayan sayfa tel kafesleridir. Bir şablon, ızgarayı, sütunları, içerik alanlarını tanımlar — kod seviyesinde bir tel kafes. Şablonlar veri içermez, yalnızca yer tutucular içerir. İçerikle doldurmadan önce sayfa yapısını değerlendirmeye olanak tanırlar.

Sayfalar, şablonun gerçek verilerle doldurulduğu belirli uygulama ekranlarıdır. Bu seviyede, bileşenlerin gerçek içerikle (uzun dizeler, eksik veriler, hatalar) nasıl göründüğü kontrol edilir. Sayfalar, son kullanıcının gördüğü tek seviyedir. Sayfa seviyesindeki değişiklikler atomları, molekülleri ve organizmaları etkilememelidir — bir bileşenin değiştirilmesi gerekiyorsa, değişiklik kendi seviyesinde yapılır ve sayfa bunu otomatik olarak alır.

Atomic Design'ın Avantajları ve Sınırlamaları

Avantajlar — Atomic Design'ın avantajları arayüzleri ölçeklendirirken belirginleşir. Tek bir bileşen kitaplığı görsel tutarlılığı garanti eder: bir düğme tüm ekranlarda aynı görünür çünkü aynı atomdur. Brad Frost'a (2016) göre, Atomic Design'ı uygulayan şirketler, hazır moleküllerin ve organizmaların yeniden kullanımı yoluyla yeni ekran geliştirme süresini %30–50 oranında azaltır.

ÖzellikAtomic DesignSayfa Tabanlı Yaklaşım
Bileşen yeniden kullanımıYüksek (atomlar, moleküller, organizmalar)Düşük (her ekran sıfırdan)
Görsel tutarlılıkGarantiliManuel kontrol
Yeni ekran oluşturma hızıYüksek (hazır bloklardan montaj)Düşük (sıfırdan tasarım + işaretleme)
Uygulama karmaşıklığıYüksek (bileşen kataloğu gerekir)Düşük (tanıdık model)
Test edilebilirlikYüksek (her atom izole)Entegrasyon (tüm ekran bir kerede)

Sınırlamalar — Atomic Design, uygulama durumunun nasıl yönetileceğini açıklamaz. Metodoloji yalnızca "UI bileşenleri nasıl organize edilir" sorusunu yanıtlar ancak iş mantığı, yönlendirme veya veri yönetimini ele almaz. İkinci sınırlama, sınırları tanımlamanın zorluğudur: bir molekül nerede biter ve bir organizma nerede başlar? Pratikte sınırlar bulanıktır ve farklı ekipler aynı bileşeni farklı şekilde sınıflandırabilir. Tasarım token'larında ve bir bileşen kataloğunda (Storybook, Jetpack Compose Preview) kurallar belirlenmesi önerilir.

Üçüncü sınırlama, küçük projeler için aşırı soyutlamadır. Bir uygulama 5 ekrandan oluşuyorsa, atomlar ve moleküller hiyerarşisi oluşturmak gereksiz iştir. Atomic Design, ekran sayısı 20'yi aştığında ve bileşenler farklı sayfalarda yeniden kullanıldığında avantajlı hale gelir.

Atomic Design vs Feature-Sliced Design

Atomic Design ve Feature-Sliced Design (FSD) farklı sorunları çözer ve birlikte kullanılabilir. Atomic Design, UI bileşenlerini düzenlemek için bir metodolojidir; FSD, iş katmanlarını ve uygulamanın tamamını düzenlemek için bir metodolojidir. Atomic Design "UI'nin yeniden kullanılabilir parçalara nasıl bölüneceği" sorusunu yanıtlarken, FSD "kodun iş özellikleri etrafında nasıl organize edileceği" sorusunu yanıtlar. Rekabet etmezler: features ve entities katmanlarına sahip bir FSD yapınız olabilir ve her katmanın içinde UI bileşenlerini düzenlemek için Atomic Design'ı kullanabilirsiniz.

KriterAtomic DesignFeature-Sliced Design
KapsamUI bileşenleriUygulama mimarisi
Gruplama birimiKimyasal metafor (atom → molekül → organizma)İş özelliği (dilim)
BağımlılıklarAtomlardan sayfalara (aşağıdan yukarıya)Uygulamadan paylaşıma (yukarıdan aşağıya)
Veri işlemeAçıklanmamışModel + API segmentleri aracılığıyla
ÖlçeklemeYatay (daha fazla bileşen)Dikey (daha fazla özellik)

Tipik kombinasyon: FSD, uygulamanın modüler yapısını (katmanlar, dilimler) tanımlar; Atomic Design, her dilimin içindeki UI bileşenlerinin iç yapısını tanımlar. Örneğin, feature.auth dilimi, Atomic Design kurallarına göre birleştirilmiş moleküller (LoginForm, PasswordInput) ve organizmalar (AuthPage) içerir. Paylaşılan katman, tüm özelliklerde yeniden kullanılan atomları (Button, Input, Label) içerir.

Mobil Uygulamalarda Atomic Design: Compose ve SwiftUI

Jetpack Compose ve SwiftUI, bileşen kompozisyonu aracılığıyla Atomic Design hiyerarşisini doğal olarak destekler. Atomlar Compose'da temel @Composable işlevlerdir: AppButton, AppTextField, AppCheckbox. Her işlev özelleştirme parametreleri (renk, boyut, durum) alır ve iş mantığı içermez. Atomlar paylaşılan katmanda tanımlanır ve bir UI kiti olarak dışa aktarılır.

Moleküller, birden çok atomu birleştiren @Composable işlevlerdir: LabeledTextField (etiket + giriş alanı + hata mesajı), ProductCard (görsel + ad + fiyat). Moleküller temel durum (alan geçerliliği) içerebilir ancak API'ye veya ViewModel'e erişmez. Farklı organizmalarda yeniden kullanılırlar.

Organizmalar, özellik seviyesindeki @Composable işlevlerdir: LoginForm (e-posta için LabeledTextField + şifre için LabeledTextField + gönderme AppButton'ı + kurtarma bağlantısı). Organizmalar, Intent işlevleri aracılığıyla ViewModel ile çalışır ve iş mantığı içerebilir. SwiftUI'de, @ViewBuilder ve özel View yapıları aracılığıyla benzer bir hiyerarşi oluşturulur.

SwiftUI'de bir atom, özel bir View yapısı olan AppButton'dır; bir molekül, HStack üzerinde etiketli bir giriş alanıdır; bir organizma, bir oturum açma formudur. Bu yapı, bileşenlerin tüm ekranlarda yeniden kullanılmasına olanak tanır — bir atomun değiştirilmesi (düğme rengi) otomatik olarak tüm ekranlara uygulanır. Atomic Design'ın bir tasarım sistemiyle birleşimi, her ekranın manuel kontrolü olmadan arayüz tutarlılığını garanti eder.

Sıkça Sorulan Sorular

Atomic Design'ın beş seviyesini katı bir şekilde takip etmek gerekli mi?

Beş seviye bir tavsiyedir, yasa değildir. Birçok tasarım sistemi (Material Design, IBM Carbon) 3 veya 4 seviye kullanır: temel bileşenler, bileşik bileşenler ve şablonlar. Ana kural, her bileşenin bir seviyeye ait olması ve üst seviyelerde yeniden kullanılabilmesidir. Projenizde "molekül" ve "organizma" seviyelerinin farklı olmadığını görürseniz — bunları birleştirin. Atomlar ve sayfalar tek zorunlu seviyelerdir.

Atomic Design bileşenleri nasıl test edilir?

Atomlar görsel olarak test edilir (Anlık Görüntü testleri, Compose Preview) — belirli özelliklere sahip bir düğmenin doğru şekilde işlenip işlenmediği kontrol edilir. Moleküller, atomların bir kombinasyonu olarak test edilir — durum kontrol edilir (hata, başarı, devre dışı). Organizmalar entegrasyon testleri gerektirir — ViewModel ile etkileşim kontrol edilir (form gönderme, veri yükleme). IT Sectr'de Android için Compose Test ve iOS için XCTest kullanıyoruz; görsel testler için — Paparazzi (Android) ve SnapshotTesting (iOS).

Atomic Design bir tasarım sistemi olmadan kullanılabilir mi?

Kullanılabilir, ancak verimlilik düşer. Bir tasarım sistemi ve tasarım token'ları olmadan, atomların birleşik bir stili olmaz — her geliştirici keyfi renkler ve boşluklarla kendi atomlarını oluşturur ve bu da görsel tutarsızlığa yol açar. Atomic Design ve tasarım sistemi tamamlayıcı kavramlardır: Atomic Design hiyerarşiyi tanımlar, tasarım sistemi görsel dili tanımlar. Birlikte uygulanmaları önerilir: önce tasarım token'ları (renkler, tipografi, boşluklar), sonra atomlar, sonra moleküller ve organizmalar.

"Atomik bölge" (çok fazla atom) ile nasıl başa çıkılır?

"Atomik bölge", atom sayısının makul sınırları (100+) aştığı ve gerekli bileşeni bulmanın sıfırdan yazmaktan daha uzun sürdüğü bir durumdur. Çözüm, atomların özelliklere göre konumlandırılmasıdır: yalnızca bir özellik tarafından kullanılan bir atom, paylaşılan alanda değil, o özelliğin içinde saklanmalıdır. Paylaşılan alana yalnızca genel atomlar (Button, Text, Input) yerleştirilir. Brad Frost'a göre, konumlandırma, yeniden kullanılabilirliği kaybetmeden paylaşılan atom sayısını %60–70 oranında azaltır.

Atomic Design yalnızca UI için mi yoksa kod için de mi?

Atomic Design başlangıçta bir arayüz tasarım metodolojisiydi, ancak modern uygulamada kod düzenlemek için de kullanılır. Tasarım araçlarında (Figma, Sketch) atomlar kitaplık bileşenleridir; kodda ise işlevler ve sınıflardır. Metodoloji, tasarım ve kod arasında ayrım yapmaz — atom, hem makette hem de uygulamada aynıdır. IT Sectr'de, tasarım atomlarını ve kod atomlarını senkronize etmek için supernova.io kullanıyoruz, böylece mocket ile son arayüz arasındaki tutarsızlıkları ortadan kaldırıyoruz.

Özet

  • Atomic Design, atomlar, moleküller, organizmalar, şablonlar ve sayfalar metaforunu kullanan UI bileşenlerinin hiyerarşik organizasyonu için bir metodolojidir.
  • Atomlar temel öğelerdir (düğme, giriş); moleküller bunların kombinasyonlarıdır (etiketli alan); organizmalar karmaşık bloklardır (arama formu).
  • Şablonlar çerçeveyi tanımlar, sayfalar — belirli veri doldurmayı.
  • Atomic Design durumu veya iş mantığını yönetmez — yalnızca UI katmanının organizasyonuyla ilgilenir.
  • Mobil geliştirmede atomlar doğal olarak @Composable işlevler (Android) ve View yapıları (iOS) tarafından tanımlanır.
  • Atomic Design, FSD ile iyi bir şekilde birleşir: FSD mimariyi tanımlar, Atomic Design dilimler içindeki UI'yi organize eder.
  • Ana avantajlar, bileşen yeniden kullanımı, görsel tutarlılık ve yeni ekran oluşturma hızıdır.

Anahtar teslim bir mobil uygulama geliştireceğiz

IT Sectr, 2017'den beri girişimler ve işletmeler için iOS ve Android uygulamaları oluşturmaktadır. Size danışmanlık yapacak ve en iyi çözümü önereceğiz.

Projeyi tartış

Ayrıca okuyun