SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
GAZĠ ÜNĠVERSĠTESĠ



  ENM 512 BĠLGĠ SĠSTEMLERĠ



 Mobil Platformlar ve Uygulamalar



        ÖĞRETĠM ÜYESĠ

Öğr. Gör. Dr. Tahsin ÇETĠNYOKUġ



       HAZIRLAYANLAR

  Suat Furkan IġIK - 118308214

  Burak KARAMAN - 118308216

Ġbrahim Emre ARICAN - 29070151

                                    1
ĠÇĠNDEKĠLER

GĠRĠġ………………………………………………………………………………...3

1. MOBĠL PLATFORMLARDA YAZILIM ALTYAPISI……………………….4

2. MOBĠL PLATFORMLARDA YAZILIM ORGANĠZASYONU……………...5

3. YAYGIN ĠġLETĠM SĠSTEMLERĠ……………………………………………..7

3.1. Symbian…………………………………………………………………………7

3.2. Windows Mobile………………………………………………………………..9

3.3. RIM: Blackberry OS………………………………………………………….10

3.4. Linux…………………………………………………………………………...12

3.4.1. Linux mobile vakfı…………………………………………………………..14

3.5. Android………………………………………………………………………...14

3.6. iOS……………………………………………………………………………...16

4. MOBĠL UYGULAMA ÖRNEĞĠ………………………………………………17

KAYNAKLAR……………………………………………………………………..24




                                                    2
MOBĠL PLATFORMLAR ve UYGULAMALAR

GĠRĠġ

Kullandığımız her türlü elektronik donanımın üzerinde mutlaka donanımı kontrol
eden bir yazılım çalışmaktadır. Donanımlar gelişip karmaşıklaştıkça, onları kontrol
eden yazılımlar da mecburen gelişip karmaşıklaştı. Yani bir diğer deyişle, zaman
içerisinde donanımlarımızdaki basit yazılım parçaları, kompleks işletim sistemlerine
dönüştürüldüler. Akıllı telefonlar (Smart Phones), tablet bilgisayarlar, PDA (Personal
Digital Assistant) 'lar gibi taşınabilir cihazlar için üretilen işletim sistemleri mobil
işletim sistemleri olarak adlandırılırlar. İşletim sistemi yazmak oldukça zahmetli
oluğundan günümüze dek sadece birkaç işletim sistemi geliştirilmiştir. Bunlardan
bazıları kullanıcı ihtiyaçlarını karşılayamadığından dolayı unutulmuştur. Günümüzde
mevcut ve yakın gelecekte de var olmaları muhtemel olan mobil işletim sistemleri
şunlardır:

       Google: Android

       Apple: Iphone OS (iOS)

       RIM: BlackBerry OS

       Symbian Vakfı: Symbian

       Palm: Web OS

       Microsoft: Windows Mobile

       Linux Vakfı: MeeGo

       Samsung: Bada




                                                                                      3
1. MOBĠL PLATFORMLARDA YAZILIM ALT YAPISI

İşletim sistemleri (OSS) başlangıçta tüm giriş çıkışları; belleğe, disk sürücüsüne,
ekrana, yazıcıya işlemek için tasarlanmıştır. Bunların yazılım uygulaması
geliştirenler ile alt düzey kullanıcılar arasında ayrılması gerekmektedir. İşletim
sistemlerinin bir parçası olarak desteklenmeye başlamasıyla sanal standartlar haline
gelen fonksiyonların makineler tarafından desteklenmesi gerekmektedir. Yakın
zamana dek Windows 3.1’in ne bir tarayıcısı ne de bir TCP/IP bağlantısı vardı.
Kişinin internete girebilmesi için bunlardan birisinin ayrıca sisteme monte edilmesi
gerekiyordu. O zamana kadar herhangi bir yerel medya oynatıcısının işletim
sisteminin bir parçası olması duyulmamış bir özellikti. İnternet kullanımı evrensel
hale geldikçe bu özelliklerin işletim sisteminin içine entegre etmek gerekli bir hale
gelmiştir. Sonradan Internet Explorer, Microsoft işletim sisteminin bir parçası haline
gelmiştir. Zamanla kızılötesi, bluetooth ve medya oynatıcı gibi özellikler
oluşturularak sisteme dahil edilmiştir. Microsoft Windows işletim sisteminin bugün
itibari ile 50 milyondan fazla kaynak kodu olduğu bilinmektedir.

Cep telefonları her zaman benzersiz bir çalışma ortamı sunmuştur. Mobil cihazlar
kaynaklar açısından (işlemci yetenekleri-bağları, hafıza, pil gücü) kısıtlıdır. Cep
telefonlarının kablosuz olarak iletişim için ayrıca bluetooth, kızılötesi, Wi-Fi,
WiMAX, USB; ses ve video için multimedya özellikleri; kamera, klavye, ekran,
dokunmatik ekran, harici cihazları, harici belleğe, USB yazıcılar ve tarayıcılar yanı
sıra, POP3 posta, Microsoft Office, Adobe PDF belgesi okuyucu, görüntü işleme, ve
daha fazlasını yapması gerekmektedir.        Mobil işletim sistemi çevresel etkiler
nedeniyle her zaman istenilen kalitede bağlantı sunamamaktadır. Dolayısıyla istemci-
sunucu uygulamaları üzerinde bu özelliğin büyük bir önemi vardır. Eski sürüm cep
telefonlarında genellikle öne çıkan bir işletim sistemi olmadığından sesli ve SMS’li
uygulamalar kısıtlıdır. Yazılım kodları her bir donanım ve telefon için özel olmaya
başlaması ile birlikte tüm uygulamalar doğrudan kodlanmaya başlanmıştır. Ancak
daha gelişmiş telefonlar ve uygulamaların gelmeye başlamasıyla artık bu yöntem
pratik olmamaya başlamıştır. Cep telefonlarının bir işletim sistemine ihtiyacı vardır
bu sayede yeniden kod yazmaya gerek kalmadan çeşitli uygulamalar ve süreçler
başka bir platforma kolaylıkla taşınabilecektir.

                                                                                    4
Cep telefonu işletim sistemi en az işlevsellik ve performans açısından, masa üstü
işletim sistemlerinin bir alt kümesi olamayacaktır. Mobil cihazlar bir yandan
uygulamalar ile arayüz için diğer yandan da donanım ve yazılım için yeni bir işletim
sistemine ihtiyacı vardır.

Multimedya telefonlar ile ilgili özel olan nedir? Multimedya telefonları yeni bir
seviyedeki işletim sistemi özelliklerini güncellenerek almaktadır. Kullanıcı
uygulamaları eş zamanlı olarak ses, veri ve görüntü gibi yüksek düzeyde çoklu görev
fonksiyonlarını kullanım gereksinimi duymaktadır. Örneğin, bir telefon aynı anda bir
TV klibe veya ses dosyasına kaydedilmesi ve bellekten dosya alınırken 3G ağı ve
yerel kamera kullanımını içeren bir video arama için kullanılabilmektedir.
Multimedya telefonları desteklemek için gerekli fonksiyonel modülleri standart bir
cep telefonu işletim sistemi çekirdeğinin karşılayabileceğinden çok daha yüksek
gereksinimlere ihtiyaç duymaktadır[1].




2. MOBĠL PLATFORMLARDA YAZILIM ORGANĠZASYONU

Mobil platformlardaki yazılım yapısını dört ana bölüme ayırabiliriz:

      İşletim sistemi

      Ara yazılım

      Uygulamalar

      Erişim kontrolü (arayüz)




                                                                                  5
Şekil 2.1. Mobil platformlarda yazılım mimarisi[1]




Yazılım mimarisinin en alt katmanında içinde kontrol ve uygulama işlemcilerini ve
bunların sürücülerini barındıran silikon kısım bulunur. Bundan sonraki katman
işletim sistemi çekirdeğidir. Bu kısımda silikonda bulunan, örneği bellek gibi
donanım parçalarına ulaşmak için kullanılan arayüz bulunur. İşletim sistemi katmanı
“Bluetooth Yığını”, “Kızılötesi Yığını” gibi bir çok yığının birleşiminden oluşur.

İşletim sistemi çekirdeğinden sonra ara yazılım katmanı gelmektedir. Ara yazılım
donanım ile kullanıcının kullandığı yazılım arasında görev yapmak üzere
geliştirilmiş olan yazılım olarak düşünülebilir. Bu durumda ara yazılım katmanı
işletim sisteminin uygulamalar tarafından kullanılmasını sağlayan programlardan
oluşmaktadır. Ara yazılımlara, multimedya kullanımı için özelleşmiş yazılımlar,
GPRS, 3G gibi mobil iletişim yazılımları veya animasyonlar ve oyunlar için
kullanılan çeşitli yazılımlar örnek olarak gösterilebilir. Bu katman ayrıca operatörden
operatöre farklılık gösteren push-to-talk, video görüşme gibi çeşitli özelliklerin
kullanılabilmesi için gerekli yazılımları da içerir.




                                                                                     6
Uygulamalar katmanında MMS, tarayıcılar, oyunlar, mobil televizyon gibi çok geniş
yelpazede bir çok program bulunabilmektedir. Bu programlar sayesinde işletim
sisteminin fonksiyonları kullanılabilir hale gelir [1].




3. YAYGIN ĠġLETĠM SĠSTEMLERĠ

3.1. Symbian

Symbian Ltd. önceleri Ericsson, Motorola, Nokia, Panasonic, Psion, Samsung,
Siemens ve Sony Ericsson şirketlerinin bazıları arasında kurulmuş ve bazıları
arasında hisseleri el değiştirmiş bir şirketti. Symbian işletim sistemi ise lisans
sahipleri tarafından kullanılmakta idi. Nokia sonrasında diğer hissedarların elindeki
hisseleri de satın alarak Symbian'ın tüm varlığını kendi kurduğu Symbian Vakfı'na
bağışlamıştır. Şu an Symbian’ın geliştirme işlerini Symbian Vakfı yapmaktadır.

Symbian önceleri Linux gibi çekirdek bir işletim sistemiydi ve üzerine cihaz
üreticileri tarafından Linux'taki GNOME veya KDE gibi arayüzler yüklenmesi
gerekiyordu.
Nokia'nın       Symbian    cihazlarında    kullandığı     arayüze Series      60 veya S60;
Sony         Ericsson'un    Symbian       cihazlarında      kullandığı     arayüze UIQ;
Fujitsu, Sony Ericsson Japonya, Mitsubishi ve Sharp'ın NTT DoCoMo şebekesinde
çalışacak Symbian cihazlarda kullandığı arayüze MOAP(S) ismi verilmiştir.

Eski Symbian/S60 Özel (kapalı kaynaklı) bir işletim sistemidir fakat bir çok
üreticinin     ürününde bulunabilir,   dolayısıyla   değişik   platformlara     uyumluluk
zorunluluğu olduğu için optimizasyon ihtiyacı rakiplerine kıyasla düşüktür. İşletim
sistemi güncellemeleri için bir bilgisayara bağlı olmaya ihtiyaç duymamaktadır.


Öncelikle tuş takımı ile yönetilen cep telefonu kökenli cihazlarda çalışmak üzere
geliştirildiğinden, rakiplerine kıyasla daha zor ve karışık bir arayüze sahiptir ve
kullanımı da rakiplerine kıyasla zordur. Ana kullanıcı arabirimi, üzerinde çeşitli
uygulamalara dair kısayolların ve pratik bilgilerin bulunduğu bir bekleme ekranıdır,
ayrıca uygulamaların kısayollarının bulunduğu bir menü sistemi mevcuttur. Adobe

                                                                                        7
Flash Lite destekleyen WebKit tabanlı S60     Browser tarayıcısı   ile orta   karar bir
internet    deneyimi     sunar.      Ayrıca   JavaME’yi     de     desteklemektedir.


