DavidHDev/canvas-ui
A library of creative canvas components. Real HTML with WebGL effects running over it. React, Vue, Svelte, vanilla.
Hızlı değerlendirme
Özet
canvas-ui, canlı ve etkileşimli HTML arayüzlerinin üzerine WebGL veya WebGPU tabanlı görsel efektler ekleyen bir component library’dir.
Profiline uyum
React ve TypeScript ile web arayüzlerine görsel efektler eklemesi, ürün arayüzü ve tanıtım sayfaları geliştirme ihtiyaçlarınıza uyuyor.
Neden yükseliyor
73 günde 4.707 yıldız, görsel olarak dikkat çekici demo ve birden fazla framework için hazır component sunması ilgiyi açıklıyor. Son 28 günde 8 commit var; ancak farklı yazar sayısının 1 olması, bu aktivitenin tek bir katkıcıya dayandığını gösteriyor.
Problem
Web arayüzlerine fluid, glass ve shader efektleri eklemek çoğu zaman özel canvas/WebGL kodu yazmayı gerektirir; bu da canlı DOM içeriği ve etkileşimlerle birlikte çalışmayı zorlaştırır.
Çözüm
35 component’i shadcn uyumlu registry üzerinden kaynak kod olarak projeye ekletir; README’ye göre çoğu efekt, deneysel HTML-in-canvas API ile canlı DOM’u okuyup yeniden çizer. API desteklenmediğinde GPU overlays kullanır. WebGL/GLSL ve vgpu üzerinden WebGPU/WGSL seçenekleri sunar.
Yenilik
Canlı DOM’u efektlerle birlikte yeniden çizme yaklaşımı ve bunu kopyalanabilir, framework seçenekleri olan component’lerle paketlemesi ayırt edici. Ancak kullanılan HTML-in-canvas API deneysel; yaklaşımın uzun vadeli tarayıcı desteği ve genellenebilirliği henüz kesin değil.
Teknolojiler
- TypeScript
- HTML-in-canvas API
- WebGL
- GLSL
- WebGPU
- WGSL
- vgpu
- React
- Vue
- Svelte
- Solid
- Preact
- shadcn CLI
Riskler
- HTML-in-canvas API deneysel olduğundan tarayıcı desteği ve davranışı değişebilir; README GPU overlays fallback bulunduğunu belirtiyor.
- WebGL/WebGPU efektlerinin performansı ve kullanıcı deneyimi cihazlara göre değişebilir; üretim öncesi hedef cihazlarda test edilmeli.
- Son 28 gündeki 8 commit tek bir yazara ait; çoklu framework ve renderer desteğinin bakım sürdürülebilirliği bu nedenle belirsiz.
- README lisansı MIT + Commons Clause olarak belirtiyor; ticari kullanım ve dağıtım öncesinde lisans koşulları incelenmeli.
Detaylı değerlendirme
Uyum profiline göre: bu işime yarar mı?
Ne yapar
Canvas UI, arayuzun ustune WebGL veya WebGPU ile cizilen yaratıcı efektler icin bilesenler sunuyor: akiskan simülasyonlar, cam ve distorsiyon efektleri, partikuller ve 3D sahneler gibi. Bilesenler shadcn uyumlu registry uzerinden projeye kaynak kod olarak kopyalaniyor; README 35 bilesen ve React, Solid, Preact, Vue, Svelte ve vanilla destegi oldugunu belirtiyor. Bu, genel amacli bir UI kitinden cok, gorsel olarak belirgin efektler eklemeye yonelik bir kutuphane.
Nasıl çalışır
HTML efektlerinin cogu, live DOM'u canvas icine alip shader efektleriyle yeniden cizme yaklasimini kullaniyor. Tam HTML-in-canvas deneyimi README'ye gore Chrome'daki deneysel API'ye ve flag/origin trial durumuna bagli; desteklenmeyen tarayicilarda GPU overlay fallback devreye giriyor. WebGL build'leri WebGL2 ve GLSL kullanirken WebGPU build'leri vgpu ve WGSL kullaniyor. 3D efekt bilesenleri HTML-in-canvas gerektirmiyor. shadcn CLI, bilesen kaynak kodunu uygulamanin icine kopyaliyor; bu nedenle her bilesenin bagimsiz olarak duzenlenebilmesi hedeflenmis.
Kullanım alanları
- Urun tanitim veya kampanya sayfalarinda Liquid, Glass, Glitch ya da Particle Reveal gibi dikkat cekici efektler
- Bir urun gorselini veya GLB/glTF modeli 3D efektle sunma
- Etkilesimli portfolio, demo veya deneysel arayuz prototipleri
- Mevcut HTML icerigini secilebilir ve etkilesimli tutarak gorsel bir katman ekleme
Alternatifler
- Three.js — 3D/WebGL sahneleri icin daha genel seviyeli bir arac; Canvas UI gibi hazir DOM efekt bilesenleriyle birebir ayni kapsamda degil.
- React Three Fiber — React icinde Three.js sahneleri kurmak icin; hazir Canvas UI efektlerinin dogrudan yerine gecen bir kutuphane degil.
Kimler için
React/Next.js basta olmak uzere desteklenen framework'lerde, ozel shader ve WebGL kodu yazmadan gorsel efekt eklemek isteyen frontend ve design engineering ekipleri icin. Efektin kendisi urun deneyiminin amacli bir parcasiysa daha uygun; standart form, dashboard veya CRUD arayuzleri icin belirgin bir ihtiyaci karsilamiyor.
Olgunluk
Deneysel ile erken beta arasi. README kapsamli dokuman, playground ve CI baglantisi sunuyor; ancak olcumlere gore repo 73 gunluk, son 28 gunde 8 commit tek yazardan gelmis ve yayinlanmis surum sayisi 0. Daha onemlisi, HTML-in-canvas yolu deneysel tarayici API'sine bagimli; README bu nedenle fallback gerektigini de belirtiyor. Bunlar tek basina kalite gostergesi degil, ama uretimde genis kapsamli benimsemeden once tarayici, performans ve bakim testlerini gerektiriyor.
Kurulum
Ilk kurulum dusuk eforlu: shadcn CLI hazirsa `npx shadcn@latest add @canvas-ui/liquid-react` ile kaynak kod projeye kopyalanabiliyor. `npx shadcn@latest init` gerektiginde once calistirilmali. Uygulamaya ekleme kolay olsa da uretim oncesi tarayici fallback'ini, mobil GPU performansini, reduced-motion davranisini ve Next.js client/server sinirini dogrulamak gerekir. README bu son konularin ayrintilarini tek tek gostermiyor.
Bizim için
Somut kullanım
Kaliwa'nin pazarlama/landing sayfasinda bir hero bolumuna Liquid veya Glass ekleyip bunu tek bir Next.js sayfasinda deneyebiliriz. Bileseni shadcn CLI ile kopyalamak, yeni bir servis ya da backend bagimliligi eklemeden prototip yapmayi saglar. Su an boyle bir sayfa veya efekt ihtiyaci yoksa, ana urun arayuzune eklemek icin somut bir gerekce gorunmuyor.
Uyum gerekçesi
React, TypeScript ve Next.js yiginimizla dogrudan uyumlu; shadcn registry akisi da bileseni hizla deneyip kaynak kodunu sahiplenmeyi kolaylastiriyor. Buna karsin kullanim alani yalnizca ozel gorsel efekt ihtiyaciyla sinirli. Supabase, PostgreSQL, Deno, LLM ve RAG katmanlarina katkisi yok; HTML-in-canvas tarayici bagimliligi ve erken repo olgunlugu da skoru asagi cekiyor.
Engeller
- README lisansi MIT + Commons Clause olarak veriyor; olcumlerde lisans `NOASSERTION`. Kod kullanimi veya dagitimi oncesi LICENSE.md ve bu lisans kosullarinin Kaliwa kullanimina uygunlugu hukuk/ekip tarafinda incelenmeli.
- HTML-in-canvas efektlerinin tam deneyimi Chrome'daki deneysel API, flag veya origin trial'a bagli. Fallback ayni efekti sunmuyor.
- Repo yeni, son 28 gunluk gelistirme tek yazara ait ve olcumlerde yayinlanmis surum yok; API kararliligi ve surumleme pratigi hakkinda kanit sinirli.
- WebGL/WebGPU efektleri GPU ve pil tuketimi, mobil cihaz performansi ve hareket hassasiyeti acisindan uygulama bazinda test gerektirir.
- Next.js SSR/client component davranisi ve Vercel'deki gercek kullanim ayrintilari README'den tam olarak anlasilmiyor.
Ne zaman kullanılır
Kaliwa'nin landing page'i, kampanya sayfasi veya belirli bir urun demosunda tek bir bolumun Liquid, Glass ya da 3D Object benzeri bir efektle gorsel olarak ayrismasi isteniyorsa, once tek bilesenle sinirli bir prototip yapin. Efekt desteklenmeyen tarayicilarda da temel icerik calismaya devam ediyor mu ve dusuk/orta seviye telefonlarda performans kabul edilebilir mi, bunu gercek cihazlarda olcun.
Ne zaman kullanılmaz
Uygulamanin temel akislari icin, standart dashboard/form bilesenleri icin veya butun ziyaretcilerde ayni goruntu zorunluysa kullanmayin. HTML-in-canvas efektlerinde deneysel Chrome API'si ve fallback farki kullanici deneyimini degistirebilir. Efektin urun degerine katkisi yoksa ekstra GPU isi ve tarayici testleri maliyetini karsilamaz.
Dikkat edilecekler
- Ilk denemeyi tek bir sayfa ve tek bilesenle sinirlayin; registry kaynak kodunu kopyaladigi icin guncellemeleri otomatik paket upgrade'i gibi varsaymayin.
- Chrome deneysel API'si olmayan tarayicilarda fallback'in ne gosterdigini ve metin/link etkilesiminin korunup korunmadigini kontrol edin.
- WebGPU build'ini varsayilan kabul etmeyin; README tarayici gereksinimlerini veriyor, fakat hedef kullanici cihazlarindaki kapsama dair olcum sunmuyor.
- Lisans kosullarini, ozellikle Commons Clause kisitlamasini, kaynak kodu projeye almadan once inceleyin.
- README'deki bilesen sayisi ve destek iddialarini, denenecek bilesenin dokumantasyonu ve gercek tarayici davranisiyla ayri ayri dogrulayin.