Java Destekli Cep Telefonları

____________________________________________________________________

Java Destekli Cep Telefonları başlığı sitemin ziyaretçi kayıtlarında farkettiğim bir Google arama terimi. Bunu farkedince bu konuda kısa bir yazı yazayım dedim.

Öncelikle Java Sun Microsystems taradından geliÅŸtirilmiÅŸ bir programlama dilidir ve Java Platform da bu dilde yazılmış uygulamaları çalıştırmak için Sun’ın hazırladığı bir platformdur.

Java platformu kendi içinde J2SE, J2EE, J2ME gibi alt alanlara ayrılır. Burada benim bahsedeceÄŸim Cep Telefonları için olan versiyonu J2ME’dir.

J2ME’nin açılımı Java 2 Micro Edition. Yani Java 2 platformunun düşük bellek ve iÅŸlemci gicine sahip aygıtlar için hazırlanmış bir mini sürümü. J2ME mobil cihazların çeÅŸitli uygulamalar çalıştırmasını saÄŸlayarak aygıtların yeteneklerini arttıran bir yapıdır. Telefona yüklenen J2ME uygulamaları telefonda önceden yüklü bulunan bir Java Sanal Makinesi (JVM) tarafından çalıştırılır. Bu sanal makineye KVM Kilobayt Virtual Machine (Kilobayt Sanal Makinesi) de denir. Bu sanal makine telefon üreticileri tarafından telefon yazılımına eklenir ve son kullanıcı tarafından deÄŸiÅŸtirilmesi neredeyse imkansızdır.

J2ME

Java Sanal Makinesi çeÅŸitli özellikleri nedeniyle cep telefonları için çok uygun bir uygulama çalıştırma ortamıdır. Bu sebeple çoÄŸu cep telefonu üreticisi bu sanal makineyi yazılımlarına ekleyerek telefonlarının çeÅŸitli özelliklerle donatılmasına izin verirler. Aslında buna bir olmazsa olmaz da diyebiliriz. J2ME o kadar yaygındır ki, piyasada bulunan cep telefonlarının çoÄŸunda bu sanal makine yani J2ME Java uygulamaları için destek vardır. Sadece bazı modellerde üretici kaynaklı sebeplerle telefonun Java uygulamalarını çalıştırması istenmemektedir. ÖrneÄŸin; Apple’ın Iphone telefonu Java uygulamalarını desteklemeyen bir telefondur. Bunun dışında neredeyse diÄŸer tüm telefonlarda Java DesteÄŸi vardır. Yani piyasada bulabileceÄŸiniz çoÄŸu telefonda Java desteklidir.

Burada bence asıl önemli olan telefonların Java desteği değil, Java yazılım sürümleri ve performanslarıdır. Tüm telefonlar Java desteğine sahip olsalar da çoğunun işlemci hızı, bellek miktarı, ekran renkleri gibi farklılıklar yüzünden özellikleri arasında fark vardır. Nasıl 1.5 GHz bir PC işlemcisi ile 3.0 GHz hızında çift çekirdekli bir işlemci arasında performans açısından fark varsa telefonlar arasında da bu tür farklar vardır.

Ayrıca J2ME farklı konfigürasyon ve profiller halindedir. Åžu anki yaygın konfigürasyonlar; CDC, CLDC 1.0, CLDC 1.1. Bunlar hakkında ayrıntılı bilgi vermeyeceÄŸim ama CDC cep telefonlarında pek kullanılmayan bir konfigürasyondur, sistem gereksinimleri CLDC konfigürasyonundan yüksektir. Yaygın profiller de MIDP 1.0, MIDP 2.0, MIDP 2.1 ve ÅŸu an üzerinde çalışılmakta olan MIDP 3.0. Konfigürasyon ve profiller cep telefonundaki Java yazılımının dolayısıyla Java uygulamalarının kabiliyetlerini belirler. Telefon seçiminde de önemli olan nokta budur. Çünkü konfigürasyon ve profiller cep telefonunuzun kullanım alanlarını belirleyen özelliklerdir. ÖrneÄŸin; MIDP 2.0 önceki sürümü MIDP 1.0’a göre çeÅŸitli multimedya kabiliyetleri, 3D kabiliyeti, güvenli aÄŸ baÄŸlantısı, geliÅŸmiÅŸ bir oyun programlama arayüzü gibi özellikler içermektedir. MIDP 2.1’de de GPS, OpenGL ES desteÄŸi gibi özellikleri ile öne çıkmaktadır.

Bir telefon alırken dikkat etmemiz gereken şey MIDP sürümünün olabildiÄŸince yüksek olması veya en azından MIDP 2.0 olmasıdır. Zira MIDP 1.0 için yazılmış uygulamalar MIDP 2.0 ve 2.1’de çalışabilirken son sürümler için yazılmış bir uygulama MIDP 1.0’da çalışmayacaktır. Bu sebeple yeni bir telefon seçiminde önemli olan MIDP profilinin olabildiÄŸince yüksek olmasıdır. MIDP 1.0 yıllar önce çıkarılmış ve sadece basit HTTP baÄŸlantı, kullanıcı arayüzü ve kalıcı veri saklama gibi özelliklere sahiptir. Günümüzde artık çoÄŸu programcı kabiliyetlerinin fazlalığından ve program yazmanın daha kolay olmasından dolayı uygulamalarını MIDP 2.0 için yazmaktadırlar. Bu durumda sadece MIDP 1.0 destekleyen bir telefon almak pek mantıklı olmaz. MIDP 2.1 sürümü de oldukça yeni olduÄŸu için piyasada bu profile yönelik fazla uygulama bulmak pek mümkün deÄŸildir. Bu nedenle alacağınız telefonun MIDP 2.0 olması oldukça yeterli olacaktır.

