---
title: "Zebkit – İçinde Yaşadığınız Bir Çalışma Zamanı Değil, Bağladığınız Bir Kütüphane Olarak Chromium Motoru"
url: https://blog.edumints.com/zebkit-icinde-yasadiginiz-bir-calisma-zamani-degil-bagladiginiz-bir
category: "Web"
date: 2026-11-09T15:05:57.071Z
publisher: Edumints Blog
lang: tr-TR
source_name: "Hacker News"
source_url: https://github.com/ikey4u/zebkit
---

# Zebkit – İçinde Yaşadığınız Bir Çalışma Zamanı Değil, Bağladığınız Bir Kütüphane Olarak Chromium Motoru

Masaüstü ve hibrit uygulama geliştirmede web teknolojilerini kullanmak istediğinizde genellikle tüm uygulamanızı devasa bir çalışma zamanının (runtime) içine hapsetmeniz gerekir. **Zebkit**, Linux, macOS ve Windows üzerinde tek bir API sunarak Chrome'u hafif, hızlı ve kolayca entegre edilebilir bir kütüphane haline getirir. Birkaç satır kodla projelerinize ekleyebileceğiniz bu yaklaşım, yazılım mimarisinde kontrolü tekrar geliştiriciye verir.

## Giriş

**Zebkit**, Chromium motorunu kendi uygulamanıza bağlayabileceğiniz (link edebileceğiniz) tek bir kütüphane olarak sunar: Blink, tüm JIT katmanlarıyla V8, PDFium, FFmpeg ve Chrome'u oluşturan diğer bileşenler içeridedir; ancak Chrome'un tarayıcı kabuğu veya Electron'un çalışma zamanı yoktur. 

Uygulamanız C, C++, Rust, Python veya JavaScript dillerinde, kendi pencereleri ve arayüz araç setiyle (toolkit) tamamen size ait kalır. Web görünümüne ihtiyaç duyduğunuzda bir zebkit görünümü ekler; PDF, medya, sıkıştırma veya kriptografi gerektiğinde C API'sini ya da Rust, Python ve JavaScript (`zebkit-js` ve uygulama sayfalarındaki `zebkit.*`) bağlayıcılarını (bindings) çağırırsınız.

## Temel Özellikler ve Mimari Çıkarımlar

- **Üzerine inşa etmeyin, entegre edin:** Electron bir temeldir; uygulama onun çalışma zamanı, pencereleri ve paketleme yapısı içinde inşa edilir. Zebkit ise tıpkı SQLite gibi uygulamaya eklenen bir parçadır. Uygulamanız kendi sürecini, araç setini ve dağıtım yöntemini korur. Kendi olay döngünüz (`zebkit_init()`, `zebkit_pump()`) içinde çalışır ve X11, NSView veya HWND gibi yerel pencerelerinize doğrudan çizim yapar. **Pratik çıkarım:** Mevcut yerel (native) projelerinizi baştan yazmadan, sadece ilgili modüllere modern web veya medya yetenekleri kazandırabilirsiniz.
- **İhtiyacınız olanı alın:** Pencereli veya ekran dışı (off-screen) web görünümleri, tam kapsamlı PDF API'si, sayfa medyalarını kaydetme, özel URL şemaları, JavaScript'ten yerel arayüz çağrıları ve ajanlar (agents) için Playwright API ile CDP desteği sunar. İster tek bir özelliği, ister tamamını kullanın.
- **Gerçek Chrome motoru:** Sayfalar Chromium 157'yi görür; kullanıcı aracısı (user agent), istemci ipuçları, `window.chrome`, tıklama olmadan engellenen açılır pencereler ve bağlı bir hata ayıklayıcı izi olmadan tam uyumluluk sağlar.
- **Electron'dan daha hafif:** En son Electron (45.2.1) sürümüne kıyasla **%34 daha küçük** boyutludur, 6.6 saniyeye karşılık **2.3 saniyede soğuk başlangıç** (cold start) yapar ve sayfa başına **%29 daha az bellek** tüketir. DOM, metin yerleşimi ve JavaScript performansı ise aynı seviyededir.
- **Node yok:** İkinci bir JavaScript çalışma zamanı ve bunun üzerinden geçen süreçler arası iletişim (IPC) yükü yoktur. Uygulama ya doğrudan yerel koddur ya da motorun kendi V8'i üzerinde `zebkit-js` ile çalışır. **Pratik çıkarım:** İki ayrı JS motorunun bellek ve serileştirme darboğazından kurtulmak, sistem kaynaklarını dramatik biçimde rahatlatır.
- **Chromium'un kütüphaneleri sizindir:** Motor içindeki 17 C kütüphanesi ve üç büyük işletim sisteminde ortak yaklaşık 7.490 fonksiyon `zebkit_vendor_*` altında dışa aktarılır: SQLite, LevelDB, BoringSSL, zlib, Zstandard, Brotli, ICU, HarfBuzz, libxml2, libwebp, libjpeg-turbo, FFmpeg, dav1d, Opus, libvpx, FreeType ve PDFium. Bu bağımlılıkları uygulamanızla iki kez dağıtmak zorunda kalmazsınız.
- **Yerleşik PDF:** Chromium'un PDFium kütüphanesi üzerinde tam bir API sunar: görüntü işleme (rendering) ve döşemeler (tiles), yerleşimli metin, arama, ana hatlar, bağlantılar ve gelişmiş bir düzenleyicide bulunan tüm açıklama/not (annotations) araçları doğrudan elinizin altındadır.

---

**Kaynak:** Hacker News (https://github.com/ikey4u/zebkit)
**Yayıncı:** [Edumints Blog](https://blog.edumints.com) · Alıntılarken bu URL'ye bağlantı verin: https://blog.edumints.com/zebkit-icinde-yasadiginiz-bir-calisma-zamani-degil-bagladiginiz-bir
