Cep telefonunda Java

____________________________________________________________________

Java (sözde) platform bağımsız bir programlama dilidir. Yani bu platform için yazılmış bir program bu platforma desteği olan her işletim sisteminde çalışır. Başta sözde dememin nedeni de dilin çok parçalanmış birbirinden bağımsız kullanım alanları olmasıdır. Yani masaüstü bilgisayarınızda da Java desteği olabilir, cep telefonunuzda da. Ancak ikisinin uygulamaları da bir diğerinde çalışmaz. Bunun dışında özellikle cep telefonları için oldukça iyi bir dildir.

Dünya’da birçok cep telefonu markası var ve hepsinin işletim sistemi de birbirinden farklı, neredeyse her markanın kendi işletim sistemi var. Java platformu olmasa her telefon üreticisi aygıtları için özel bir programlama dili geliştirip bu dilde uygulamalar ve oyunlar yazmak zorunda kalacaktı. Bu da çok zor, masraflı ve zaman alıcı olacaktı. Java ile üreticiler bu dertten ciddi anlamda kurtuluyor. Sun Microsystems’ın Java yazılımını alıp kendi cihazlarına adapte ediyorlar ve böylece tüm cihazlarda Java desteği oluyor. Bu sebeple Java cep telefonları için çok önemli bir dildir.

Cep telefonlarında Java platformunun yine Sun tarafından geliştirilmiş (Micro Edition) ya da eski adıyla J2ME sürümü kullanılır. Bu da kendi içinde CLDC 1.0 – 1.1 veya MIDP 1.0 – 2.0 – 2.1 gibi alt sürümlere ayrılır. için cihazda bir Java sanal makinesi yazılımı bulunmalıdır. Java sanal makinesi yazılımı Java programlama dili ile yazılmış kodları çalıştırır. Bunu kodları öncelikle cihazın kendi diline çevirerek yapar.

Java sanal makinesi yazılımı akıllı telefon ve cep bilgisayarı gibi cihazlar dışında çoğu cep telefonuna kendi üreticisi tarafından yüklenmiştir. Bu sebeple akıllı telefon gibi gelişmiş bir cihazınız yoksa kendiniz Java yazılımını telefona yükleyemezsiniz. Belki değişik telefon modellerinde bir hile olabilir ancak % 99 bunu kendiniz yapamazsınız.

Akıllı telefon ve cep bilgisayarı gibi cihazlar için ise farklı Java sanal makinesi yazılımları bulabilirsiniz. Bunların hepsinin birbirine göre artıları ve eksileri vardır. Örneğin; Windows Mobile işletim sistemli cihazlar için Esmertec Jbed en ünlü Java yazılımıdır. Mobile 3D Graphics API desteği gibi özellikleri vardır ancak MP3 çalma özelliğini desteklemez.

Bir de her Java sanal makinesinin farklı kütüphaneleri ve arayüzleri bulunabilir. Bunlar yazılım geliştirilirken yazılıma eklenir veya kendi işletim sistemine sahip cihazlarda cihaz üreticisi tarafından eklenmiştir. Bunlar 3D desteği, dosya ve adres defteri erişimi gibi ek özellikler sağlarlar ve JSR ile başlayan ve bir sayı ile devam eden bir kod ile anılırlar. Örneğin; 3D Java desteğine sahip yazılımlarda Sun’ın Mobile 3D Graphics API yaygındır ve JSR 184 olarak adlandırılır. Çok çeşitli API (Application Programming Interface – Uygulama Programlama Arayüzü) bulunmakta ve bunlar her telefonda bulunmamaktadır. Örneğin; Sun’ın Mobile 3D Graphics API yanında 3D desteği ve daha gelişmiş grafik özellikleri sunan Mascot Capsule de vardır ve diğerine göre çok daha performanslı ve çeşitli efektler eklemesi kolaydır (Mascot Capsule kullanan bir oyun, V-Rally3D). Ancak Mascot Capsule her telefonda bulunmaz, bu sebeple böyle bir API isteyen bir oyun Sony Ericsson cep telefonlarında çalışırken akıllı telefon bir cihazda çalışmayabilir. Son zamanlarda yeni kullanılmaya başlayan bir başka API ise SVG (Scalable 3D Vector Graphics) API (JSR 226)’dir.

Özetle, cep telefonlarında Java’nın Java ME denen sürümü kullanılır ve bunun için cihazda bir Java sanal makinesi yazılımı bulunur. Bu yazılım standart cep telefonlarında üretici tarafından cihaza yüklenmiştir ve değiştirilemez, ancak akıllı telefonlar için farklı yazılımlar bulunabilmektedir. Her yazılımın da farklı API desteği bulunmaktadır, bir cihazda veya Java sanal makinesinde desteklenen bir özellik bir diğerinde desteklenmeyebilir.

İlgili yazı: Java Destekli Cep Telefonları (Uzun süre yazınca bazen yeni yazıda farkında olmadan eskisinde zaten yazdıklarınızı da tekrar yazıyorsunuz 🙂 )