Symbian, standart ve yaygın bir şekilde benimsenmiş bir uygulama geliştirme ortamı
sunar, fakat oldukça detaylı ve derin olduğundan öğrenmesi zordur, bu da toplam
uygulama geliştirici sayısına olumsuz etki etmektedir. Fakat en eski smartphone
platformu olması ve bir çok programlama diline izin vermesi nedeniyle (Standard
C/C++, Visual Basic, .NET, POSIX, Python, Java ME, Flash Lite, Ruby, Web
Runtime (WRT)) mevcut uygulama çeşitliliği ile sayısı açısından zengin bir
platformdur. Ayrıca kendisine ait bir uygulama dağıtım kanalına (Ovi Store)
sahiptir.


Symbian, platforma doğal bir dilde uygulama geliştirilmesine izin verir ve bu
nedenle uygulama başarım performansı rakiplerine kıyasla yüksektir, sahip olduğu
mikrokernel yapısı sayesinde kaliteli ve hızlı uygulamalar için yüksek işlemci
gücüne ihtiyaç duymamaktadır. Sistem, aynı anda birden çok uygulamanın
çalıştırılmasını desteklemektedir.


Symbian/S60, Windows gibi yeni özellikler eklendikçe şişmiş ve hantallaşmıştır. Bu
nedenle şu an Symbian Vakfı şu an işletim sistemine arındırma ve basitleştirme
işlemleri uygulamaktadır [2].




                                                                                     8
Şekil 3.1.1. Symbian OS mimarisi[2]




3.2. Windows Mobile

Windows        CE tabanlı    bir    işletim    sistemidir.    Windows         tabanlı   olmasına
ve ileri düzeydeki     altyapısına      rağmen      masaüstünde        kullanılan       Windows
uygulamalarını çalıştıramaz.

Özel (kapalı     kaynaklı)    bir    işletim     sistemidir    fakat    bir     çok     üreticinin
ürününde bulunabilir, dolayısıyla değişik platformlara uyumluluk zorunluluğu
olduğu için optimizasyon miktarı rakiplerine kıyasla düşüktür. İşletim sistemi
güncellemeleri için bir bilgisayara bağlı olmaya ihtiyaç duymaktadır.

Öncelikle stylus ile    yönetilen      PDA       kökenli      cihazlarda       çalışmak     üzere
geliştirildiğinden, rakiplerine kıyasla daha zor ve karışık bir arayüze sahiptir ve
kullanımı da rakiplerine kıyasla zordur. Ana kullanıcı arabirimi, üzerinde çeşitli
uygulamalara dair kısayolların ve pratik bilgilerin bulunduğu bir bekleme ekranıdır,
ayrıca uygulamaların kısayollarının bulunduğu bir menü sistemi mevcuttur. (Adobe
Flash Lite destekleyen) Internet Explorer Mobile tarayıcısı ile fakir bir internet
deneyimi             sunmakta             ve           JavaME desteklemektedir.


Standart ve yaygın bir şekilde benimsenmiş bir uygulama geliştirme ortamı


                                                                                                9
sunmaktadır, bu nedenle mevcut uygulama çeşitliliği ile sayısı açısından zengin bir
platformdur. Ayrıca kendisine ait bir uygulama dağıtım kanalına (Windows
Marketplace                   for                   Mobile)                 sahiptir.


Platforma doğal bir dilde uygulama geliştirilmesine izin verilmektedir ve bu nedenle
uygulama başarım performansı rakiplerine kıyasla yüksektir, fakat bir takım
donanım/yazılım platform farklılıkları nedeniyle kaliteli ve hızlı uygulamalar için
yüksek işlemci gücüne ihtiyaç duymaktadır. Aynı anda birden çok uygulamanın
çalıştırılmasını desteklemektedir                                                [2].




Şekil 3.2.1. Windows mobile mimarisi[2]




3.3. RIM: Blackberry OS

Research In Motion (RIM) tarafından sadece BlackBerry'ler için geliştirilmiş özel bir
işletim sistemidir. Özel (kapalı kaynaklı) bir işletim sistemidir ve bu nedenle
yalnızca RIM'a ait ürünlerde bulunmaktadır. Değişik platformlara uyumluluk
zorunluluğu olmadığı halde optimizasyon miktarı düşüktür. İşletim sistemi
güncellemeleri   için   bir   bilgisayara   bağlı   olmaya    ihtiyaç duymamaktadır.




                                                                                   10
Temelde       dokunmatik olmayan cihazlar         için      tasarlanmıştır,        dokunmatik
ekranları sonradan desteklemeye      başlamıştır. Basit bir        arayüze     sahip     olsa    da
rakiplerine kıyasla zor bir kullanım sağlamaktadır. Ana kullanıcı arabirimi, üzerinde
çeşitli uygulamalara dair kısayolların ve pratik bilgilerin bulunduğu bir bekleme
ekranıdır (Widget desteği de içermektedir), ayrıca uygulamaların kısayollarının
bulunduğu                    bir menü                    sistemi                       mevcuttur.


Çoklu dokunuş desteği mevcuttur ancak yakınlaşmak/uzaklaşmak için değil, yazı
seçmek için kullanılmaktadır. Mükemmel bir e-mail deneyimi ve JavaME desteği
sunmaktadır. Medya oynatıcısı kutudan çıktığı hali ile MPEG4, 3GP, XviD videoları
oynatabilmektedir.



Tarayıcısı Java desteklemektedir ve Flash desteği sınırlı olarak bulunmaktadır.
Tarayıcısı sıkı güvenlik standartlarına sahiptir; iş yerleri tarafından bu ayarlar kontrol
edilebilmekte ya da değiştirilebilmekte, kişisel kullanıcılar ise kendi planlarını
kendileri oluşturabilmektedir. Çok başarılı bir sıkıştırma teknolojisi sayesinde bir kaç
megabaytlık       siteleri      birkaç      yüz          kilobyte’a          düşürebilmektedir.


Java tabanlı, JavaME ve özel API'ler içeren uygulama geliştirme ortamı (BlackBerry
SDK) sunmakla birlikte, uygulama çeşitliliği ile sayısı açısından şu an fakir olan bir
platformdur. Ayrıca kendisine ait bir uygulama dağıtım kanalına (BlackBerry App
World)                                                                                   sahiptir.


Platforma doğal bir dilde uygulama geliştirilmesine izin verilmektedir ve bu nedenle
uygulama başarım performansı rakiplerine kıyasla yüksektir, kaliteli ve hızlı
uygulamalar için yüksek işlemci gücüne ihtiyaç duymamaktadır. Aynı anda birden
çok            uygulamanın               çalıştırılmasını desteklemektedir                      [2].




                                                                                                 11
3.4. Linux

Linux tabanlı işletim sistemleri açık kaynak kodlu olmalara nedeniyle mobil cihazlar
arasında farklı bir yere sahiptir. Kullanım oranı %10’un altında olsa da Çin gibi yeni
pazarlarda açık kaynak kodlu olması sebebiyle Linux tabanlı mobil cihazlar satışa
sunulmaktadır.

Linux genel kamu lisansı (General Public License) kullanmaktadır. Genel kamu
lisansı, programın yeni bir versiyonu çıktığı zaman kaynak kodlarının açıkça
ulaşılabilir olması gerektiği anlamına gelmektedir. Açık kaynak kodlu olması ve bu
durumun gelecekte de devam edecek olması sebebiyle Linux çekirdeği telefon
üreticileri tarafından adapte edilmiştir. Örneğin Çin, 3G ağlarında işletim sistemi
olarak kullanmak üzere Linux’u adapte etmiştir. Ayrıca, NTT DoCoMo, Vodafone,
NEC, Panasonic, Motorola ve Samsung gibi büyük üreticiler ve operatörler açık
Linux adaptasyonları için küresel bir platformu desteklediklerini açıklamışlardır.

Linux çekirdeği fonksiyonellik yönünden kısıtlı bir çekirdektir. Multimedya desteği,
iletişim fonksiyonları, bağlantı servisleri ve platform yönetim servisleri gibi birçok
mobil telefon fonksiyonunun ara yazılım (middleware) tarafından desteklenmesi
gerekmektedir.




                                                                                     12
Şekil 3.4.1. Linux mimarisi[2]




Telefon    fonksiyonlarının    büyük     bir    kısmı    yazılım   modülleri    tarafından
desteklenmektedir. Bu sorunları giderebilmek için CE Linux Forumu küresel
referans mimarisi ve yazılım ile ara yazılımların bazı kısımları için uygulama
program arayüzleri (application program interface/API) üzerinde çalışmaktadır.
Üzerinde çalışılan bu mimarinin telefon, görüntülü telefon ve multimedya
modüllerini içermesi beklenmektedir.

Birçok satıcı fonksiyonellik açısından daha gelişmiş fakat aynı zamanda açık
kaynaklı olma özelliğini de sürdüren bir Linux fikrini desteklemektedir. Örneğin
Japonya’nın en büyük operatörü olan NTT DoCoMo, Symbian Vakfı’nın kurucu
üyelerinden biri olmasına rağmen kendi ürettiği telefonlarda Symbian yerine Monta
Vista Linux kullanmaya başlamıştır. Aynı şekilde NEC de telefonlarını Monta Vista
Linux     üzerine   geliştirmektedir.   Monta    Vista    Linux    gelişmiş    multimedya
uygulamaları için kolay entegrasyon ve kablosuz telefon tasarımları için standart bir
geliştirme platformu sunmaktadır [2].



                                                                                       13
3.4.1. Linux mobile vakfı

Linux Mobile Vakfı 2006 yılında bir mobil yazılım için gerekli bütün çevreyi
sağlayabilmek amacıyla kurulmuştur. Linux Mobile Vakfı, Linux tabanlı telefonların
ve diğer mobil cihazların gelişimini desteklemek için tamamen açık kaynaklı bir
mobil telefon mimarisi oluşturma amacındadır.

Linux Mobile Vakfı, ara yazılımlar ve kullanıcı arayüzlerinin çalışmasını sağlayacak
yazılımlar üzerine yoğunlaşmaktadır. Bunun yanında başka Linux çalışma grupları
da vardır ve büyük üreticiler kendi uygulama program arayüzlerini (API)
kullandıkları Linux tabanlı mobil telefonları piyasaya sürmüşlerdir.

mLinux, Linux’ün Çin’deki 3G ağları üzerinde kullanılmak üzere geliştirilmiş bir
versiyonudur. Bu versiyonda Linux çekirdeği bir işlemci üzerine yerleştirilmiştir ve
kodlarına işlemcinin bağlı bulunduğu bellek üzerinden ulaşılabilir. Linux’ün bu
versiyonu ARM9, Intel XScale, MIPS, Motorola Dragonball, Texas Instruments gibi
birçok   işlemciyi     desteklemektedir.   mLinux,   geliştirilmiş     açılış   yükleyicisi
(bootloader) sayesinde 2 saniyeden kısa açılış zamanına sahiptir ve multiprocessing
ve hafıza yönetimi gibi özellikleri de bulunmaktadır [2].




3.5. Android

Android, aralarında Google, Motorola, Qualcomm, HTC, LG, Sony,Samsung gibi
büyük firmaların da bulunduğu 30’dan fazla firmanın katılımıyla kurulmuş olan,
Open Handset Alliance tarafından geliştirilmiş bir mobil yazılım platformudur.
Android, işletim sisteminden, ara yazılımdan, internet uygulamalarından ve geliştirici
seçeneklerinden oluşan eksiksiz bir mobil cihaz platformudur.

Android, mobil uygulama marketinin yanı sıra bir yazılım geliştirme kiti de
içermektedir.   Bazı     işletim   sistemlerinin aksine     Android,    telefonun    bütün
yeteneklerini uygulama geliştiricilerin hizmetine sunmakta, bu sayede telefonun
kaynaklarıyla üstün bir entegrasyon sağlanmaktadır.

                                                                                        14
Şekil 3.5.1. Android mimarisi[3]




