Windows 11, tarayıcıda
BIOS ekranından masaüstüne kadar, tarayıcıda yeniden kurduğum bir Windows 11.
Windows 11 masaüstünü baştan sona taklit eden, tarayıcıda tam ekran çalışan bir web uygulaması. Açınca seni MSI BIOS POST ekranı karşılıyor; ardından kilit ekranı, masaüstü, pencere yönetimi, görev çubuğu ve onlarca yerleşik uygulama geliyor.

- Durum
- Yayında
- Kategori
- Tarayıcıda OS
- Güncelleme
- 28 Eylül 2026
- Yığın
- React 19TypeScriptViteCSS
- Bağlantılar
- Canlı site Kaynak kod
Windows 11 masaüstünü açılıştan kapanışa kadar tarayıcıda canlandıran, tam ekran çalışan bir React uygulaması. Her şey bir MSI Click BIOS 5 POST ekranıyla başlıyor: ekrandan Ryzen 9 5900X, 32 GB RAM ve NVMe bilgileri geçiyor, o sırada DEL'e basarsan BIOS kurulum ekranına giriyorsun. Ardından Windows yükleme ekranı, büyük saatli ve Türkçe tarihli kilit ekranı ve oturum açma paneli geliyor. Kullanıcı benim adıma sabit; parola doğrulaması yok, ne yazarsan kabul ediliyor. Başlat menüsünden "Bilgisayarı Kapat"ı seçersen kısa bir siyah ekranın ardından ahmetfuzunkaya.com'a gidiyorsun. "Yeniden Başlat" seni BIOS ekranına, "Kilitle" de giriş ekranına götürüyor.
Masaüstünde Fluent tarzı bulanık paneller, açık ve koyu tema, Snap Layouts destekli pencereler ve dört duvar kağıdı var. İkonları sürükleyebilir, dikdörtgen seçimle topluca seçebilirsin; bıraktığın ikon 100×110 px'lik bir ızgaraya hizalanıyor. Sağ tık menüsünden yeni klasör ya da dosya oluşturabilir, öğeleri yeniden adlandırıp silebilirsin. Görev çubuğunun solunda hava durumu widget'ı, ortasında Başlat, Arama ve sabitlenmiş uygulamalar duruyor; sağda da Quick Settings ve Takvim panellerini açan saat var. Projeyi React 19, TypeScript ve Vite 8 ile yazdım.
Durumu üç context'e böldüm
Uygulamanın durumunu üç React Context'e ayırdım. SystemContext temayı, duvar kağıdını ve sistem genelindeki ayarları, FSContext de sanal dosya sistemini tutuyor. WindowContext ise açık pencereleri, odağı ve z-sırasını bir reducer üzerinden yönetiyor. Tema, duvar kağıdı, dosya sistemi, açık pencereler ve aktif pencere ayrı localStorage anahtarlarına yazılıyor. Bu yüzden sayfayı yenilesen bile masaüstü kaldığı yerden, pencereler açık halde geri geliyor.
Büyütülmüş değilse bir pencereyi başlık çubuğundan sürükleyebilir, sekiz yönden boyutlandırabilirsin; en fazla 300×200 px'e kadar küçülüyor. Tıkladığın pencere öne geliyor, Win+D ve Alt+F4 gibi kısayollar da beklediğin gibi çalışıyor.
Dosya ağacını src/vfs/ altındaki saf oluşturma ve yeniden adlandırma fonksiyonlarıyla yönetiyorum. C:/Users/ altındaki kullanıcı klasörü adını sanal kullanıcıdan alıyor; içinde Masaüstü, Belgeler, İndirilenler ve Resimler klasörleri var. Ağaçtaki bir düğüm dosya, klasör ya da uygulama olabiliyor.
Uygulamalar açıldıkça yükleniyor
Her uygulama kimliğini lazy yüklenen bir pencere içeriğine bağlayan bir kayıt dosyası yazdım. Bu sayede ana bileşende uygulama başına uzayıp giden bir if zinciri yok ve her uygulama ancak açıldığında yükleniyor. Ayrı bir katalog dosyası da her uygulamanın başlığını, varsayılan boyutunu ve tek örnek olarak açılıp açılmayacağını tutuyor; Hesap Makinesi, Ayarlar, Mayın Tarlası ve Kamera'yı ikinci kez açamıyorsun. Küçük bir itiraf: tarayıcı arayüzde "Google Chrome" adını taşıyor ama kodda tarihsel nedenlerle hâlâ edge kimliğiyle kayıtlı.
Toplamda 18'den fazla uygulama var. Dosya Gezgini'nde kes, kopyala, yapıştır, breadcrumb, arama ve Bu Bilgisayar görünümü çalışıyor. Chrome'da sekmeler ve yer imleri var; Google, YouTube, GitHub, Spotify, Discord ve Steam sayfalarını ben mock olarak yazdım, yani gerçek sitelere bağlanmıyorlar. Not Defteri sanal dosya sistemindeki dosyaları düzenleyip kaydedebiliyor. Ayarlar'daki 11 sekmenin arasında tema, duvar kağıdı, ağ, gizlilik ve bir Windows Update simülasyonu var. CMD görünümündeki Terminal help, dir, neofetch ve theme komutlarını anlıyor. Görev Yöneticisi'nde CPU, RAM ve disk sekmelerinin yanında 384 çekirdeklik hareketli bir ızgara da var. VS Code, Paint, Mağaza, Copilot, FDM ve qBittorrent ise şimdilik yalnızca arayüzden ibaret.



