Google Gears’a Giriş
Dün Google Reader konusunda yazdığım yazıda da belirttiğim üzere Google Gears konusunda daha detaylı bir yazı yazacağımı söylemiştim. Şimdi öncelikle Google Gears nedir ne değildir ona bakalım. Google Gears web tabanlı uygulamaların internet bağlantısı olmadan da çalışması için geliştirilen bir teknoloji. Şu an için hala beta (aslında beta öncesi de denebilir diyor geliştiricileri) aşamasında olan teknoloji Windows altında Internet Explorer ve Firefox, Mac OS X - Linux altında da Firefox’ta çalışmakta. Windows altında program olarak kurulduktan sonra Gears teknolojisini kullanan sitelere bağlandığınızda sizden izin istemekte. Böylelikle her sayfanın yerel bilgilerinize erişmesini önlemiş oluyorsunuz.
Bu teknoloji 3 önemli kısımdan oluşmakta :
- Yerel Uygulama Sunucusu : Javascript API aracılığı ile kullanılıyor
- Yerel Veritabanı : SQLite üstüne kurulu
- İşçi Havuzu
(İlginç bir çeviri oldu, kusura bakmayın
Orjinali : WorkerPool)
Yerel uygulama sunucu ile Javascript tabanlı yazdığınız uygulamalar yerel veritabanını kullanarak size internet bağlantısız bir web deneyimi yaşatıyor. İşçi Havuzu ya da WorkerPool ise uygulamada çalışan süreçlerin arka planda çalışmasını sağlayarak daha hızlı bir kullanıcı arayüzü sunmakta. Bu arada SQLite da ne ola ki diyorsanız, kendisini hor görmeyin. Geçen sene tezimde (Mobil CBS Uygulaması) kendisini kullandım ve gerçekten çok memnun kaldım. SQLite ile veritabanı sunucusu kullanmadan SQL deneyimi yaşayabilirsiniz. Ayrıca SQLite “tam metin” aramayı da desteklemekte.
Neyse bu kadar girişten sonra ilk uygulamamızı yapalım. Siz de uygulama geliştirmek ya da örnekleri test etmek istiyorsanız bu adresten Google Gears’ı kurmanız gerekmekte. Ayrıca uygulama geliştirmeden önce “gears_init.js” dosyasını da bu adresten indirmeniz gerekmekte. (Bu dosya zip dosyasının içinde de vardır.)
Öncelikle sayfamıza indirdiğimiz bu “gears_init.js” dosyasını ekleyelim.
<script src="gears_init.js"></script>
Sonrasında Gears’ın kurulu olup olmadığını test etmek için aşağıdaki kodu girelim. Eğer Gears kurulu değilse ilgili adrese yönlendiriyoruz, kurulu ise de “Tamamdır” mesaji verip diğer işlemlere geçiyoruz.
< script>
if (!window.google || !google.gears) {
location.href = “http://gears.google.com/?action=install&message=Uygulamayı çalıştırmak için Google Gears kurmanız gerekmektedir!” +
“&return=http://www.alperdincer.net”;
}
else {
alert(”Tamamdır - Googler Gears Çalışabilir!”);
Bu uygulamada yukarıda bahsettiğim ilk 2 kısımla ilgili kodlar var, 3. kısımı sonraki uygulamalarda göstermeyi düşünmekteyim. Sırası ile önce yerel uygulama sunucusunu, sonra da yerel veritabanını tanımlıyoruz.
var localServer = google.gears.factory.create('beta.localserver', '1.0');
var db = google.gears.factory.create('beta.database', '1.0');
Şimdi bu noktada artık bu objeleri kullanarak uygulamamızı yazmaya başlayabiliriz ama öncesinde veritabanını hazırlamalıyız. Bunun için aşağıdaki linkte verilen veritabanı.html dosyasını çalıştırmanız yeterli. Bu dosyada uygulama için kullanacağımız tabloyu hazırlıyoruz. Bunun da kodlarına uygun bir metin editörü ile ulaşabilirsiniz. Veri tablomuzu hazırladığımızı düşünerek devam ediyorum.
Artık normal uygulama yazar gibi veritabanından sorgulama yapıp bunu da uygun bir yerde gösterebiliriz. Bu noktada kodlama yapanlar için yabancı olmayan nesneler bulunmakta. Burada yaptığımızı kısaca anlatırsam; ilk önce db.open() ile bir veritabanı açıyoruz. Daha sonra db.execute(’SELECT * FROM tablo_adı’) ile de sorgumuzu yapıp bunu bir kayıt setine (rs) atıyoruz. Sonra bu kayıt setinde rs.isValidRow() ile dolaşmaya başlıyoruz ve gelen satırdaki veriyi rs.field(1) ile alıp bir diziye atıyoruz. Buradaki 1 kaçıncı kolon olduğunu temsil etmekte. O satırdaki kaydı aldıktan sonra da rs.next() ile bir sonraki kayda geçiyoruz. Bütün satırları geçtikten sonra da rs.close() ile nesneyi temizliyoruz.
db.open('alperdb');
var musID = [];
var ad = [];
var sehir = [];
var rs = db.execute('select * from musteriler');
var index = 0;
while (rs.isValidRow()) {
musID[index] = rs.field(0);
ad[index] = rs.field(1) + ' ' + rs.field(2);
sehir[index] = rs.field(3);
index++;
rs.next();
}
rs.close();
Artık bundan sonraki aşamalarda elimizdeki diziyi javascript ile okuyup ekrana basıyoruz.
var status = document.getElementById('sonuc');
status.innerHTML = '';
for (var i = 0; i < musID.length; ++i) {
//var bullet = '(' + (i + 1) + ') ';
status.appendChild(document.createTextNode(musID[i] + '-' + ad[i] + ' - ' + sehir[i] ));
status.appendChild(document.createElement('br'));
}
}
Elimden geldiğince anladıklarımı size anlatmaya çalıştım. Bu uygulama ile Google Gears’a bir başlangıç yapabilirsiniz. Gördüğünüz üzere aslında pek de zor değil. Hele ki javascript’e aşinalığınız var ise. Bu yazıda hazırladığım kodları sıkıştırıp RapidShare’e ekledim. Böylelikle hem kaç kişinin indirdiğini uğraşmadan görebileceğim hem de kendi kotamdan gitmeyecek. Bu arada bunu RapidShare’de puan kazanmak için yapıyorum diye iddia edenler olursa lütfen RapidShare SSS‘ini okusunlar. Çünkü puan kazanmak için dosya boyutunun 1 MB ve üstü olması gerekmekte.
Gear Başlangıç Dosyası
Bu yazı ile ilgili rastgele seçilmiş 10 yazı :
- ADSL hızınızı test edin
- IPhone Neler yapabiliyor?
- Hayallerimin Wi-Fi Bağlantı Noktası :)
- Online Resim Editörü ya da Online PhotoShop
- Google Talk daha cicili bicili olarak webde
- GTalk'a yeni özellikler geldi.
- WordPress 2.1.1 ve 2.0.9 güncellemeleri hazır
- IPod ve Google Calendar
- Google Videolardan Seçmeler
- GMail yenilikleri






yazı için teşekkürler, daha fazla kişinin dikaktini çeksin diye delicious uma ekledim.
Wordpress de Google Gears desteklemeye başlamış. SAnırım blogger olmak da Spacer türü birşey olmak gibi bol miktarda zorlaşacak.