Android işletim sistemi; çekirdek, kütüphaneler, Android Runtime, uygulama çatısı
ve uygulamalar olmak üzere beş katmandan oluşur. Şekilde yeşille gösterilen öğeler
C/C++ ile yazılmış iken mavi ile gösterilen öğeler Java ile yazılmıştır ve Dalvik
sanal makinesi üzerinde çalışmaktadır. Çekirdek katmanında güç ve hafıza yönetimi
konularındaki özel    ihtiyaçlar için modifiye     edilmiş   bir Linux   çekirdeği
kullanılmaktadır. Çekirdek üzerinde bluetooth, WiFi gibi donanımların sürücüleri
bulunmaktadır. Kütüphaneler katmanında düşük hafıza kullanımı amacıyla
geliştirilmiş temel kütüphaneler bulunmaktadır. Android Runtime katmanı Dalvik
sanal makinesinden ve Java kütüphanesinden oluşmaktadır. Dalvik sanal makinesi
daha hızlı çalışmak ve daha az hafıza kullanmak amacıyla Java kodlarını Dalvik
kodlarına dönüştürerek çalıştıran bir makinedir. Uygulama çatısı katmanındaki
çatılar, bir alt katmandaki kütüphanelerin ve Dalvik makinesinin sunduğu imkanlar
dahilinde çalışmaktadır. Android uygulamalarının her biri kendi Dalvik makinesi ile

                                                                                15
çalışmaktadır. Bu uygulamalar birçok bileşenden oluşabilir. Bu bileşenler başka
uygulamaların bileşenleri ile etkileşimli olarak çalışabilir [3].




3.6. iOS

iOS, Apple tarafından geliştirilen ve kullanılan bir mobil işletim sistemidir. Bu
sistem öncelikle iPhone ve iPod Touch için geliştirilmiş ve daha sonra piyasaya
sürülen iPad’lerde de kullanılmıştır. Windows Mobile’ın ve Android’in aksine Apple
kendi ürünü olmayan donanımlar üzerine iOS kurulmasına izin vermemektedir. OS
X’in mobil cihazlar için hazırlanmış versiyonu olan iOS bu nedenle Unix platformu
üzerinde çalışmaktadır.

iOS işletim sistemi temel olarak dört katmandan oluşmaktadır. iOS sisteminin en
altında Core OS katmanı bulunmaktadır. Bu katmanın üzerinde sırasıyla Core
Services, Medya ve Cocoa Touch katmanları bulunmaktadır.




Şekil 3.6.1. iOS mimarisi[4]




Core OS katmanında diğer teknolojilerin üzerinde kurulu bulunduğu düşük seviyeli
özellikler bulunmaktadır. Bu düşük seviyeli özelliklere örnek olarak güvenlik,
bluetooth, harici aksesuarlar gibi temel özellikler gösterilebilir. Core Services
katmanı bütün uygulamaların kullandığı ana sistem özelliklerini barındırır. Kullanıcı

                                                                                  16
bu servisleri direkt olarak kullanmasa da sistemin parçalarından bir çoğu bu
katmandaki özelliklerin üzerine kurulmuştur. Bu özelliklere örnek olarak uygulama
içinden satın alma, veri koruması, dosya paylaşım desteği gibi temel hizmetler
gösterilebilir. Bu özellikler kendi başına bir anlam ifade etmese de veya son kullanıcı
tarafından kullanılan özellikler olmasa da diğer bir çok uygulama içerisinde görev
almaktadır. Medya katmanı, bir mobil cihazdan elde edilebilecek en iyi multimedya
deneyimini üretmeyi amaçlayan grafik, ses ve video teknolojilerini barındırmaktadır.
Bu katmandaki teknolojiler uygulamaların son kullanıcı ile karşılaşacak olan
kısımlarını direkt olarak ilgilendirmektedir. Ses, görüntü ve video ile ilgili bütün
özellikler bu katmandaki yığınlar kullanılarak işler hale getirilir. Cocoa Touch
katmanı iOS uygulamaları için anahtar sistemleri barındırmaktadır. Bu katman temel
uygulama altyapısını tanımlamakta ve çoklu görev (multitasking), dokunmatik
ekrandan veri girişi, kullanıcıya bildirim gönderme gibi, uygulamaların kullanıcıyı
ilgilendiren kısımlarında sıklıkla kullanılan yüksek düzeyli sistemlere ev sahipliği
yapmaktadır [4].




4. MOBĠL UYGULAMA ÖRNEĞĠ

Bu bölümde anlatılacak olan uygulama yabancı dil öğreniminde önemli bir etken
olan kelime ezberlemeye veya öğrenmeye yönelik yardımcı bir uygulamadır. Bu
uygulama, mobil telefonlar üzerinde çalışan işletim sistemlerinin pazar payları göz
önüne alınarak, Android işletim sisteminde çalışabilecek özellikte olarak Java
programlama dili ile geliştirilmiştir. Uygulama, kullanıcının isteğine göre belirlenen
periyotlarda yabancı dilde kelimeyi verip Türkçe karşılığını veya tam tersini
istemektedir. Sorular çoktan seçmeli veya istenen kelimelerin kullanıcı tarafından
girilmesi şeklinde olabilmektedir. Kullanıcı, uygulamanın veritabanına erişip
kelimeler üzerinde ekleme, silme, değiştirme gibi işlemleri yapabilmektedir. Mobil
yazılımın geliştirilmesi aşamasında, öncelikle gereksinimler ve bunların nasıl
karşılanacağı belirlenmiş, yazılım geliştirme ortamları temin edilmiş, tasarım
basamakları hazırlanmış, dokümantasyon elde edilmiş ve bu belgelere uygun
doğrultuda   hareket   edilmiştir.   Mobil   uygulamanın     gömülü    sistemler   için


                                                                                    17
hazırlanacağı göz önüne alınarak uygun yazılım geliştirme ortamlarının taranma
işlemleri gerçekleştirilmiş ve bunun sonucunda Android SDK ve Eclipse ortamları
kullanılmıştır. Gerçekleştirilen mobil uygulamanın genel çalışma şeması aşağıda
gösterilmiştir.




Şekil 4.1. Mobil uygulamanın akış şeması[5]




Uygulama, dil öğrenmeyi amaçladığı için farklı dil destekleri ile tasarlanmıştır.
Örneğin programın menüleri kullanılan cep telefonunun diline göre değişmektedir,
yani telefon dili İngilizce ise programın menüleri de İngilizce olmaktadır. Ayrıca
kullanıcı isteğine göre kelime sorularını belirli aralıklarla ya da sürekli olarak ekrana
getirebilmektedir.




                                                                                      18
Uygulama ilk çalıştırıldığında kullanıcının karşısına “veritabanı boş” uyarısı
çıkmaktadır. Kullanıcı istediği veritabanını yazılıma ekleyebilmektedir. Veritabanına
kelimeler eklendikten sonra kullanıcının karşısına ana ekran çıkmaktadır. Bu ekranda
kullanıcının program ile ilgili ayarları yapabileceği, kelimeleri düzenleyebileceği ve
mobil öğrenme programını başlatabileceği düğmeler bulunmaktadır.




Şekil 4.2. Veritabanı uyarı ekranı ve ana menü ekranı[5]




Programın “Ayarlar” kısmında kullanıcıya sunulan çeşitli soru seçenekleri ve soru
sorma süreleri belirlenebilmektedir. Kullanıcı “Soru Modu” seçeneğinde iki farklı
soru türü belirleyebilmektedir. Birincisi çoktan seçmeli yani sorulan kelimenin
cevabını dört adet şık arasından seçmek, ikincisi ise klasik yani sorulan kelimenin
cevabını doğrudan belirtilen alana yazmaktır. “Soru Periyodu” seçeneğinde kullanıcı,
soruların hangi sıklıkla karşısına geleceğini belirleyebilmektedir. Bu kısımda eğer
“Periyot Yok” seçilir ise sorular ekrana sürekli gelecek ve 30 sn içerisinde


                                                                                   19
kullanıcının cevap vermesi istenecektir. Bu seçenek genelde kullanıcının sadece
kelime öğrenme programına odaklandığı anlar için düşünülmüştür. Programın
“Kelimeler”   kısmında    kullanıcı,   veritabanında   bulunan   kelimeler   üzerinde
düzenleme işlemi yapabilmektedir. Gerekirse istenilen kelimeleri veritabanına
ekleyebilmektedir. Kullanıcı kelime öğrenme programında öğrendiği kelimeleri de
veritabanından çıkartabilmektedir.




Şekil 4.3. Uygulamanın ayarlar ve kelimeler menüleri[5]




Programın genel ayarları yapıldıktan sonra kullanıcı programı başlatmak için “Start”
butonunu seçer ve veritabanında bulunan kelimeler seçilen ayarlara göre kullanıcının
karşısına çıkar. Kullanıcı eğer ayarlar menüsünde “Periyot Yok” seçeneğini
işaretlemişse, kelime soruları arka arkaya 30 saniye aralıklarla ekrana gelecek ve
kullanıcının bu süre içerisinde cevap vermesi istenecektir. Kullanıcı, “Question
Period” ayar menüsünde belirli bir süre (1,3,5.. dakika vb) seçerse, soruların


                                                                                  20
cevaplanması için herhangi bir süre olmayacak ve sorular bu belirlenen periyot ile
kullanıcının karşısına çıkması sağlanacaktır.




Şekil 4.4. Uygulamanın periyotsuz olarak çalıştırılması[5]




                                                                               21
Şekil 4.5. Uygulamanın belirli periyotlarda çalıştırılması[5]




Kullanıcı dilerse ekrana gelen soruyu atlayabilecek veya programı durdurabilecektir.
Kullanıcı, karşısına gelen sorulara cevap vermek istemezse “Skip This Question”
butonunu seçerek sorunun doğru cevabını görebilir ve bir sonraki soruya geçebilir.
Bununla birlikte kelime öğrenme programı bitirilmek istenirse “End” butonuna
basılabilir.

Sorular kullanıcı tarafından cevapladığı anda eğer cevap doğru ise uyarı verilerek
yeni soruya geçilmekte, cevap yanlış ise doğru cevap kullanıcıya bildirilmektedir.
Kullanıcıya kaç soru cevapladığı, bu sorulardan kaç tanesini doğu kaç tanesini yanlış
cevapladığı bilgisi gösterilmektedir.

Sorular kullanıcı tarafından cevapladığı anda eğer cevap doğru ise uyarı verilerek
yeni soruya geçilmekte, cevap yanlış ise doğru cevap kullanıcıya bildirilmektedir.
Kullanıcıya kaç soru cevapladığı, bu sorulardan kaç tanesini doğu kaç tanesini yanlış
cevapladığı bilgisi gösterilmektedir.

                                                                                  22
Gerçekleştirilen mobil kelime öğrenme yazılımı kullanım kolaylığı ve zaman ve
mekândan bağımsız olarak uygulanabilirliği bakımından tercih edilebilecek bir
programdır. Dil öğrenmenin bir lüks olmaktan çıkıp bir ihtiyaç, hatta zaruret olduğu
çağımızda;   yazılan   program    kişilere   kelime   öğrenmeyi     kolay   kılmayı
amaçlamaktadır [5].




                                                                                 23
KAYNAKLAR
[1]: Kumar, A., Mobile TV, Chapter 12 – Operating Systems and Software for
Mobile TV and Multimedia Phones, 2007.
[2]: Kumar, A., Implementing Mobile TV (Second Edition), Chapter 15 – Operating
Systems and Software for Mobile TV and Multimedia Phones, Pages 425 – 455,
2010.
[3]: Analysis of the Android Architecture, Studiendarbeit von Stefan Brahler,
Karlsruher Institut für Technologie, 2010.
[4]: iOS Technology Overview, Apple Computer Inc., 2012.
[5]: Çevik, K., K. ve Koçer, H., E., Mobil Cihaz Tabanlı Yabancı Dilde Kelime
Öğrenme Uygulaması, Selçuk Üniversitesi, Teknik Bilimler Yüksekokulu, Teknik
Online Dergi, Cilt:11, Sayı:2-2012




                                                                            24

Más contenido relacionado

La actualidad más candente

Yazılım Nedir
Yazılım NedirYazılım Nedir
Yazılım Nedir_aerdeger
 
