Takip et

Proje Kurulumu ve Temel Yapılandırma

Günümüzde web uygulamaları, kullanıcılara çeşitli güçlü araçlar sunarak deneyimlerini zenginleştirmektedir. Bu araçlardan biri de ekra

Günümüzde web uygulamaları, kullanıcılara çeşitli güçlü araçlar sunarak deneyimlerini zenginleştirmektedir. Bu araçlardan biri de ekran görüntüsü alma yeteneğidir. İster bir hata raporlamak, ister bir içeriği kaydetmek, isterse de bir anı yakalamak olsun, ekran görüntüsü alma işlevi birçok senaryoda kritik öneme sahiptir. Bu teknik rehberde, Vue.js kullanarak bir ekran görüntüsü alma aracının ön yüz (front-end) kullanıcı arayüzünü (UI) nasıl oluşturacağımızı adım adım inceleyeceğiz. Bu rehber, Vue.js’in gücünü kullanarak modern, reaktif ve kullanıcı dostu bir arayüz inşa etmeye odaklanacaktır.

Unutmamak gerekir ki, tarayıcı tabanlı JavaScript’in doğrudan işletim sisteminin veya başka bir uygulamanın ekran görüntüsünü alması güvenlik kısıtlamaları nedeniyle mümkün değildir. Genellikle bu tür bir işlevsellik, bir arka uç (backend) servisi (örneğin, Node.js ile Puppeteer/Playwright gibi araçlar) veya tarayıcının kendi ekran paylaşım API’leri (navigator.mediaDevices.getDisplayMedia()) aracılığıyla gerçekleştirilir. Biz bu rehberde, ön yüzdeki “ekran görüntüsü al” düğmesine basıldığında bir arka uçtan görüntü URL’si alıp bunu gösteren bir arayüz oluşturmaya odaklanacağız. Gerçek ekran görüntüsü alma mekanizması, bu rehberin kapsamı dışındadır ve genellikle arka uçta halledilir veya sayfa içeriğini yakalamak için html2canvas gibi kütüphaneler kullanılır.

Proje Kurulumu ve Temel Yapılandırma

Yeni bir Vue.js projesi oluşturarak işe başlayalım. Modern Vue projeleri için Vite’ı kullanmak, daha hızlı geliştirme deneyimi sağlar.

Vue Projesi Oluşturma

Terminalinizde aşağıdaki komutları çalıştırarak yeni bir Vue projesi oluşturabilirsiniz:

npm init vue@latest

Proje adını girin (örn: screenshot-tool-ui)

TypeScript, JSX, Router, Pinia vb. için varsayılan seçenekleri kabul edebilir veya reddedebilirsiniz.

cd screenshot-tool-ui npm install npm run dev

Bu komutlar, temel bir Vue 3 projesi oluşturacak ve geliştirme sunucusunu başlatacaktır. Tarayıcınızda http://localhost:5173/ adresine giderek varsayılan Vue uygulamasını görebilirsiniz.

Temel Bileşen Yapısı

Uygulamamız için ana bileşenimiz App.vue olacak. Ekran görüntüsü alma düğmesi ve çekilen görüntüyü gösterecek ayrı bileşenler oluşturarak kodumuzu daha düzenli hale getireceğiz.

  • src/App.vue: Ana uygulama bileşeni.
  • src/components/ScreenshotButton.vue: Ekran görüntüsü alma düğmesi.
  • src/components/ScreenshotPreview.vue: Çekilen ekran görüntüsünü gösteren alan.

İlk olarak, App.vue dosyamızın içeriğini basitleştirelim:






Ekran Görüntüsü Alma Mekanizması ve Vue Entegrasyonu

Şimdi ekran görüntüsü alma işlevselliğini ve bunun Vue bileşenleri aracılığıyla nasıl yönetileceğini oluşturalım. Bu kısımda, bir arka uçtan (veya simüle edilmiş bir kaynaktan) bir görüntü URL’si almayı ve bunu kullanıcıya göstermeyi ele alacağız.

ScreenshotButton Bileşeni

Bu bileşen, ekran görüntüsü alma işlemini tetikleyecek bir düğme içerecektir. İşlem devam ederken düğmeyi devre dışı bırakmak için bir yükleme durumu da gösterebiliriz.

src/components/ScreenshotButton.vue dosyasını oluşturun: