Konuya başlamadan önce uzun zamandır siteyi ihmal ettiğim için herkesten özür dilerim. İş yoğunluğundan kaynaklı zaman problemim nedeni ile siteye aylardır yazı ekleyemiyordum. Her neyse bari güzel bir bilgilendirme yazısı yazayımda hatamı az da olsa telafi etmeye çalışayım.
Hepimizin sürekli dillendirdiği bir düşüncedir, Windows Appliationlarını Web den çalıştırmak. Bununla ilgili birçok çalışma yapıldığını da duymuşuzdur hepimiz. Ancak Windows Applicationlarının yapısı ve çalışma mantığının Web sayfalarından çok farklı olması nedeni ile bu konuda çok birşey yapılamamaktadır. Bir windows application da bulunan nesneler (button, checkbox, combobox, listview vs.) birer Window nesneleridir. Kendi aralarında iletişimlerini Windows Messaging denilen bir yapı ile mesajlaşarak yaparlar. Webde ise html nesneler explorer ve benzer browserlarda gösterilirken DOM nesnelerine dönüştürülüp COM nesneleri şeklinde çalışırlar.
Bir Windows Application developerı olarak bunu yıllardır defalarca düşünmüşümdür. Yani bir şekilde Windows Applicationlarını Webden çalıştırmak her zaman istediğim bir şeydi.
Bir kaç ay önce, Kenji Obata, Code Systems yada diğer adı ile Xenocode'un kurucusu bana bu fikirden söz ettiğinde oldukça heyecanlanmıştım. Kenji'nin planı hali hazırda varolan VM (Virtual Machine) lerinide kullanarak istenilen Windows Application'ı Webden çalıştırmaktı. Bana bunun ne kadar mümkün olduğunu, mümkünse bunu yazıp yazamayacağımı sorduğunda ben çok düşünmeden bu işin olabileceğini söyledim. Şimdi bu proje hayatta, ve test aşamasında. Xenocode'un VM ürünü sayesinde virtualize edilmiş herhangi bir program istenildiği takdirde Web'den Surface denilen yapı sayesinde çalıştırılabiliyor.
Şimdi çoğunuzun, arka planda programı indirip çalıştırıyorlardır dediğinizi tahmin ediyorum. Doğru arka planda istenilen bu windows application download edilip çalıştırılıyor. Ancak bu 2 farklı modda yapılıyor.
1 - Normal Mode: Bu modda virtualize edilmiş programı arka planda indirip webde çalıştırıyoruz.
2 - Streaming Mode: Bu moda ise application'ın gerekli yerlerinin indirilip çalışması şeklinde oluyor. Yani Xenocode XStream teknoloji sayesinde programın tamamı gelmeden program çalıştırılıyor. Buda ornegin 1GB lik bir programin %5 lik kısmı geldiğinde çalışıyor olmasını sağlıyor. Düşünün Türkiye gibi internette hız diye birşeyden söz edilemeyen bir ülke için ne büyük bir avantaj. Çok büyük bir programı çalıştırıyorsunuz ve 1 dakka içinde program download edilmiş gibi çalışıyor ve siz kullanmaya başlıyorsunuz. Siz kullandıkça bulunduğunuz yere göre analiz yapıp sonra yapacağınız muhtemel işlemler için gerekli yerleri arka planda indirmeye devam ediyor. Örneğin geçen gün bir demo için hazırlanan oldukça yüklü bir oyunu (177MB) 1 dakikadan kısa bir sürede webden hemde ADSL bağlantısı ile çalıştırıp oynadım. Oldukça zevkli bir tecrübe idi. İstediğiniz programı sadece 1 dakika içinde hemde zahmetsiz bir şekilde bilgisayarınızda çalıştırmak fikir olarak bile insana harika geliyor, bunu birde tecrübe etmek çok daha zevkli.
Ayrıca cache mekanizması sayesinde indirilen bu program localde cachleniyor ve sonraki girişlerinizde sizi indirme belasından kurtarıyor.
Evet bu ürünler sayesinde artık Windows Applicationlar