Yazılım Geliştirme Teknolojileri
Yazılım Geliştirme TeknolojileriYazılım Geliştirme Teknolojileri
Yazılım Geliştirme TeknolojileriYusuf AYTİN
 
Mobil Yazılım Öğreniyoruz
Mobil Yazılım ÖğreniyoruzMobil Yazılım Öğreniyoruz
Mobil Yazılım ÖğreniyoruzSüleyman Çalık
 
Mobil Uygulama Tasarımı
Mobil Uygulama TasarımıMobil Uygulama Tasarımı
Mobil Uygulama TasarımıUgur Akdemir
 

La actualidad más candente (6)

Yazılım Nedir
Yazılım NedirYazılım Nedir
Yazılım Nedir
 
Yazılım Geliştirme Teknolojileri
Yazılım Geliştirme TeknolojileriYazılım Geliştirme Teknolojileri
Yazılım Geliştirme Teknolojileri
 
Mobi̇l Yazılım Geli̇şti̇rme
Mobi̇l Yazılım Geli̇şti̇rmeMobi̇l Yazılım Geli̇şti̇rme
Mobi̇l Yazılım Geli̇şti̇rme
 
Mobil Yazılım Öğreniyoruz
Mobil Yazılım ÖğreniyoruzMobil Yazılım Öğreniyoruz
Mobil Yazılım Öğreniyoruz
 
Mobil Uygulama Tasarımı
Mobil Uygulama TasarımıMobil Uygulama Tasarımı
Mobil Uygulama Tasarımı
 
Android
AndroidAndroid
Android
 

Destacado

Sudaki Zehirli Maddelerin Tayini İçin Analitik Prosedürlerin PROMETHEE ile An...
Sudaki Zehirli Maddelerin Tayini İçin Analitik Prosedürlerin PROMETHEE ile An...Sudaki Zehirli Maddelerin Tayini İçin Analitik Prosedürlerin PROMETHEE ile An...
Sudaki Zehirli Maddelerin Tayini İçin Analitik Prosedürlerin PROMETHEE ile An...Suat Furkan ISIK
 
Presentación Pronagecc
Presentación PronageccPresentación Pronagecc
Presentación PronageccLibelula
 
Showpad's Content Activation Platform at the core of your Commercial Excellen...
Showpad's Content Activation Platform at the core of your Commercial Excellen...Showpad's Content Activation Platform at the core of your Commercial Excellen...
Showpad's Content Activation Platform at the core of your Commercial Excellen...Mario Haneca
 
Slovakian Paradise National Park, 2013 AUG
Slovakian Paradise National Park, 2013 AUGSlovakian Paradise National Park, 2013 AUG
Slovakian Paradise National Park, 2013 AUGfovarosibloghu
 
Tierra de hombres Senegal: Salud y nutrición comunitaria en Podor
Tierra de hombres Senegal: Salud y nutrición comunitaria en PodorTierra de hombres Senegal: Salud y nutrición comunitaria en Podor
Tierra de hombres Senegal: Salud y nutrición comunitaria en Podorwoadolte
 
s+c infiniband grundlagen_de_nov10
s+c infiniband grundlagen_de_nov10s+c infiniband grundlagen_de_nov10
s+c infiniband grundlagen_de_nov10sciecomp
 
Çok Kriterli Karar Verme Yöntemleri İle Katı Atık Bertaraf Teknolojisi Seçimi
Çok Kriterli Karar Verme Yöntemleri İle Katı Atık Bertaraf Teknolojisi SeçimiÇok Kriterli Karar Verme Yöntemleri İle Katı Atık Bertaraf Teknolojisi Seçimi
Çok Kriterli Karar Verme Yöntemleri İle Katı Atık Bertaraf Teknolojisi SeçimiSuat Furkan ISIK
 
Parental involvement at alternative academic settings
Parental involvement at alternative academic settingsParental involvement at alternative academic settings
Parental involvement at alternative academic settingseeniarrol
 
Manejo y construcción de germinadores y manejo de
Manejo y construcción de germinadores y manejo deManejo y construcción de germinadores y manejo de
Manejo y construcción de germinadores y manejo demonicayulicza
 
Funciones de los asesores regionales y distritales
Funciones de los asesores regionales y distritalesFunciones de los asesores regionales y distritales
Funciones de los asesores regionales y distritalesEnrique Ramos
 
100+ keys for powerfully persuasive presentations
100+ keys for powerfully persuasive presentations100+ keys for powerfully persuasive presentations
100+ keys for powerfully persuasive presentationsAkash Karia
 
Big data and analytics ibm digital game plan short v2 nonconf
Big data and analytics ibm digital game plan short v2 nonconfBig data and analytics ibm digital game plan short v2 nonconf
Big data and analytics ibm digital game plan short v2 nonconfFriedel Jonker
 
Diversity of flowers
Diversity of flowersDiversity of flowers
Diversity of flowersVinusan
 
BARCELONA 32 MONUMENTAL IGLESIAS - 1
BARCELONA 32 MONUMENTAL IGLESIAS - 1BARCELONA 32 MONUMENTAL IGLESIAS - 1
BARCELONA 32 MONUMENTAL IGLESIAS - 1Manel Cantos
 
Angina de pecho
Angina de pechoAngina de pecho
Angina de pechoAna Karen
 

Destacado (20)

Sudaki Zehirli Maddelerin Tayini İçin Analitik Prosedürlerin PROMETHEE ile An...
Sudaki Zehirli Maddelerin Tayini İçin Analitik Prosedürlerin PROMETHEE ile An...Sudaki Zehirli Maddelerin Tayini İçin Analitik Prosedürlerin PROMETHEE ile An...
Sudaki Zehirli Maddelerin Tayini İçin Analitik Prosedürlerin PROMETHEE ile An...
 
Presentación Pronagecc
Presentación PronageccPresentación Pronagecc
Presentación Pronagecc
 
Consenso español sobre triple terapia.
Consenso español sobre triple terapia.Consenso español sobre triple terapia.
Consenso español sobre triple terapia.
 
Showpad's Content Activation Platform at the core of your Commercial Excellen...
Showpad's Content Activation Platform at the core of your Commercial Excellen...Showpad's Content Activation Platform at the core of your Commercial Excellen...
Showpad's Content Activation Platform at the core of your Commercial Excellen...
 
Slovakian Paradise National Park, 2013 AUG
Slovakian Paradise National Park, 2013 AUGSlovakian Paradise National Park, 2013 AUG
Slovakian Paradise National Park, 2013 AUG
 
Tierra de hombres Senegal: Salud y nutrición comunitaria en Podor
Tierra de hombres Senegal: Salud y nutrición comunitaria en PodorTierra de hombres Senegal: Salud y nutrición comunitaria en Podor
Tierra de hombres Senegal: Salud y nutrición comunitaria en Podor
 
s+c infiniband grundlagen_de_nov10
s+c infiniband grundlagen_de_nov10s+c infiniband grundlagen_de_nov10
s+c infiniband grundlagen_de_nov10
 
Çok Kriterli Karar Verme Yöntemleri İle Katı Atık Bertaraf Teknolojisi Seçimi
Çok Kriterli Karar Verme Yöntemleri İle Katı Atık Bertaraf Teknolojisi SeçimiÇok Kriterli Karar Verme Yöntemleri İle Katı Atık Bertaraf Teknolojisi Seçimi
Çok Kriterli Karar Verme Yöntemleri İle Katı Atık Bertaraf Teknolojisi Seçimi
 
Manual exe learning
Manual exe learningManual exe learning
Manual exe learning
 
Dos Hombres, una Patria
Dos Hombres, una PatriaDos Hombres, una Patria
Dos Hombres, una Patria
 
Maniobras no instrumentales
Maniobras no instrumentalesManiobras no instrumentales
Maniobras no instrumentales
 
Parental involvement at alternative academic settings
Parental involvement at alternative academic settingsParental involvement at alternative academic settings
Parental involvement at alternative academic settings
 
Manejo y construcción de germinadores y manejo de
Manejo y construcción de germinadores y manejo deManejo y construcción de germinadores y manejo de
Manejo y construcción de germinadores y manejo de
 
Funciones de los asesores regionales y distritales
Funciones de los asesores regionales y distritalesFunciones de los asesores regionales y distritales
Funciones de los asesores regionales y distritales
 
100+ keys for powerfully persuasive presentations
100+ keys for powerfully persuasive presentations100+ keys for powerfully persuasive presentations
100+ keys for powerfully persuasive presentations
 
Planeamiento estrategico
Planeamiento estrategicoPlaneamiento estrategico
Planeamiento estrategico
 
Big data and analytics ibm digital game plan short v2 nonconf
Big data and analytics ibm digital game plan short v2 nonconfBig data and analytics ibm digital game plan short v2 nonconf
Big data and analytics ibm digital game plan short v2 nonconf
 
Diversity of flowers
Diversity of flowersDiversity of flowers
Diversity of flowers
 
BARCELONA 32 MONUMENTAL IGLESIAS - 1
BARCELONA 32 MONUMENTAL IGLESIAS - 1BARCELONA 32 MONUMENTAL IGLESIAS - 1
BARCELONA 32 MONUMENTAL IGLESIAS - 1
 
Angina de pecho
Angina de pechoAngina de pecho
Angina de pecho
 

Similar a Mobil platformlar ve uygulamalar rapor

Windows 8 Ögretim Materyali
Windows 8 Ögretim MateryaliWindows 8 Ögretim Materyali
Windows 8 Ögretim MateryaliCaner Öztürkten
 
Android İşletim Sistemi
Android İşletim SistemiAndroid İşletim Sistemi
Android İşletim Sistemi_aerdeger
 
Windows Mobile65 Ve Mobil Gelecek Yg
Windows Mobile65 Ve Mobil Gelecek YgWindows Mobile65 Ve Mobil Gelecek Yg
Windows Mobile65 Ve Mobil Gelecek Ygekinozcicekciler
 
Android Üzerinde Adobe Flex ve AIR ile Yazılım Geliştirme
Android Üzerinde Adobe Flex ve AIR ile Yazılım GeliştirmeAndroid Üzerinde Adobe Flex ve AIR ile Yazılım Geliştirme
Android Üzerinde Adobe Flex ve AIR ile Yazılım GeliştirmeMuharrem Tac
 
Aralık 2009 PCWorld Yazım
Aralık 2009 PCWorld YazımAralık 2009 PCWorld Yazım
Aralık 2009 PCWorld YazımVolkan Atasever
 
Uygulama diline karar vermek: HTML5 mi, Native mi yoksa Hibrit uygulama mı?
Uygulama diline karar vermek: HTML5 mi, Native mi yoksa Hibrit uygulama mı?Uygulama diline karar vermek: HTML5 mi, Native mi yoksa Hibrit uygulama mı?
Uygulama diline karar vermek: HTML5 mi, Native mi yoksa Hibrit uygulama mı?mobilike
 
Mobil Uygulama Güvenliği (Mobile Security)
Mobil Uygulama Güvenliği (Mobile Security)Mobil Uygulama Güvenliği (Mobile Security)
Mobil Uygulama Güvenliği (Mobile Security)Cihan Özhan
 
Standardization Android Slide
Standardization Android SlideStandardization Android Slide
Standardization Android SlideAsude Sena Ölmez
 
Işletim sistemleri
Işletim sistemleriIşletim sistemleri
Işletim sistemlerisnakeyes31
 
Next Generation Optimized Desktop Cloud
Next Generation Optimized Desktop CloudNext Generation Optimized Desktop Cloud
Next Generation Optimized Desktop CloudÇözümPARK
 
İşletim Sistemleri ve Dosya Yönetimi
İşletim Sistemleri ve Dosya Yönetimiİşletim Sistemleri ve Dosya Yönetimi
İşletim Sistemleri ve Dosya YönetimiSakarya Üniversitesi
 

Similar a Mobil platformlar ve uygulamalar rapor (20)

Mobil Platformlar ve Uygulamalar
Mobil Platformlar ve UygulamalarMobil Platformlar ve Uygulamalar
Mobil Platformlar ve Uygulamalar
 
