J2ME Giriş

90′ li senelerin ortalarinda Sun Microsystems mühendisleri bir çok embeded cihaz üzerinde calisabilecek tek bir platform daha dogrusu ara katman yapmayi amaçlamislardi ve bu amaçla Java diye bir dil ortaya çikardilar bu platform ara katmanda dili o makineye ait calistiralabilir koda çeviriyordu. Ancak internetin ve çalistirma ortamlarinin genislemesiyle bu platforma bilgisayar ortamlarinda da ihtiyaç duyuldu.

Java gitgide appletler, servletler ve J2EE mimarisi ile enterprise ortamda yer göstermeye basladi. Yani tek bir uygulamayi Windows, Linux, Unix, Solaris vs… farki olmadan her ortamda sorunsuz olarak çalistirabilecektik ki bu uygulamalar bizim sirketimizi belkemigini olusturan ERP vs… uygulamalar olacakti.
Ancak yillar olayi tekrardan tersine çevirdi özellikle mobil cihazlarin gelismesi Java’ yi yine bu embeded ortamlarda ihtiyaç duyulur hale getirdi. Bu sebeple basta J2ME (Java Micro Edition) olmak üzere Java Card, Java TV vs… platformlar ortaya çikarildi. Bu örnekler git gide çogaliyor Java ile bu gün buzdolabi, televizyon, cep telefonu, akilli kartlar, Lego oyuncaklari vs… programlanabiliyor.
Biz bu bölümde embeded ortamlarin en önemli ayagini olusturan J2ME mimarisini inceleyecegiz. Bu gün dünya üzerinde 550 milyon Java destekli cep telefonu mevcut ve 38 üretici ile hizli bir sekilde yoluna devam ediyor. Cep telefonu pazarinda .Net e karsi %98 gibi bir pazar üstünlügü olan Java özellikle Nokia, Sony-Ericsson, Siemens, Motorola gibi üreticilerinde destegiyle pazarini git gide büyütüyor. Bu pazar oldukça dikkat çekici olmakla birlikte piyasada büyük bir açik olusuyo özellikle mobil uygulama ve uygulama gelistirici sikintisi git gide artiyor.
Aslinda böyle bir sikinti olmasina karsin Java ile bu tarz mobil uygulamalar gelistirmek oldukça kolaydir. Özellikle yeni versiyon J2ME ile gelen Midlet 2.0 mimarisinde bir çok yeni kütüphane geldi. Oyun gelistirmek için Game Api, media servisleri için Media Api gibi kütüphaler vardir tabi bunun haricinde pki, socket vs… gibi arti özellikler de sunmaktadir.

Bu gün piyasada iki tür Java destekli telefon bulunmaktadir bunlar Midlet 1.0 ve Midlet 2.0 olarak ayrilabilir. Eger Java destekli bir telefon almayi düsünüyorsaniz Midlet 2.0 destekli olmasina özellikle dikkat edin.
J2ME ayrica konfigirasyon olarakta ayrilmaktadir. Bunlar CDC (Connected Device Configiration) ve CLDC (Connected Limited Device Configiration) olarak ayrilmaktadir.
CLDC (Connected Limited Device Configiration)

java.io
java.lang
java.lang.ref
java.util
javax.microedition.io

CDC (Connected Device Configiration)

java.io
java.lang
java.lang.ref
java.lang.reflect
java.math
java.net
java.security
java.security.cert
java.text
java.util
java.util.jar
java.util.zip
javax.microedition.io

Görüldügü gibi CLDC sinirli kütüphaneye sahip bir konfigirasyondur günümüzde cep telefonlari CLDC konfigirasyonuna sahiptirler.
Midletler ise asagidaki kütüphane desteklerine göre ayrilirlar.
Midlet 1.0

java.io
java.lang
java.util
javax.microedition.io
javax.microedition.lcdui
javax.microedition.midlet
javax.microedition.rms

Midlet 2.0

java.io
java.lang
java.util
javax.microedition.io
javax.microedition.lcdui.game
javax.microedition.media
javax.microedition.media.control
javax.microedition.midlet
javax.microedition.pki
javax.microedition.rms

Yine kütüphanelere baktigimizda midlet 2.0 ile gelen media , media.control, lcdui.game, pki kütüphaneleri dikkat çekiyor. Burada farklara söyle dikkat çekebiliriz. Örnek olarak Midlet 2.0 da 1.0 daki Canvas tan ayri olarak GameCanvas adinda bir Class gelmistir bu class yine Canvas class ini miras almistir. Biz bu class ile çok daha kolay oyun uygulamalari yazabilecegiz yada farkli bir örnek olarak media api ile cep telefonuna özel bir kütüphane olmadan kameraya erisebilecegiz ve bu sayede cep telefonun daha çok özelligini daha kolay kullanacagiz.

No comments yet.

Leave a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>