> Web tabanlı uygulamaların geleceğini ben de parlak görüyorum.

Ama tam aksine şeyler yazıyorsunuz :)

Bahsettiğiniz olay, bugün web dediğimiz şeyin, desktoplaşması olayı. Ortaya
çıkacak olan şey internetin içinde kalan (ama web, ama başka bir yolla)
internetle entegre yeni bir masaüstü platformu olacak. Bu web değil, bu
başka bir şey ve web olayının tabutuna çakılmış bir çivi olacak.

Bugünün gelmesini bende arzu ederim. Ama bugünün emareleri zaten ortada:
Android.

Teknik olarak Android bahsettiğiniz olayları dalvik vm ile çözmüş. En
azından iddia da böyle. İşletim sistemi size bir hardware soyutlama tabakası
sunar. Dalvik ve müştemilatındaki API size tıpkı bir işletim sistemi
gibisinden ortam sunuyor. Sizde Java ile yazıp, ötesini getiriyorsunuz.
Bahsetiğiniz işleri, güncelleme vs. kendisi hallediyor.

Fakat bir bitmap'ınız var, bunun yenisini oluşturacaksınız.

big_bmp = createBitmap(buyuk_bir_en, buyuk_bir_boy,);
....
.....

big_bmp = createBitmap(yeni_buyuk_bir_en, yeni_buyuk_bir_boy,
pixel_per_color);

Ve voila!.. "Bitmap size exceed vm budget" olmuşsunuz. Hadi biraz atraksiyon
yapalım. Ne oluyor? createBitmap'e girince, eski bitmap, o cüssesiyle
yerinde duruyor. Yenisine yetecek bellek yok. O halde eskisini silelim:

big_bmp.recycle();
big_bmp = null;
System.gc();
big_bmp = createBitmap(yeni_buyuk_bir_en, yeni_buyuk_bir_boy,
pixel_per_color);

Böylece düşünüyoruz ki, ki zaten yapacak başka bir şeyimizde yok, big_bmp'yi
boşalttık, free() ettik. Ama netice değişmiyor. Zira garbage collector denen
ucube, event loop içinde devreye giriyor. Öyle olunca da, henüz fonksiyondan
çıkmadığınız için, eski bitmap'ın alloc ettiği bellek hala free() olmamış
durumda. Kaldınız ortada...

Çözüm.. Aslen çözümü yok. Ancak, bu olayı bir thread'a vs. bindirebilir,
event loop'ta başka bir aşamada devreye alabilirsiniz. Fakat, elinizde eski
bitmap'ın free() edildiğini gösterecek hiç bir şey yok. Ancak bunu farz
edebilir, kehanetinize uygun bir noktada yeni bitmapı çizersiniz. Ki
programlama işinin faraziyelerle yapılmasından daha yanlış bir şey olamaz.

Peki ne anlatıyor bu örnek? Uygulamaları bahsedildiği gibi süper taşınabilir
yapmak adına java veya herneyse oluşturulan suni platformların sizi sıkboğaz
etmesi gerçeğiyle karşılaşıyorsunuz. İşte bugün bahsettiğiniz şeylerdeki
temel problem bu. Bu, sistemin kabiliyetlerinin olası en düşük kombinasyonu
kadar bir kaynağınız olabileceği anlamına geliyor. Bu da eğer sıradan
beklentinin ötesine geçmek isterseniz, sizi sıkboğaz ediyor.

Bu sorun aşılabilir mi? Şu anda pek mümkün görülmüyor. Bu sorunu aşabilmenin
tek yolu, uygulamayı tamamen sistem kaynaklarına optimize yapabilmek. Bu da
el mahkum uygulamanın o kaynaklara bağımlı olması, o kaynaklar olmayan
ortamlara taşınamaması demek.

Hardware'den bir transistör atmanın binde bir kuruş daha ucuz ürün
çıkarabilecek olması bu meseledeki sorun. Bu yüzden her zaman minimal
sistemler var olacak. Ve maalesef o yapılar bu minimal sistemleri gözetmek
zorunda olacak.

Neyse, bize android şunu gösteriyor. Bu iş web tabanlı teknolojilerin, yani
bugünün teknolojilerinin harcı değil. MAPS'ı web tabanlı yapacak kadar gözü
kara google'ın birde EARTH'ının olması üzerinde düşünülmesi gereken konu.
Yarının xyz teknolojisi ne getirir, ne götürür bunu söylemek güç. Ama bu, şu
anki web olayı olmayacak, bu kesin. WEB/HTML vs. bu işler için tasarlanmış
şeyler değil. Ama bu, onlardan ilham alan, onların temel iskeletini baz alan
ve bu meseleye yönelik daha iyi bir şeyler yapılamaz demek değil.


2011/4/28 Bedreddin SAHBAZ <b...@sahbaz.name.tr>

> Polemik kısmına girmeden okumuş olduğum bir kitabı size de tavsiye etmek
> isterim.
>
> http://www.kitapyurdu.com/kitap/default.asp?id=128455
>
> Yazar Yahoo'ya satılan ve Yahoo'nun yanılmıyorsam Yahoo Store diye
> adlandırdığı servisin yaratıcılarından. Masaüstü ve web uygulamaları ile
> ilgili görüşlerini paylaştığı bölümler özellikle dikkatinizi çekecektir.
>
> Ben bu kitabı okuyalı yaklaşık 3 yıl oluyor; kitapta yazarın öngördüğü
> olaylardan birisi şu sıralarda gerçek olmak üzere. Ne kadar başarılı
> olacağını zaman gösterecek ama web tabanlı işletim sistemi ete kemiğe
> bürünmek üzere. Yazar da ileride tüm uygulamaların web'e kayacağını, hatta
> işletim sistemlerinin bile web tabanlı olacağını söylüyor.
>
> Bu bağlamda Google'ın açıklamalarını düşününce fikrin tutması hayal gibi
> de görünmüyor. Düşünsenize bir cihaz kiralıyorsunuz, bu cihazın donanımı
> ile ilgili tüm sorumlu hizmeti size veren kurum. Gerekirse donanım
> güncellemeleri, değişimleri sizi hiç ilgilendirmiyor. İşletim sisteminin
> güncellemeleri, bakımı, virüsler, vb. şeyler de sizi ilgilendirmiyor. Bu
> cümlelerimi okuyan liste ahalisinin tepkilerini duyar gibiyim.. Söylediğim
> bu avantajlar size hitap etmiyor bunun farkındayım. Bence Google da bu
> ürünü zaten sizin için üretmiyor. Google bilgisayarından korkan, sorun
> çıkınca nasıl halledeceğini bilemeyen, bilgisayarı çok da aktif
> kullanmayan, basit günlük işleri kolayca halledebilmek ve bunu yaparken de
> teknik meselelerle hiç iştigal etmek istemeyen milyonlarca sıradan
> kullanıcıyı hedefine koymuş.
>
> Web tabanlı uygulamaların geleceğini ben de parlak görüyorum. Serdar Beyin
> "balon" benzeşimine katılmıyorum. Web teknolojilerinin pek çok avantaj
> sağlayan bir yaklaşımı olduğu inkar edilemez.
>
> Saygılarımla..
>
>
_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php

Cevap