Win7
Win7Win7
Win7
 
Windows 8 Ögretim Materyali
Windows 8 Ögretim MateryaliWindows 8 Ögretim Materyali
Windows 8 Ögretim Materyali
 
Android İşletim Sistemi
Android İşletim SistemiAndroid İşletim Sistemi
Android İşletim Sistemi
 
Windows Mobile65 Ve Mobil Gelecek Yg
Windows Mobile65 Ve Mobil Gelecek YgWindows Mobile65 Ve Mobil Gelecek Yg
Windows Mobile65 Ve Mobil Gelecek Yg
 
Win7
Win7Win7
Win7
 
Android Üzerinde Adobe Flex ve AIR ile Yazılım Geliştirme
Android Üzerinde Adobe Flex ve AIR ile Yazılım GeliştirmeAndroid Üzerinde Adobe Flex ve AIR ile Yazılım Geliştirme
Android Üzerinde Adobe Flex ve AIR ile Yazılım Geliştirme
 
Android
AndroidAndroid
Android
 
Aralık 2009 PCWorld Yazım
Aralık 2009 PCWorld YazımAralık 2009 PCWorld Yazım
Aralık 2009 PCWorld Yazım
 
Uygulama diline karar vermek: HTML5 mi, Native mi yoksa Hibrit uygulama mı?
Uygulama diline karar vermek: HTML5 mi, Native mi yoksa Hibrit uygulama mı?Uygulama diline karar vermek: HTML5 mi, Native mi yoksa Hibrit uygulama mı?
Uygulama diline karar vermek: HTML5 mi, Native mi yoksa Hibrit uygulama mı?
 
Mobil Uygulama Güvenliği (Mobile Security)
Mobil Uygulama Güvenliği (Mobile Security)Mobil Uygulama Güvenliği (Mobile Security)
Mobil Uygulama Güvenliği (Mobile Security)
 
Standardization Android Slide
Standardization Android SlideStandardization Android Slide
Standardization Android Slide
 
Mobi̇l Teknoloji̇ler
Mobi̇l Teknoloji̇lerMobi̇l Teknoloji̇ler
Mobi̇l Teknoloji̇ler
 
Işletim sistemleri
Işletim sistemleriIşletim sistemleri
Işletim sistemleri
 
Tabletsunu
TabletsunuTabletsunu
Tabletsunu
 
Donanım
DonanımDonanım
Donanım
 
Donanım
DonanımDonanım
Donanım
 
Next Generation Optimized Desktop Cloud
Next Generation Optimized Desktop CloudNext Generation Optimized Desktop Cloud
Next Generation Optimized Desktop Cloud
 
Cloud_Computer
Cloud_ComputerCloud_Computer
Cloud_Computer
 
İşletim Sistemleri ve Dosya Yönetimi
İşletim Sistemleri ve Dosya Yönetimiİşletim Sistemleri ve Dosya Yönetimi
İşletim Sistemleri ve Dosya Yönetimi
 

Más de Suat Furkan ISIK

Elektrik Üreticileri Toplantısı.pptx
Elektrik Üreticileri Toplantısı.pptxElektrik Üreticileri Toplantısı.pptx
Elektrik Üreticileri Toplantısı.pptxSuat Furkan ISIK
 
Roberto Unger Hakkında Rapor by SFI.pdf
Roberto Unger Hakkında Rapor by SFI.pdfRoberto Unger Hakkında Rapor by SFI.pdf
Roberto Unger Hakkında Rapor by SFI.pdfSuat Furkan ISIK
 
Çok Kriterli Karar Verme Yöntemi İle Rüzgar Santrali Alanı Seçimi
Çok Kriterli Karar Verme Yöntemi İle Rüzgar Santrali Alanı SeçimiÇok Kriterli Karar Verme Yöntemi İle Rüzgar Santrali Alanı Seçimi
Çok Kriterli Karar Verme Yöntemi İle Rüzgar Santrali Alanı SeçimiSuat Furkan ISIK
 