Bunun dışında telefonlarda birbirinden farklı olarak destekleyebilecekleri uygulama boyutları da sınırlı olabilmektedir. ÖrneÄŸin 5 MB boyutunda bir uygulamayı her telefon çalıştırmayabilmektedir. Bu da telefon alımında dikkat edilmesi gereken bir baÅŸka husustur. Öyleki Samsung’un eski model MIDP 1.0 telefonlarında uygulama boyutu sadece 60 KB idi. MIDP 2.1 destekli Nokia 5220 gibi telefonlarda bile en büyük uygulama boyutu 1 MB’tır. EÄŸer alacağınız telefon Symbian iÅŸletim sistemine sahip bir aygıt deÄŸilse bu daha da önemli bir hal almaktadır, çünkü uygulama çeÅŸitliliÄŸiniz azalmaktadır.

İşlemci performansı da Java uygulamalarının çalışmasında doÄŸrudan etkili olduÄŸundan en az ARM 9 serisi bir iÅŸlemciye sahip olmasına dikkat edin. EÄŸer iÅŸlemci ARM Jazelle teknolojisini destekliyorsa bu çok daha iyidir. ARM Jazelle Java bayt kodunun iÅŸlemci tarafından sanal makinenin kontrolünde doÄŸrudan iÅŸlemci üzerinde çalışmasını saÄŸlayan bir teknolojidir. Bu sebeple diÄŸerlerine göre oldukça hızlıdır. Tabi her modelde bu desteÄŸe sahip iÅŸlemci bulunmayabilir. Bunun yanında farklı hızlandırma teknolojileri (JIT, AOT …) de vardır ve yeni telefonların çoÄŸunda bunlardan birine destek vardır bu sebeple ARM Jazelle desteÄŸi bir olmazsa olmaz deÄŸildir.

EÄŸer cep telefonu alırken Java desteÄŸinin (iyi) olmasına önem veriyorsanız almayı düşündüğünüz modeller ile ilgili internette biraz araÅŸtırma yapmalısınız. Java konfigürasyonlarına ve profillerine ve yüklenebilir uygulama boyutlarına dikkat etmelisiniz. Ayrıca iÅŸlemcilerin de unutulmaması gerekir. Bunların tümüne bakabileceÄŸiniz, içerisinde neredeyse her telefon markası ve modeli ile ilgili performans bilgileri bulabileceÄŸiniz Jbenchmark sitesi telefonların Java performanslarıyla ilgili çok iyi bilgiler içeriyor, alacağınız telefon modellerini buradan inceleyebilirsiniz. Ayrıca Telefonunuzun Java Performansını Test Edin yazımda da Jbenchmark’taki testler hakkında bilgi bulabilirsiniz.

Sonuç: Java’nın cep telefonları için sürümü J2ME neredeyse her cep telefonunda bulunan bir sanal makinedir. Çok azında bu yazılım, dolayısıyla Java desteÄŸi yoktur. Destekleyen modeller de kendi aralarında konfigürasyon, profil ve iÅŸlemci güçleri gibi farklılıklar içerir. Telefon alırken en önemli nokta Java sürümünün olabildiÄŸince en son konfigürasyon ve profillere sahip olması ve iÅŸlemci performansının iyi olmasıdır. Ayrıca yüklenebilir uygulama boyutları da farklılık göstermektedir. Bu sebeple telefon seçiminde dikkat edilmesi gereklidir. Tabi Java desteÄŸine önem vermiyorsanız, kullanmam diyorsanız o da size kalmış. Günümüz telefonları eski bilgisayar iÅŸlemcileri ile aynı frekansta çalışan iÅŸlemcilere ve bir o kadarda yararlı uygulama çeÅŸitliliÄŸine sahip. Durum böyle iken o bilgisayar fiyatına aldığınız telefonları sadece müzik dinlemek ve bulanık fotoÄŸraflar çekmek için kullanmak pek mantıklı gelmiyor bana. 😀

4 Yorum

  • Yazan: ismail yıldırım, 20 Haziran 2009 @ 12:38 pm

    İYİ GÜZELDE KARDEŞİM BU J2ME TELEFONU NERDEN BULACAĞIZ MAİL ATARMISIN

  • Yazan: FeRHaD, 24 Haziran 2009 @ 6:48 pm

    Abi Iphone gibi bir telefon almazsan mutlaka J2ME destekli olacaktır. 🙂 Benim J2ME için tavsiye ettiklerim SonyEricsson’un cep telefonları, onların çok iyi Java platformları var, J2ME oyunlar, programlar vs. önemli ise ÅŸaÅŸmayın derim. Nokia’larda da tabii ki iyi bir J2ME desteÄŸi var ama uygulama boyut sınırı aptallıkları var, eÄŸer uygulama 1 MB boyutundan büyükse yükleyemiyorsun. 🙂

  • Yazan: yasin, 7 Eylül 2009 @ 11:23 am

    ya abi bnm bı sorum var bnm telefon 6600 onun hafıza akrtına her formattatn dosya atıom ama hıc bırısını okumuo yane pcde gorunuyo telefonda gozukmuo neden olabılır yardım eder mısnz ??

  • Yazan: FeRHaD, 7 Eylül 2009 @ 1:10 pm

    Telefonda dosya yöneticisinde mi görünmüyor? Bence telefonu bir sıfırlamayı fabrika ayarlarına döndürmeyi deneyin, kurulan farklı uygulamalar falan bir probleme neden olmuş olabilir.

Bu yazıya bağlantılar

Bu yazıdaki yorumlar için RSS beslemesi. Geri izleme URI

Yorum yaz