> 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