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 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 CDC 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.
Biz örneklerimizi yeni nesil olmasi itibariyle midlet 2.0 üzerinden
yapacagiz. Ancak öncelikle hangi gelistirme ortaminda
çalisacagimizi yani uygulamamizi nerede gelistirecegimize bakalim.
Gelistirme ortami için bir çok seçenek mevcut bunlar arasinda en
çok tercih edilenler Jbuilder (JBuilderX), Jdeveloper (wriless
extention), Sun One Studio Mobile Edition, Eclipse (EclipseMe) ve
Netbeans (Netbeans Mobility Pack) tir. Biz bunlar arasinda Sun
Microsystems tarafindan çikarilmis tamemen açik kaynakli, ücretsiz
ve kullanisli olan NetBeans' i tercih ediyoruz.
Öncelikle IDE mizi (NetBeans) kurmakla baslayalim.
http://www.netbeans.org adresine girip Downloads bölümünden
NetBeans IDE ve mobil uygulama gelistirme eklentisi olan NetBeans
Mobility Pack i indirelim yanliz son sürümleri olmasina dikkat
edelim. Indirme islemi bittikten sonra kuruluma geçiyoruz ancak
dikkat etmemiz gereken bir nokta var öncelikle Java ile uygulama
gelistirmek için gerekli olan JDK 1.4.2 (Java Development Kit) veya
üzeri bir sürümü kurmamiz gerekiyor. Eger JDK bilgisayarinizda
yüklü ise buna gerek yok aksi halde zaten yine Java ile yazilmis
olan NetBeans i çalistiramayiz ve uygulamalarimizi gelistiremeyiz.
JDK yi indirmek ve kurmak için http://java.sun.com adresinde
downloads bölümüne girebilirsiniz.
Simdi JDK yi kurup path ayarlarinizi yaptiginizi varsayip NetBeans
kurulumuna geçiyoruz. Ben bilgisayarima daha önceden
netbeans-4_0-bin-windows.exe yi indirmistim simdi buna çift
tikliyorum.

Karsima çikan menüden NEXT basip devam ediyorum.
Devami için tiklayin 2. bölüm