Bir Kez Yaz, Bir Daha Çalıştırma – J2ME Cep Telefonu Seçimi

____________________________________________________________________

Bu Sun Microsystems’ın Java Platformu için kullandığı sloganının benim bakış açımdan okunan hali. Onların sloganı; “Write once, run anywhere” (WORA) yani “Bir kez yaz, her yerde çalıştır“, benimki de “Write once, don’t run again (WODRA) ” “Bir kez yaz bir daha çalıştırma“. Şimdi adamlar bu sözü Java Platform ilk çıktığında 1995 yılında demiş, o zaman için de çok iyi demişler. O zamanlarda Windows ve Mac’te aynı kodlarla çalışabilen hiçbir programlama dili ve platformu yokmuş.

İşte Java çıktıktan sonra programcılar her işletim sisteminde çalışabilecek uygulamalar yazabilecekleri bir platforma kavuşmuş oldular. Zamanla platformun değişik özellikleri göz önünde tutularak cep telefonları gibi küçük aygıtlardan sunucu tarlaları gibi devasa yapılara kadar her yerde kullanılabileceği anlaşıldı ve J2ME, J2SE, J2EE ve J2… gibi teknolojiler hayatımıza girdi.

Java hayatımızdaki yerini giderek arttırdığı esnada platform da devamlı yenilendi ve gelişti. Ancak Java’nın en önemli özelliği olan “Bir kez yaz, her yerde çalıştır” kuralı ne yazık ki yavaş yavaş ortadan kalkmaya başladı. Örneğin; bilgisayarlarda çalışan J2SE (Java 2  Standart Edition) için yazılmış uygulamalar, J2ME (Java 2 Micro Edition) cihazlarda çalışmıyor. Aslında buraya kadar herşey oldukça normal, bilgisayar ve cep telefonlarının teknik özelliklerini vs. birbiriyle karşılaştırmak imkansız. Ancak bir J2ME uygulamanın başka bir J2ME destekli aygıtta çalışmaması işin anormal olan kısmı. Yani bir Java uygulaması bir telefonda çalışırken diğerlerinde çalışmıyor. Bu Sun Microsystems’ın da yakındığı bir problem, ancak platformun yayılabilmesi için ilk anda üreticileri fazla serbest davranmasına izin verdiği için herkes kendi telefonu için ürettiği uygulamanın başka bir yerde çalışmaması için çeşitli tekniklere başvurdu. Bunlar örneğin uygulamanın sadece kendi telefonlarında olan kütüphanelere ihtiyaç duyması. Bunlar özellikle ve Siemens uygulamalarında yaygındır. Eski Siemens C(ommodore) 65 telefonumdaki uygulamalar Siemens dışında hiç bir telefonda çalışmazdı. Çalıştırdığınızda ClassNotFoundException(com.siemens…) şeklinde hata verirdi. da öyle ancak şu an kullandığım SE K610i’de kütüphaneleri olduğu için için yazılmış uygulamalarda problem çıkmıyor.

Platformun şu artık küfür gibi gelmeye başlayan sloganını yok sayan başka bir konu da üreticilerin telefonları için belirledikleri en yüksek uygulama boyutu sorunu. Eski bazı Samsung telefonlarda bu 60 KB’tı ki bu bu boyutta bir uygulamaya düzgün bir grafiksel arayüz vs. koymak imkansızdı. Şu an da benim derdim aslında tam olarak bu. Cep Ingilizce uygulamamın sürümü hala çok yeni ve Türkçe >> İngilizce veritabanı çok kötü olmasına rağmen 1.7 MB boyutunda. Piyasadaki özellikle Nokia’nın çoğu modekli ise bu boyuttaki Java uygulamaları yüklemeye veya yüklense de çalıştırmaya pek niyetli değil. N serisi telefonlarında durumu bilmiyorum fakat diğer modelerde durum böyle. arkadaşlar sözlük uygulamamı istiyorlar ancak yüklenemediği için eski ve pek te işe yaramayan 300 KB boyutlu 1.0 sürümü ile idare etmek zorunda kalıyorlar. Symbian işletim sistemli ise Symbian uygulamaları ile yardımcı olabiliyorum fakat eğer o da yoksa durum vahim. Şu an kullandığım SE K610i telefonumu da seçerken göz önünde tuttuğum özelliklerinden bir idi bu. Anlayamadığım neden üreticiler böyle bir sınır koyuyor. Uygulama zaten çalışmazsa Java.lang.VirtualMachineError sınıfından bir hata verecek, kullanıcı da devamlı hata veren uygulamayı telefonunda tutmak istemez ki. Eskiden kullandığım Siemens C(ommodore) 65 telefonumda da uygulama sınırı yoktu. Sadece bildiğim kadarıyla ağ üzerinden indirilen uygulamalar için 500 KB sınırı vardı ki bu da çoğu telefonun normal uygulama yükleme sınırından bile fazla. 4.5 MB boyutlu sözlükler vs. kullanabiliyordum.

Eğer Symbian işletim sistemine sahip olmayan bir telefon alacaksanız mutlaka iyi bir Java performansı olan bir telefon seçmenizde yarar var. Çünkü artık telefonlar sadece arama, mesaj atma gibi amaçlarla kullanılmıyorlar. Neredeyse bilgisayarda olduğu kadar yapacak şeyiniz var. Tabi bunları yapmak için de Java destekli bir telefona ihtiyacınız var. Aslında piyasadaki Iphone dışında neredeyse tüm telefonlarda Java desteği vardır fakat performansı vs. değişiklik gösterir. Üstte bahsettiğim yüklenebilir uygulama boyutları da en önemli konulardan. Ne zaman nasıl bir uygulama ile karşılaşacağınızı bilemezsiniz ve boyutunu da, bu nedenle böyle bir boyut derdi olmayan telefonları tercih etmeniz şiddetle tavsiye edilir. Yok ben kullanmam, ben müziğimi dinler keyfime bakarım diyorsanız siz bilirsiniz ama sonra da pişman olmayın. Benim tavsiyelerim SonyEricsson serileri, bunlarda özellikle uygulama en yüksek boyut sınırının olmaması veya yüksek olması ve işlemci güçlerinin de oldukça iyi olması en önemli tercih nedenlerim. Ayrıca ve Mascot Capsule ve Nokia kütüphanelerinin de bulunması diğer markalara göre önemli artıları. Bunlar ile özellikle Mascot Capsule kullanan kaliteli grafiklere sahip oyunlar ve Nokia uygulamaları da çalıştırabilirsiniz. Değişik telefonların Java performasnlarına JBenchmark‘tan bakabilrsiniz, gerekli çoğu bilgiler var burada.Ayrıca Symbian işletim sistemlerinin kötü oldukları zırvalığında da ısrar etmeyip özellikle N serisi telefonlara bir bakmanızda fayda var. Belki onlarda da Java uygulama boyut sınırları düşük olabilir ama Symbian platformunda zaten istediğiniz uygulamanın daha da yeteneklisi mutlaka vardır.