24
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

Mobil platformlar ve uygulamalar rapor

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: 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

Page 2: Mobil platformlar ve uygulamalar rapor

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

Page 3: Mobil platformlar ve uygulamalar rapor

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

Page 4: Mobil platformlar ve uygulamalar rapor

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.

Page 5: Mobil platformlar ve uygulamalar rapor

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)

Page 6: Mobil platformlar ve uygulamalar rapor

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.

Page 7: Mobil platformlar ve uygulamalar rapor

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

Page 8: Mobil platformlar ve uygulamalar rapor

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].

Page 9: Mobil platformlar ve uygulamalar rapor

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ı

Page 10: Mobil platformlar ve uygulamalar rapor

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.

Page 11: Mobil platformlar ve uygulamalar rapor

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].

Page 12: Mobil platformlar ve uygulamalar rapor

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.

Page 13: Mobil platformlar ve uygulamalar rapor

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].

Page 14: Mobil platformlar ve uygulamalar rapor

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.

Page 15: Mobil platformlar ve uygulamalar rapor

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

Page 16: Mobil platformlar ve uygulamalar rapor

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ı

Page 17: Mobil platformlar ve uygulamalar rapor

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

Page 18: Mobil platformlar ve uygulamalar rapor

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.

Page 19: Mobil platformlar ve uygulamalar rapor

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

Page 20: Mobil platformlar ve uygulamalar rapor

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

Page 21: Mobil platformlar ve uygulamalar rapor

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]

Page 22: Mobil platformlar ve uygulamalar rapor

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.

Page 23: Mobil platformlar ve uygulamalar rapor

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].

Page 24: Mobil platformlar ve uygulamalar rapor

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