Esmaül Hüsna (Allah'ın 99 İsmi ve Türkçe Anlamları)
Esmaül Hüsna (Allah'ın 99 İsmi ve Türkçe Anlamları)Esmaül Hüsna (Allah'ın 99 İsmi ve Türkçe Anlamları)
Esmaül Hüsna (Allah'ın 99 İsmi ve Türkçe Anlamları)Suat Furkan ISIK
 
DEMATEL Yönteminin Yeşil Tedarik Zinicirinde Kullanılması
DEMATEL Yönteminin Yeşil Tedarik Zinicirinde KullanılmasıDEMATEL Yönteminin Yeşil Tedarik Zinicirinde Kullanılması
DEMATEL Yönteminin Yeşil Tedarik Zinicirinde KullanılmasıSuat Furkan ISIK
 
ARAŞTIRMA TEKNİKLERİ VE YAYIN ETİĞİ DERSİ ÖDEV–1
ARAŞTIRMA TEKNİKLERİ VE YAYIN ETİĞİ DERSİ ÖDEV–1ARAŞTIRMA TEKNİKLERİ VE YAYIN ETİĞİ DERSİ ÖDEV–1
ARAŞTIRMA TEKNİKLERİ VE YAYIN ETİĞİ DERSİ ÖDEV–1Suat Furkan ISIK
 
PFAFF HOBBY 1142 Türkçe Kullanım Kitabı
PFAFF HOBBY 1142 Türkçe Kullanım KitabıPFAFF HOBBY 1142 Türkçe Kullanım Kitabı
PFAFF HOBBY 1142 Türkçe Kullanım KitabıSuat Furkan ISIK
 
TURKISH POWER SYSTEM AND RENEWABLE ENERGY IN TURKEY
TURKISH POWER SYSTEM AND RENEWABLE ENERGY IN TURKEYTURKISH POWER SYSTEM AND RENEWABLE ENERGY IN TURKEY
TURKISH POWER SYSTEM AND RENEWABLE ENERGY IN TURKEYSuat Furkan ISIK
 
RENEWABLE ENERGY in WORLD & TURKEY
RENEWABLE ENERGY  in WORLD & TURKEYRENEWABLE ENERGY  in WORLD & TURKEY
RENEWABLE ENERGY in WORLD & TURKEYSuat Furkan ISIK
 
Permanent Magnet Direct Drive (PM/DD) Technology
Permanent Magnet Direct Drive  (PM/DD) TechnologyPermanent Magnet Direct Drive  (PM/DD) Technology
Permanent Magnet Direct Drive (PM/DD) TechnologySuat Furkan ISIK
 
UNDERSTANDING THE LICENSING PROCESS FOR LARGE SCALE SOLAR PROJECTS
UNDERSTANDING THE LICENSING PROCESS FOR  LARGE SCALE SOLAR PROJECTSUNDERSTANDING THE LICENSING PROCESS FOR  LARGE SCALE SOLAR PROJECTS
UNDERSTANDING THE LICENSING PROCESS FOR LARGE SCALE SOLAR PROJECTSSuat Furkan ISIK
 
Türkiye’de  Solar  PV  Üretimi
Türkiye’de  Solar  PV  ÜretimiTürkiye’de  Solar  PV  Üretimi
Türkiye’de  Solar  PV  ÜretimiSuat Furkan ISIK
 
CSP GLOBAL MARKET OVERVIEW
CSP GLOBAL MARKET  OVERVIEWCSP GLOBAL MARKET  OVERVIEW
CSP GLOBAL MARKET OVERVIEWSuat Furkan ISIK
 
MANUFACTURE OF ORGANIC PHOTOVOLTAICS
MANUFACTURE OF ORGANIC PHOTOVOLTAICSMANUFACTURE OF ORGANIC PHOTOVOLTAICS
MANUFACTURE OF ORGANIC PHOTOVOLTAICSSuat Furkan ISIK
 
Bosnia and herzegovina and renewable energy sources
Bosnia and herzegovina and renewable energy sourcesBosnia and herzegovina and renewable energy sources
Bosnia and herzegovina and renewable energy sourcesSuat Furkan ISIK
 
Towards an age of renewables
Towards an age of renewablesTowards an age of renewables
Towards an age of renewablesSuat Furkan ISIK
 

Más de Suat Furkan ISIK (20)

Elektrik Üreticileri Toplantısı.pptx
Elektrik Üreticileri Toplantısı.pptxElektrik Üreticileri Toplantısı.pptx
Elektrik Üreticileri Toplantısı.pptx
 
Roberto Unger Hakkında Rapor by SFI.pdf
Roberto Unger Hakkında Rapor by SFI.pdfRoberto Unger Hakkında Rapor by SFI.pdf
Roberto Unger Hakkında Rapor by SFI.pdf
 
Rüzgar enerjisi
Rüzgar enerjisiRüzgar enerjisi
Rüzgar enerjisi
 
Çok Kriterli Karar Verme Yöntemi İle Rüzgar Santrali Alanı Seçimi
Çok Kriterli Karar Verme Yöntemi İle Rüzgar Santrali Alanı SeçimiÇok Kriterli Karar Verme Yöntemi İle Rüzgar Santrali Alanı Seçimi
Çok Kriterli Karar Verme Yöntemi İle Rüzgar Santrali Alanı Seçimi
 
Esmaül Hüsna (Allah'ın 99 İsmi ve Türkçe Anlamları)
Esmaül Hüsna (Allah'ın 99 İsmi ve Türkçe Anlamları)Esmaül Hüsna (Allah'ın 99 İsmi ve Türkçe Anlamları)
Esmaül Hüsna (Allah'ın 99 İsmi ve Türkçe Anlamları)
 
DEMATEL Yönteminin Yeşil Tedarik Zinicirinde Kullanılması
DEMATEL Yönteminin Yeşil Tedarik Zinicirinde KullanılmasıDEMATEL Yönteminin Yeşil Tedarik Zinicirinde Kullanılması
DEMATEL Yönteminin Yeşil Tedarik Zinicirinde Kullanılması
 
ARAŞTIRMA TEKNİKLERİ VE YAYIN ETİĞİ DERSİ ÖDEV–1
ARAŞTIRMA TEKNİKLERİ VE YAYIN ETİĞİ DERSİ ÖDEV–1ARAŞTIRMA TEKNİKLERİ VE YAYIN ETİĞİ DERSİ ÖDEV–1
ARAŞTIRMA TEKNİKLERİ VE YAYIN ETİĞİ DERSİ ÖDEV–1
 
PFAFF HOBBY 1142 Türkçe Kullanım Kitabı
PFAFF HOBBY 1142 Türkçe Kullanım KitabıPFAFF HOBBY 1142 Türkçe Kullanım Kitabı
PFAFF HOBBY 1142 Türkçe Kullanım Kitabı
 
TURKISH POWER SYSTEM AND RENEWABLE ENERGY IN TURKEY
TURKISH POWER SYSTEM AND RENEWABLE ENERGY IN TURKEYTURKISH POWER SYSTEM AND RENEWABLE ENERGY IN TURKEY
TURKISH POWER SYSTEM AND RENEWABLE ENERGY IN TURKEY
 
BORUSAN EnBW Enerji
BORUSAN EnBW Enerji BORUSAN EnBW Enerji
BORUSAN EnBW Enerji
 
RENEWABLE ENERGY in WORLD & TURKEY
RENEWABLE ENERGY  in WORLD & TURKEYRENEWABLE ENERGY  in WORLD & TURKEY
RENEWABLE ENERGY in WORLD & TURKEY
 
Permanent Magnet Direct Drive (PM/DD) Technology
Permanent Magnet Direct Drive  (PM/DD) TechnologyPermanent Magnet Direct Drive  (PM/DD) Technology
Permanent Magnet Direct Drive (PM/DD) Technology
 
Oerlikon Solar
Oerlikon SolarOerlikon Solar
Oerlikon Solar
 
UNDERSTANDING THE LICENSING PROCESS FOR LARGE SCALE SOLAR PROJECTS
UNDERSTANDING THE LICENSING PROCESS FOR  LARGE SCALE SOLAR PROJECTSUNDERSTANDING THE LICENSING PROCESS FOR  LARGE SCALE SOLAR PROJECTS
UNDERSTANDING THE LICENSING PROCESS FOR LARGE SCALE SOLAR PROJECTS
 
Türkiye’de  Solar  PV  Üretimi
Türkiye’de  Solar  PV  ÜretimiTürkiye’de  Solar  PV  Üretimi
Türkiye’de  Solar  PV  Üretimi
 
CSP GLOBAL MARKET OVERVIEW
CSP GLOBAL MARKET  OVERVIEWCSP GLOBAL MARKET  OVERVIEW
CSP GLOBAL MARKET OVERVIEW
 
MANUFACTURE OF ORGANIC PHOTOVOLTAICS
MANUFACTURE OF ORGANIC PHOTOVOLTAICSMANUFACTURE OF ORGANIC PHOTOVOLTAICS
MANUFACTURE OF ORGANIC PHOTOVOLTAICS
 
Bosnia and herzegovina and renewable energy sources
Bosnia and herzegovina and renewable energy sourcesBosnia and herzegovina and renewable energy sources
Bosnia and herzegovina and renewable energy sources
 
Towards an age of renewables
Towards an age of renewablesTowards an age of renewables
Towards an age of renewables
 
BORUSAN EnBW Enerji
BORUSAN EnBW EnerjiBORUSAN EnBW Enerji
BORUSAN EnBW Enerji
 

Mobil platformlar ve uygulamalar rapor

  • 1. GAZĠ ÜNĠVERSĠTESĠ ENM 512 BĠLGĠ SĠSTEMLERĠ Mobil Platformlar ve Uygulamalar ÖĞRETĠM ÜYESĠ Öğr. Gör. Dr. Tahsin ÇETĠNYOKUġ HAZIRLAYANLAR Suat Furkan IġIK - 118308214 Burak KARAMAN - 118308216 Ġbrahim Emre ARICAN - 29070151 1
  • 2. ĠÇĠNDEKĠLER GĠRĠġ………………………………………………………………………………...3 1. MOBĠL PLATFORMLARDA YAZILIM ALTYAPISI……………………….4 2. MOBĠL PLATFORMLARDA YAZILIM ORGANĠZASYONU……………...5 3. YAYGIN ĠġLETĠM SĠSTEMLERĠ……………………………………………..7 3.1. Symbian…………………………………………………………………………7 3.2. Windows Mobile………………………………………………………………..9 3.3. RIM: Blackberry OS………………………………………………………….10 3.4. Linux…………………………………………………………………………...12 3.4.1. Linux mobile vakfı…………………………………………………………..14 3.5. Android………………………………………………………………………...14 3.6. iOS……………………………………………………………………………...16 4. MOBĠL UYGULAMA ÖRNEĞĠ………………………………………………17 KAYNAKLAR……………………………………………………………………..24 2
  • 3. MOBĠL PLATFORMLAR ve UYGULAMALAR GĠRĠġ Kullandığımız her türlü elektronik donanımın üzerinde mutlaka donanımı kontrol eden bir yazılım çalışmaktadır. Donanımlar gelişip karmaşıklaştıkça, onları kontrol eden yazılımlar da mecburen gelişip karmaşıklaştı. Yani bir diğer deyişle, zaman içerisinde donanımlarımızdaki basit yazılım parçaları, kompleks işletim sistemlerine dönüştürüldüler. Akıllı telefonlar (Smart Phones), tablet bilgisayarlar, PDA (Personal Digital Assistant) 'lar gibi taşınabilir cihazlar için üretilen işletim sistemleri mobil işletim sistemleri olarak adlandırılırlar. İşletim sistemi yazmak oldukça zahmetli oluğundan günümüze dek sadece birkaç işletim sistemi geliştirilmiştir. Bunlardan bazıları kullanıcı ihtiyaçlarını karşılayamadığından dolayı unutulmuştur. Günümüzde mevcut ve yakın gelecekte de var olmaları muhtemel olan mobil işletim sistemleri şunlardır:  Google: Android  Apple: Iphone OS (iOS)  RIM: BlackBerry OS  Symbian Vakfı: Symbian  Palm: Web OS  Microsoft: Windows Mobile  Linux Vakfı: MeeGo  Samsung: Bada 3
  • 4. 1. MOBĠL PLATFORMLARDA YAZILIM ALT YAPISI İşletim sistemleri (OSS) başlangıçta tüm giriş çıkışları; belleğe, disk sürücüsüne, ekrana, yazıcıya işlemek için tasarlanmıştır. Bunların yazılım uygulaması geliştirenler ile alt düzey kullanıcılar arasında ayrılması gerekmektedir. İşletim sistemlerinin bir parçası olarak desteklenmeye başlamasıyla sanal standartlar haline gelen fonksiyonların makineler tarafından desteklenmesi gerekmektedir. Yakın zamana dek Windows 3.1’in ne bir tarayıcısı ne de bir TCP/IP bağlantısı vardı. Kişinin internete girebilmesi için bunlardan birisinin ayrıca sisteme monte edilmesi gerekiyordu. O zamana kadar herhangi bir yerel medya oynatıcısının işletim sisteminin bir parçası olması duyulmamış bir özellikti. İnternet kullanımı evrensel hale geldikçe bu özelliklerin işletim sisteminin içine entegre etmek gerekli bir hale gelmiştir. Sonradan Internet Explorer, Microsoft işletim sisteminin bir parçası haline gelmiştir. Zamanla kızılötesi, bluetooth ve medya oynatıcı gibi özellikler oluşturularak sisteme dahil edilmiştir. Microsoft Windows işletim sisteminin bugün itibari ile 50 milyondan fazla kaynak kodu olduğu bilinmektedir. Cep telefonları her zaman benzersiz bir çalışma ortamı sunmuştur. Mobil cihazlar kaynaklar açısından (işlemci yetenekleri-bağları, hafıza, pil gücü) kısıtlıdır. Cep telefonlarının kablosuz olarak iletişim için ayrıca bluetooth, kızılötesi, Wi-Fi, WiMAX, USB; ses ve video için multimedya özellikleri; kamera, klavye, ekran, dokunmatik ekran, harici cihazları, harici belleğe, USB yazıcılar ve tarayıcılar yanı sıra, POP3 posta, Microsoft Office, Adobe PDF belgesi okuyucu, görüntü işleme, ve daha fazlasını yapması gerekmektedir. Mobil işletim sistemi çevresel etkiler nedeniyle her zaman istenilen kalitede bağlantı sunamamaktadır. Dolayısıyla istemci- sunucu uygulamaları üzerinde bu özelliğin büyük bir önemi vardır. Eski sürüm cep telefonlarında genellikle öne çıkan bir işletim sistemi olmadığından sesli ve SMS’li uygulamalar kısıtlıdır. Yazılım kodları her bir donanım ve telefon için özel olmaya başlaması ile birlikte tüm uygulamalar doğrudan kodlanmaya başlanmıştır. Ancak daha gelişmiş telefonlar ve uygulamaların gelmeye başlamasıyla artık bu yöntem pratik olmamaya başlamıştır. Cep telefonlarının bir işletim sistemine ihtiyacı vardır bu sayede yeniden kod yazmaya gerek kalmadan çeşitli uygulamalar ve süreçler başka bir platforma kolaylıkla taşınabilecektir. 4
  • 5. Cep telefonu işletim sistemi en az işlevsellik ve performans açısından, masa üstü işletim sistemlerinin bir alt kümesi olamayacaktır. Mobil cihazlar bir yandan uygulamalar ile arayüz için diğer yandan da donanım ve yazılım için yeni bir işletim sistemine ihtiyacı vardır. Multimedya telefonlar ile ilgili özel olan nedir? Multimedya telefonları yeni bir seviyedeki işletim sistemi özelliklerini güncellenerek almaktadır. Kullanıcı uygulamaları eş zamanlı olarak ses, veri ve görüntü gibi yüksek düzeyde çoklu görev fonksiyonlarını kullanım gereksinimi duymaktadır. Örneğin, bir telefon aynı anda bir TV klibe veya ses dosyasına kaydedilmesi ve bellekten dosya alınırken 3G ağı ve yerel kamera kullanımını içeren bir video arama için kullanılabilmektedir. Multimedya telefonları desteklemek için gerekli fonksiyonel modülleri standart bir cep telefonu işletim sistemi çekirdeğinin karşılayabileceğinden çok daha yüksek gereksinimlere ihtiyaç duymaktadır[1]. 2. MOBĠL PLATFORMLARDA YAZILIM ORGANĠZASYONU Mobil platformlardaki yazılım yapısını dört ana bölüme ayırabiliriz:  İşletim sistemi  Ara yazılım  Uygulamalar  Erişim kontrolü (arayüz) 5
  • 6. Şekil 2.1. Mobil platformlarda yazılım mimarisi[1] Yazılım mimarisinin en alt katmanında içinde kontrol ve uygulama işlemcilerini ve bunların sürücülerini barındıran silikon kısım bulunur. Bundan sonraki katman işletim sistemi çekirdeğidir. Bu kısımda silikonda bulunan, örneği bellek gibi donanım parçalarına ulaşmak için kullanılan arayüz bulunur. İşletim sistemi katmanı “Bluetooth Yığını”, “Kızılötesi Yığını” gibi bir çok yığının birleşiminden oluşur. İşletim sistemi çekirdeğinden sonra ara yazılım katmanı gelmektedir. Ara yazılım donanım ile kullanıcının kullandığı yazılım arasında görev yapmak üzere geliştirilmiş olan yazılım olarak düşünülebilir. Bu durumda ara yazılım katmanı işletim sisteminin uygulamalar tarafından kullanılmasını sağlayan programlardan oluşmaktadır. Ara yazılımlara, multimedya kullanımı için özelleşmiş yazılımlar, GPRS, 3G gibi mobil iletişim yazılımları veya animasyonlar ve oyunlar için kullanılan çeşitli yazılımlar örnek olarak gösterilebilir. Bu katman ayrıca operatörden operatöre farklılık gösteren push-to-talk, video görüşme gibi çeşitli özelliklerin kullanılabilmesi için gerekli yazılımları da içerir. 6
  • 7. Uygulamalar katmanında MMS, tarayıcılar, oyunlar, mobil televizyon gibi çok geniş yelpazede bir çok program bulunabilmektedir. Bu programlar sayesinde işletim sisteminin fonksiyonları kullanılabilir hale gelir [1]. 3. YAYGIN ĠġLETĠM SĠSTEMLERĠ 3.1. Symbian Symbian Ltd. önceleri Ericsson, Motorola, Nokia, Panasonic, Psion, Samsung, Siemens ve Sony Ericsson şirketlerinin bazıları arasında kurulmuş ve bazıları arasında hisseleri el değiştirmiş bir şirketti. Symbian işletim sistemi ise lisans sahipleri tarafından kullanılmakta idi. Nokia sonrasında diğer hissedarların elindeki hisseleri de satın alarak Symbian'ın tüm varlığını kendi kurduğu Symbian Vakfı'na bağışlamıştır. Şu an Symbian’ın geliştirme işlerini Symbian Vakfı yapmaktadır. Symbian önceleri Linux gibi çekirdek bir işletim sistemiydi ve üzerine cihaz üreticileri tarafından Linux'taki GNOME veya KDE gibi arayüzler yüklenmesi gerekiyordu. Nokia'nın Symbian cihazlarında kullandığı arayüze Series 60 veya S60; Sony Ericsson'un Symbian cihazlarında kullandığı arayüze UIQ; Fujitsu, Sony Ericsson Japonya, Mitsubishi ve Sharp'ın NTT DoCoMo şebekesinde çalışacak Symbian cihazlarda kullandığı arayüze MOAP(S) ismi verilmiştir. Eski Symbian/S60 Özel (kapalı kaynaklı) bir işletim sistemidir fakat bir çok üreticinin ürününde bulunabilir, dolayısıyla değişik platformlara uyumluluk zorunluluğu olduğu için optimizasyon ihtiyacı rakiplerine kıyasla düşüktür. İşletim sistemi güncellemeleri için bir bilgisayara bağlı olmaya ihtiyaç duymamaktadır. Öncelikle tuş takımı ile yönetilen cep telefonu kökenli cihazlarda çalışmak üzere geliştirildiğinden, rakiplerine kıyasla daha zor ve karışık bir arayüze sahiptir ve kullanımı da rakiplerine kıyasla zordur. Ana kullanıcı arabirimi, üzerinde çeşitli uygulamalara dair kısayolların ve pratik bilgilerin bulunduğu bir bekleme ekranıdır, ayrıca uygulamaların kısayollarının bulunduğu bir menü sistemi mevcuttur. Adobe 7
  • 8. Flash Lite destekleyen WebKit tabanlı S60 Browser tarayıcısı ile orta karar bir internet deneyimi sunar. Ayrıca JavaME’yi de desteklemektedir. Symbian, standart ve yaygın bir şekilde benimsenmiş bir uygulama geliştirme ortamı sunar, fakat oldukça detaylı ve derin olduğundan öğrenmesi zordur, bu da toplam uygulama geliştirici sayısına olumsuz etki etmektedir. Fakat en eski smartphone platformu olması ve bir çok programlama diline izin vermesi nedeniyle (Standard C/C++, Visual Basic, .NET, POSIX, Python, Java ME, Flash Lite, Ruby, Web Runtime (WRT)) mevcut uygulama çeşitliliği ile sayısı açısından zengin bir platformdur. Ayrıca kendisine ait bir uygulama dağıtım kanalına (Ovi Store) sahiptir. Symbian, platforma doğal bir dilde uygulama geliştirilmesine izin verir ve bu nedenle uygulama başarım performansı rakiplerine kıyasla yüksektir, sahip olduğu mikrokernel yapısı sayesinde kaliteli ve hızlı uygulamalar için yüksek işlemci gücüne ihtiyaç duymamaktadır. Sistem, aynı anda birden çok uygulamanın çalıştırılmasını desteklemektedir. Symbian/S60, Windows gibi yeni özellikler eklendikçe şişmiş ve hantallaşmıştır. Bu nedenle şu an Symbian Vakfı şu an işletim sistemine arındırma ve basitleştirme işlemleri uygulamaktadır [2]. 8
  • 9. Şekil 3.1.1. Symbian OS mimarisi[2] 3.2. Windows Mobile Windows CE tabanlı bir işletim sistemidir. Windows tabanlı olmasına ve ileri düzeydeki altyapısına rağmen masaüstünde kullanılan Windows uygulamalarını çalıştıramaz. Özel (kapalı kaynaklı) bir işletim sistemidir fakat bir çok üreticinin ürününde bulunabilir, dolayısıyla değişik platformlara uyumluluk zorunluluğu olduğu için optimizasyon miktarı rakiplerine kıyasla düşüktür. İşletim sistemi güncellemeleri için bir bilgisayara bağlı olmaya ihtiyaç duymaktadır. Öncelikle stylus ile yönetilen PDA kökenli cihazlarda çalışmak üzere geliştirildiğinden, rakiplerine kıyasla daha zor ve karışık bir arayüze sahiptir ve kullanımı da rakiplerine kıyasla zordur. Ana kullanıcı arabirimi, üzerinde çeşitli uygulamalara dair kısayolların ve pratik bilgilerin bulunduğu bir bekleme ekranıdır, ayrıca uygulamaların kısayollarının bulunduğu bir menü sistemi mevcuttur. (Adobe Flash Lite destekleyen) Internet Explorer Mobile tarayıcısı ile fakir bir internet deneyimi sunmakta ve JavaME desteklemektedir. Standart ve yaygın bir şekilde benimsenmiş bir uygulama geliştirme ortamı 9
  • 10. sunmaktadır, bu nedenle mevcut uygulama çeşitliliği ile sayısı açısından zengin bir platformdur. Ayrıca kendisine ait bir uygulama dağıtım kanalına (Windows Marketplace for Mobile) sahiptir. Platforma doğal bir dilde uygulama geliştirilmesine izin verilmektedir ve bu nedenle uygulama başarım performansı rakiplerine kıyasla yüksektir, fakat bir takım donanım/yazılım platform farklılıkları nedeniyle kaliteli ve hızlı uygulamalar için yüksek işlemci gücüne ihtiyaç duymaktadır. Aynı anda birden çok uygulamanın çalıştırılmasını desteklemektedir [2]. Şekil 3.2.1. Windows mobile mimarisi[2] 3.3. RIM: Blackberry OS Research In Motion (RIM) tarafından sadece BlackBerry'ler için geliştirilmiş özel bir işletim sistemidir. Özel (kapalı kaynaklı) bir işletim sistemidir ve bu nedenle yalnızca RIM'a ait ürünlerde bulunmaktadır. Değişik platformlara uyumluluk zorunluluğu olmadığı halde optimizasyon miktarı düşüktür. İşletim sistemi güncellemeleri için bir bilgisayara bağlı olmaya ihtiyaç duymamaktadır. 10
  • 11. Temelde dokunmatik olmayan cihazlar için tasarlanmıştır, dokunmatik ekranları sonradan desteklemeye başlamıştır. Basit bir arayüze sahip olsa da rakiplerine kıyasla zor bir kullanım sağlamaktadır. Ana kullanıcı arabirimi, üzerinde çeşitli uygulamalara dair kısayolların ve pratik bilgilerin bulunduğu bir bekleme ekranıdır (Widget desteği de içermektedir), ayrıca uygulamaların kısayollarının bulunduğu bir menü sistemi mevcuttur. Çoklu dokunuş desteği mevcuttur ancak yakınlaşmak/uzaklaşmak için değil, yazı seçmek için kullanılmaktadır. Mükemmel bir e-mail deneyimi ve JavaME desteği sunmaktadır. Medya oynatıcısı kutudan çıktığı hali ile MPEG4, 3GP, XviD videoları oynatabilmektedir. Tarayıcısı Java desteklemektedir ve Flash desteği sınırlı olarak bulunmaktadır. Tarayıcısı sıkı güvenlik standartlarına sahiptir; iş yerleri tarafından bu ayarlar kontrol edilebilmekte ya da değiştirilebilmekte, kişisel kullanıcılar ise kendi planlarını kendileri oluşturabilmektedir. Çok başarılı bir sıkıştırma teknolojisi sayesinde bir kaç megabaytlık siteleri birkaç yüz kilobyte’a düşürebilmektedir. Java tabanlı, JavaME ve özel API'ler içeren uygulama geliştirme ortamı (BlackBerry SDK) sunmakla birlikte, uygulama çeşitliliği ile sayısı açısından şu an fakir olan bir platformdur. Ayrıca kendisine ait bir uygulama dağıtım kanalına (BlackBerry App World) sahiptir. Platforma doğal bir dilde uygulama geliştirilmesine izin verilmektedir ve bu nedenle uygulama başarım performansı rakiplerine kıyasla yüksektir, kaliteli ve hızlı uygulamalar için yüksek işlemci gücüne ihtiyaç duymamaktadır. Aynı anda birden çok uygulamanın çalıştırılmasını desteklemektedir [2]. 11
  • 12. 3.4. Linux Linux tabanlı işletim sistemleri açık kaynak kodlu olmalara nedeniyle mobil cihazlar arasında farklı bir yere sahiptir. Kullanım oranı %10’un altında olsa da Çin gibi yeni pazarlarda açık kaynak kodlu olması sebebiyle Linux tabanlı mobil cihazlar satışa sunulmaktadır. Linux genel kamu lisansı (General Public License) kullanmaktadır. Genel kamu lisansı, programın yeni bir versiyonu çıktığı zaman kaynak kodlarının açıkça ulaşılabilir olması gerektiği anlamına gelmektedir. Açık kaynak kodlu olması ve bu durumun gelecekte de devam edecek olması sebebiyle Linux çekirdeği telefon üreticileri tarafından adapte edilmiştir. Örneğin Çin, 3G ağlarında işletim sistemi olarak kullanmak üzere Linux’u adapte etmiştir. Ayrıca, NTT DoCoMo, Vodafone, NEC, Panasonic, Motorola ve Samsung gibi büyük üreticiler ve operatörler açık Linux adaptasyonları için küresel bir platformu desteklediklerini açıklamışlardır. Linux çekirdeği fonksiyonellik yönünden kısıtlı bir çekirdektir. Multimedya desteği, iletişim fonksiyonları, bağlantı servisleri ve platform yönetim servisleri gibi birçok mobil telefon fonksiyonunun ara yazılım (middleware) tarafından desteklenmesi gerekmektedir. 12
  • 13. Şekil 3.4.1. Linux mimarisi[2] Telefon fonksiyonlarının büyük bir kısmı yazılım modülleri tarafından desteklenmektedir. Bu sorunları giderebilmek için CE Linux Forumu küresel referans mimarisi ve yazılım ile ara yazılımların bazı kısımları için uygulama program arayüzleri (application program interface/API) üzerinde çalışmaktadır. Üzerinde çalışılan bu mimarinin telefon, görüntülü telefon ve multimedya modüllerini içermesi beklenmektedir. Birçok satıcı fonksiyonellik açısından daha gelişmiş fakat aynı zamanda açık kaynaklı olma özelliğini de sürdüren bir Linux fikrini desteklemektedir. Örneğin Japonya’nın en büyük operatörü olan NTT DoCoMo, Symbian Vakfı’nın kurucu üyelerinden biri olmasına rağmen kendi ürettiği telefonlarda Symbian yerine Monta Vista Linux kullanmaya başlamıştır. Aynı şekilde NEC de telefonlarını Monta Vista Linux üzerine geliştirmektedir. Monta Vista Linux gelişmiş multimedya uygulamaları için kolay entegrasyon ve kablosuz telefon tasarımları için standart bir geliştirme platformu sunmaktadır [2]. 13
  • 14. 3.4.1. Linux mobile vakfı Linux Mobile Vakfı 2006 yılında bir mobil yazılım için gerekli bütün çevreyi sağlayabilmek amacıyla kurulmuştur. Linux Mobile Vakfı, Linux tabanlı telefonların ve diğer mobil cihazların gelişimini desteklemek için tamamen açık kaynaklı bir mobil telefon mimarisi oluşturma amacındadır. Linux Mobile Vakfı, ara yazılımlar ve kullanıcı arayüzlerinin çalışmasını sağlayacak yazılımlar üzerine yoğunlaşmaktadır. Bunun yanında başka Linux çalışma grupları da vardır ve büyük üreticiler kendi uygulama program arayüzlerini (API) kullandıkları Linux tabanlı mobil telefonları piyasaya sürmüşlerdir. mLinux, Linux’ün Çin’deki 3G ağları üzerinde kullanılmak üzere geliştirilmiş bir versiyonudur. Bu versiyonda Linux çekirdeği bir işlemci üzerine yerleştirilmiştir ve kodlarına işlemcinin bağlı bulunduğu bellek üzerinden ulaşılabilir. Linux’ün bu versiyonu ARM9, Intel XScale, MIPS, Motorola Dragonball, Texas Instruments gibi birçok işlemciyi desteklemektedir. mLinux, geliştirilmiş açılış yükleyicisi (bootloader) sayesinde 2 saniyeden kısa açılış zamanına sahiptir ve multiprocessing ve hafıza yönetimi gibi özellikleri de bulunmaktadır [2]. 3.5. Android Android, aralarında Google, Motorola, Qualcomm, HTC, LG, Sony,Samsung gibi büyük firmaların da bulunduğu 30’dan fazla firmanın katılımıyla kurulmuş olan, Open Handset Alliance tarafından geliştirilmiş bir mobil yazılım platformudur. Android, işletim sisteminden, ara yazılımdan, internet uygulamalarından ve geliştirici seçeneklerinden oluşan eksiksiz bir mobil cihaz platformudur. Android, mobil uygulama marketinin yanı sıra bir yazılım geliştirme kiti de içermektedir. Bazı işletim sistemlerinin aksine Android, telefonun bütün yeteneklerini uygulama geliştiricilerin hizmetine sunmakta, bu sayede telefonun kaynaklarıyla üstün bir entegrasyon sağlanmaktadır. 14
  • 15. Şekil 3.5.1. Android mimarisi[3] Android işletim sistemi; çekirdek, kütüphaneler, Android Runtime, uygulama çatısı ve uygulamalar olmak üzere beş katmandan oluşur. Şekilde yeşille gösterilen öğeler C/C++ ile yazılmış iken mavi ile gösterilen öğeler Java ile yazılmıştır ve Dalvik sanal makinesi üzerinde çalışmaktadır. Çekirdek katmanında güç ve hafıza yönetimi konularındaki özel ihtiyaçlar için modifiye edilmiş bir Linux çekirdeği kullanılmaktadır. Çekirdek üzerinde bluetooth, WiFi gibi donanımların sürücüleri bulunmaktadır. Kütüphaneler katmanında düşük hafıza kullanımı amacıyla geliştirilmiş temel kütüphaneler bulunmaktadır. Android Runtime katmanı Dalvik sanal makinesinden ve Java kütüphanesinden oluşmaktadır. Dalvik sanal makinesi daha hızlı çalışmak ve daha az hafıza kullanmak amacıyla Java kodlarını Dalvik kodlarına dönüştürerek çalıştıran bir makinedir. Uygulama çatısı katmanındaki çatılar, bir alt katmandaki kütüphanelerin ve Dalvik makinesinin sunduğu imkanlar dahilinde çalışmaktadır. Android uygulamalarının her biri kendi Dalvik makinesi ile 15
  • 16. çalışmaktadır. Bu uygulamalar birçok bileşenden oluşabilir. Bu bileşenler başka uygulamaların bileşenleri ile etkileşimli olarak çalışabilir [3]. 3.6. iOS iOS, Apple tarafından geliştirilen ve kullanılan bir mobil işletim sistemidir. Bu sistem öncelikle iPhone ve iPod Touch için geliştirilmiş ve daha sonra piyasaya sürülen iPad’lerde de kullanılmıştır. Windows Mobile’ın ve Android’in aksine Apple kendi ürünü olmayan donanımlar üzerine iOS kurulmasına izin vermemektedir. OS X’in mobil cihazlar için hazırlanmış versiyonu olan iOS bu nedenle Unix platformu üzerinde çalışmaktadır. iOS işletim sistemi temel olarak dört katmandan oluşmaktadır. iOS sisteminin en altında Core OS katmanı bulunmaktadır. Bu katmanın üzerinde sırasıyla Core Services, Medya ve Cocoa Touch katmanları bulunmaktadır. Şekil 3.6.1. iOS mimarisi[4] Core OS katmanında diğer teknolojilerin üzerinde kurulu bulunduğu düşük seviyeli özellikler bulunmaktadır. Bu düşük seviyeli özelliklere örnek olarak güvenlik, bluetooth, harici aksesuarlar gibi temel özellikler gösterilebilir. Core Services katmanı bütün uygulamaların kullandığı ana sistem özelliklerini barındırır. Kullanıcı 16
  • 17. bu servisleri direkt olarak kullanmasa da sistemin parçalarından bir çoğu bu katmandaki özelliklerin üzerine kurulmuştur. Bu özelliklere örnek olarak uygulama içinden satın alma, veri koruması, dosya paylaşım desteği gibi temel hizmetler gösterilebilir. Bu özellikler kendi başına bir anlam ifade etmese de veya son kullanıcı tarafından kullanılan özellikler olmasa da diğer bir çok uygulama içerisinde görev almaktadır. Medya katmanı, bir mobil cihazdan elde edilebilecek en iyi multimedya deneyimini üretmeyi amaçlayan grafik, ses ve video teknolojilerini barındırmaktadır. Bu katmandaki teknolojiler uygulamaların son kullanıcı ile karşılaşacak olan kısımlarını direkt olarak ilgilendirmektedir. Ses, görüntü ve video ile ilgili bütün özellikler bu katmandaki yığınlar kullanılarak işler hale getirilir. Cocoa Touch katmanı iOS uygulamaları için anahtar sistemleri barındırmaktadır. Bu katman temel uygulama altyapısını tanımlamakta ve çoklu görev (multitasking), dokunmatik ekrandan veri girişi, kullanıcıya bildirim gönderme gibi, uygulamaların kullanıcıyı ilgilendiren kısımlarında sıklıkla kullanılan yüksek düzeyli sistemlere ev sahipliği yapmaktadır [4]. 4. MOBĠL UYGULAMA ÖRNEĞĠ Bu bölümde anlatılacak olan uygulama yabancı dil öğreniminde önemli bir etken olan kelime ezberlemeye veya öğrenmeye yönelik yardımcı bir uygulamadır. Bu uygulama, mobil telefonlar üzerinde çalışan işletim sistemlerinin pazar payları göz önüne alınarak, Android işletim sisteminde çalışabilecek özellikte olarak Java programlama dili ile geliştirilmiştir. Uygulama, kullanıcının isteğine göre belirlenen periyotlarda yabancı dilde kelimeyi verip Türkçe karşılığını veya tam tersini istemektedir. Sorular çoktan seçmeli veya istenen kelimelerin kullanıcı tarafından girilmesi şeklinde olabilmektedir. Kullanıcı, uygulamanın veritabanına erişip kelimeler üzerinde ekleme, silme, değiştirme gibi işlemleri yapabilmektedir. Mobil yazılımın geliştirilmesi aşamasında, öncelikle gereksinimler ve bunların nasıl karşılanacağı belirlenmiş, yazılım geliştirme ortamları temin edilmiş, tasarım basamakları hazırlanmış, dokümantasyon elde edilmiş ve bu belgelere uygun doğrultuda hareket edilmiştir. Mobil uygulamanın gömülü sistemler için 17
  • 18. hazırlanacağı göz önüne alınarak uygun yazılım geliştirme ortamlarının taranma işlemleri gerçekleştirilmiş ve bunun sonucunda Android SDK ve Eclipse ortamları kullanılmıştır. Gerçekleştirilen mobil uygulamanın genel çalışma şeması aşağıda gösterilmiştir. Şekil 4.1. Mobil uygulamanın akış şeması[5] Uygulama, dil öğrenmeyi amaçladığı için farklı dil destekleri ile tasarlanmıştır. Örneğin programın menüleri kullanılan cep telefonunun diline göre değişmektedir, yani telefon dili İngilizce ise programın menüleri de İngilizce olmaktadır. Ayrıca kullanıcı isteğine göre kelime sorularını belirli aralıklarla ya da sürekli olarak ekrana getirebilmektedir. 18
  • 19. Uygulama ilk çalıştırıldığında kullanıcının karşısına “veritabanı boş” uyarısı çıkmaktadır. Kullanıcı istediği veritabanını yazılıma ekleyebilmektedir. Veritabanına kelimeler eklendikten sonra kullanıcının karşısına ana ekran çıkmaktadır. Bu ekranda kullanıcının program ile ilgili ayarları yapabileceği, kelimeleri düzenleyebileceği ve mobil öğrenme programını başlatabileceği düğmeler bulunmaktadır. Şekil 4.2. Veritabanı uyarı ekranı ve ana menü ekranı[5] Programın “Ayarlar” kısmında kullanıcıya sunulan çeşitli soru seçenekleri ve soru sorma süreleri belirlenebilmektedir. Kullanıcı “Soru Modu” seçeneğinde iki farklı soru türü belirleyebilmektedir. Birincisi çoktan seçmeli yani sorulan kelimenin cevabını dört adet şık arasından seçmek, ikincisi ise klasik yani sorulan kelimenin cevabını doğrudan belirtilen alana yazmaktır. “Soru Periyodu” seçeneğinde kullanıcı, soruların hangi sıklıkla karşısına geleceğini belirleyebilmektedir. Bu kısımda eğer “Periyot Yok” seçilir ise sorular ekrana sürekli gelecek ve 30 sn içerisinde 19
  • 20. kullanıcının cevap vermesi istenecektir. Bu seçenek genelde kullanıcının sadece kelime öğrenme programına odaklandığı anlar için düşünülmüştür. Programın “Kelimeler” kısmında kullanıcı, veritabanında bulunan kelimeler üzerinde düzenleme işlemi yapabilmektedir. Gerekirse istenilen kelimeleri veritabanına ekleyebilmektedir. Kullanıcı kelime öğrenme programında öğrendiği kelimeleri de veritabanından çıkartabilmektedir. Şekil 4.3. Uygulamanın ayarlar ve kelimeler menüleri[5] Programın genel ayarları yapıldıktan sonra kullanıcı programı başlatmak için “Start” butonunu seçer ve veritabanında bulunan kelimeler seçilen ayarlara göre kullanıcının karşısına çıkar. Kullanıcı eğer ayarlar menüsünde “Periyot Yok” seçeneğini işaretlemişse, kelime soruları arka arkaya 30 saniye aralıklarla ekrana gelecek ve kullanıcının bu süre içerisinde cevap vermesi istenecektir. Kullanıcı, “Question Period” ayar menüsünde belirli bir süre (1,3,5.. dakika vb) seçerse, soruların 20
  • 21. cevaplanması için herhangi bir süre olmayacak ve sorular bu belirlenen periyot ile kullanıcının karşısına çıkması sağlanacaktır. Şekil 4.4. Uygulamanın periyotsuz olarak çalıştırılması[5] 21
  • 22. Şekil 4.5. Uygulamanın belirli periyotlarda çalıştırılması[5] Kullanıcı dilerse ekrana gelen soruyu atlayabilecek veya programı durdurabilecektir. Kullanıcı, karşısına gelen sorulara cevap vermek istemezse “Skip This Question” butonunu seçerek sorunun doğru cevabını görebilir ve bir sonraki soruya geçebilir. Bununla birlikte kelime öğrenme programı bitirilmek istenirse “End” butonuna basılabilir. Sorular kullanıcı tarafından cevapladığı anda eğer cevap doğru ise uyarı verilerek yeni soruya geçilmekte, cevap yanlış ise doğru cevap kullanıcıya bildirilmektedir. Kullanıcıya kaç soru cevapladığı, bu sorulardan kaç tanesini doğu kaç tanesini yanlış cevapladığı bilgisi gösterilmektedir. Sorular kullanıcı tarafından cevapladığı anda eğer cevap doğru ise uyarı verilerek yeni soruya geçilmekte, cevap yanlış ise doğru cevap kullanıcıya bildirilmektedir. Kullanıcıya kaç soru cevapladığı, bu sorulardan kaç tanesini doğu kaç tanesini yanlış cevapladığı bilgisi gösterilmektedir. 22
  • 23. Gerçekleştirilen mobil kelime öğrenme yazılımı kullanım kolaylığı ve zaman ve mekândan bağımsız olarak uygulanabilirliği bakımından tercih edilebilecek bir programdır. Dil öğrenmenin bir lüks olmaktan çıkıp bir ihtiyaç, hatta zaruret olduğu çağımızda; yazılan program kişilere kelime öğrenmeyi kolay kılmayı amaçlamaktadır [5]. 23
  • 24. KAYNAKLAR [1]: Kumar, A., Mobile TV, Chapter 12 – Operating Systems and Software for Mobile TV and Multimedia Phones, 2007. [2]: Kumar, A., Implementing Mobile TV (Second Edition), Chapter 15 – Operating Systems and Software for Mobile TV and Multimedia Phones, Pages 425 – 455, 2010. [3]: Analysis of the Android Architecture, Studiendarbeit von Stefan Brahler, Karlsruher Institut für Technologie, 2010. [4]: iOS Technology Overview, Apple Computer Inc., 2012. [5]: Çevik, K., K. ve Koçer, H., E., Mobil Cihaz Tabanlı Yabancı Dilde Kelime Öğrenme Uygulaması, Selçuk Üniversitesi, Teknik Bilimler Yüksekokulu, Teknik Online Dergi, Cilt:11, Sayı:2-2012 24