12q - Kart & Bileşen Kütüphanesi | Frontend Bölümü
Sonraki
UI Bileşenleri

Kart & Bileşen Kütüphanesi

18 farklı bileşen: Şarkılar, albümler, sanatçılar için hazır kartlar.

Bu Ne İşe Yarar?

Lego parçaları gibi düşünün! Her içerik türü için hazır tasarım kalıpları var. Şarkı kartı, albüm kartı, sanatçı kartı... Hepsi aynı dilde konuşuyor, tutarlı görünüyor. Geliştirici yeni bir sayfa yaparken bu parçaları birleştiriyor, sıfırdan tasarım yapmıyor.

Kart Bileşenleri

Şarkı Kartı

Kapak, ad, sanatçı, süre, çal butonu

Albüm Kartı

Kapak, albüm adı, sanatçı, yıl, şarkı sayısı

Sanatçı Kartı

Yuvarlak fotoğraf, isim, takipçi sayısı

Playlist Kartı

Kapak mozaiği, ad, oluşturan, şarkı sayısı

Radyo Kartı

Logo, kanal adı, canlı göstergesi

Tür Kartı

Gradient arka plan, tür adı, ikon

Satır Bileşenleri

1
Şarkı Adı
Sanatçı Adı
3:45
Son Dinlenen
2 dakika önce
Satır vs Kart

Kartlar geniş alanlarda (ana sayfa), satırlar dar alanlarda (listeler, kuyruk) kullanılır.

Lazy Image Loading

Nasıl Çalışır?
  • 1 Sayfa açıldığında sadece görünen görseller yüklenir
  • 2 Kaydırdıkça diğerleri sıraya girer
  • 3 Görsel yüklenene kadar placeholder gösterilir
  • 4 Yüklenince yumuşak fade-in animasyonu
%70
Daha Hızlı Yükleme
İlk sayfa açılışında

Bileşen İstatistikleri

18
Toplam Bileşen
6
Kart Tipi
4
Satır Tipi
8
Yardımcı Bileşen

Bu Sayfanın Anahtar Terimleri

Component (Bileşen)
Tekrar kullanılabilir UI parçası. Bir kez yaz, her yerde kullan. Lego parçası gibi.
Lazy Loading (Tembel Yükleme)
Görselleri sadece gerektiğinde yükleme. Sayfa hızını artırır, veri tasarrufu sağlar.
Placeholder (Yer Tutucu)
Asıl içerik yüklenene kadar gösterilen geçici görsel/şekil. Gri kutu gibi.
UI Library (Arayüz Kütüphanesi)
Hazır bileşenler koleksiyonu. Buton, kart, modal gibi elementlerin standart tasarımları.

Arkaplanda Neler Çalışıyor?

Bileşen kütüphanesi kullanıldığında ve componentler render edilirken arka planda şu işlemler gerçekleşir:

1. Blade Component Çözümleme

@component('muzibu::song-card', $song) çağrıldığında Laravel ilgili Blade dosyasını bulur. Props validate edilir, slot'lar işlenir ve HTML çıktısı oluşturulur.

resources/views/components/muzibu/song-card.blade.php

2. Livewire Component Başlatma

Livewire componentleri ilk render'da PHP state'i JSON olarak sayfaya gömülür. JavaScript tarafı bu state'i okur ve reactivity kurar. Wire directives ile event binding yapılır.

wire:model, wire:click, wire:loading - AJAX reaktivite

3. Alpine.js Direktifleri

x-data ile component state tanımlanır. x-show, x-if ile conditional rendering, x-transition ile animasyonlar, @click ile event handling yapılır. Sayfa yüklenince tüm direktifler parse edilir.

x-data="{ open: false }" @click="open = !open" x-show="open"

4. Lazy Image Loading

Şarkı kapakları loading="lazy" ile yüklenir. Viewport'a girince tarayıcı indirmeye başlar. Placeholder gradient gösterilir, görsel yüklenince fade-in ile görünür.

@img loading="lazy" @load="loaded = true" x-show="loaded"

5. Component Caching

Sık kullanılan componentler @once ile bir kez render edilir. CSS/JS inline edilmişse tekrar eklenmez. View cache ile derlenmiş PHP dosyaları saklanır.

@once @push('styles') ... @endpush @endonce
COMPONENTS
18 Farklı Bileşen
Şarkı Kartı
song-card.blade.php
Sanatçı Kartı
artist-card.blade.php
Radyo Kartı
radio-card.blade.php
18
Bileşen
6
Kart
4
Satır