Mobil platformlar ve uygulamalar rapor
Upcoming SlideShare
Loading in...5
×
 

Mobil platformlar ve uygulamalar rapor

on

  • 1,208 views

 

Statistics

Views

Total Views
1,208
Views on SlideShare
1,208
Embed Views
0

Actions

Likes
0
Downloads
38
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Mobil platformlar ve uygulamalar rapor Mobil platformlar ve uygulamalar rapor Document Transcript

    • 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ĠLERGĠRĠġ………………………………………………………………………………...31. MOBĠL PLATFORMLARDA YAZILIM ALTYAPISI……………………….42. MOBĠL PLATFORMLARDA YAZILIM ORGANĠZASYONU……………...53. YAYGIN ĠġLETĠM SĠSTEMLERĠ……………………………………………..73.1. Symbian…………………………………………………………………………73.2. Windows Mobile………………………………………………………………..93.3. RIM: Blackberry OS………………………………………………………….103.4. Linux…………………………………………………………………………...123.4.1. Linux mobile vakfı…………………………………………………………..143.5. Android………………………………………………………………………...143.6. iOS……………………………………………………………………………...164. MOBĠL UYGULAMA ÖRNEĞĠ………………………………………………17KAYNAKLAR……………………………………………………………………..24 2
    • MOBĠL PLATFORMLAR ve UYGULAMALARGĠRĠġKullandığımız her türlü elektronik donanımın üzerinde mutlaka donanımı kontroleden bir yazılım çalışmaktadır. Donanımlar gelişip karmaşıklaştıkça, onları kontroleden yazılımlar da mecburen gelişip karmaşıklaştı. Yani bir diğer deyişle, zamaniçerisinde donanımlarımızdaki basit yazılım parçaları, kompleks işletim sistemlerinedönüştürüldüler. Akıllı telefonlar (Smart Phones), tablet bilgisayarlar, PDA (PersonalDigital Assistant) lar gibi taşınabilir cihazlar için üretilen işletim sistemleri mobilişletim sistemleri olarak adlandırılırlar. İşletim sistemi yazmak oldukça zahmetlioluğundan günümüze dek sadece birkaç işletim sistemi geliştirilmiştir. Bunlardanbazıları kullanıcı ihtiyaçlarını karşılayamadığından dolayı unutulmuştur. Günümüzdemevcut 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. İşletimsistemlerinin bir parçası olarak desteklenmeye başlamasıyla sanal standartlar halinegelen fonksiyonların makineler tarafından desteklenmesi gerekmektedir. Yakınzamana 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 edilmesigerekiyordu. O zamana kadar herhangi bir yerel medya oynatıcısının işletimsisteminin bir parçası olması duyulmamış bir özellikti. İnternet kullanımı evrenselhale geldikçe bu özelliklerin işletim sisteminin içine entegre etmek gerekli bir halegelmiştir. Sonradan Internet Explorer, Microsoft işletim sisteminin bir parçası halinegelmiştir. Zamanla kızılötesi, bluetooth ve medya oynatıcı gibi özellikleroluşturularak sisteme dahil edilmiştir. Microsoft Windows işletim sisteminin bugünitibari ile 50 milyondan fazla kaynak kodu olduğu bilinmektedir.Cep telefonları her zaman benzersiz bir çalışma ortamı sunmuştur. Mobil cihazlarkaynaklar açısından (işlemci yetenekleri-bağları, hafıza, pil gücü) kısıtlıdır. Ceptelefonları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, vedaha fazlasını yapması gerekmektedir. Mobil işletim sistemi çevresel etkilernedeniyle 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 ceptelefonlarında genellikle öne çıkan bir işletim sistemi olmadığından sesli ve SMS’liuygulamalar kısıtlıdır. Yazılım kodları her bir donanım ve telefon için özel olmayabaşlaması ile birlikte tüm uygulamalar doğrudan kodlanmaya başlanmıştır. Ancakdaha gelişmiş telefonlar ve uygulamaların gelmeye başlamasıyla artık bu yöntempratik olmamaya başlamıştır. Cep telefonlarının bir işletim sistemine ihtiyacı vardırbu sayede yeniden kod yazmaya gerek kalmadan çeşitli uygulamalar ve süreçlerbaş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 yandanuygulamalar ile arayüz için diğer yandan da donanım ve yazılım için yeni bir işletimsistemine ihtiyacı vardır.Multimedya telefonlar ile ilgili özel olan nedir? Multimedya telefonları yeni birseviyedeki 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örevfonksiyonlarını kullanım gereksinimi duymaktadır. Örneğin, bir telefon aynı anda birTV klibe veya ses dosyasına kaydedilmesi ve bellekten dosya alınırken 3G ağı veyerel kamera kullanımını içeren bir video arama için kullanılabilmektedir.Multimedya telefonları desteklemek için gerekli fonksiyonel modülleri standart bircep telefonu işletim sistemi çekirdeğinin karşılayabileceğinden çok daha yüksekgereksinimlere ihtiyaç duymaktadır[1].2. MOBĠL PLATFORMLARDA YAZILIM ORGANĠZASYONUMobil 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 vebunların sürücülerini barındıran silikon kısım bulunur. Bundan sonraki katmanişletim sistemi çekirdeğidir. Bu kısımda silikonda bulunan, örneği bellek gibidonanı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ımdonanım ile kullanıcının kullandığı yazılım arasında görev yapmak üzeregeliş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 programlardanoluş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çinkullanılan çeşitli yazılımlar örnek olarak gösterilebilir. Bu katman ayrıca operatördenoperatöre farklılık gösteren push-to-talk, video görüşme gibi çeşitli özelliklerinkullanı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şletimsisteminin fonksiyonları kullanılabilir hale gelir [1].3. YAYGIN ĠġLETĠM SĠSTEMLERĠ3.1. SymbianSymbian 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 lisanssahipleri tarafından kullanılmakta idi. Nokia sonrasında diğer hissedarların elindekihisseleri de satın alarak Symbianın tüm varlığını kendi kurduğu Symbian Vakfınabağış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 Linuxtaki GNOME veya KDE gibi arayüzler yüklenmesigerekiyordu.Nokianın Symbian cihazlarında kullandığı arayüze Series 60 veya S60;Sony Ericssonun 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 uyumlulukzorunluluğu olduğu için optimizasyon ihtiyacı rakiplerine kıyasla düşüktür. İşletimsistemi 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 üzeregeliştirildiğinden, rakiplerine kıyasla daha zor ve karışık bir arayüze sahiptir vekullanımı da rakiplerine kıyasla zordur. Ana kullanıcı arabirimi, üzerinde çeşitliuygulamalara 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 birinternet 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 toplamuygulama geliştirici sayısına olumsuz etki etmektedir. Fakat en eski smartphoneplatformu olması ve bir çok programlama diline izin vermesi nedeniyle (StandardC/C++, Visual Basic, .NET, POSIX, Python, Java ME, Flash Lite, Ruby, WebRuntime (WRT)) mevcut uygulama çeşitliliği ile sayısı açısından zengin birplatformdur. 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 bunedenle uygulama başarım performansı rakiplerine kıyasla yüksektir, sahip olduğumikrokernel yapısı sayesinde kaliteli ve hızlı uygulamalar için yüksek işlemcigü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. Bunedenle şu an Symbian Vakfı şu an işletim sistemine arındırma ve basitleştirmeişlemleri uygulamaktadır [2]. 8
    • Şekil 3.1.1. Symbian OS mimarisi[2]3.2. Windows MobileWindows CE tabanlı bir işletim sistemidir. Windows tabanlı olmasınave ileri düzeydeki altyapısına rağmen masaüstünde kullanılan Windowsuygulamaları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ğuolduğu için optimizasyon miktarı rakiplerine kıyasla düşüktür. İşletim sistemigüncellemeleri için bir bilgisayara bağlı olmaya ihtiyaç duymaktadır.Öncelikle stylus ile yönetilen PDA kökenli cihazlarda çalışmak üzeregeliştirildiğinden, rakiplerine kıyasla daha zor ve karışık bir arayüze sahiptir vekullanımı da rakiplerine kıyasla zordur. Ana kullanıcı arabirimi, üzerinde çeşitliuygulamalara 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. (AdobeFlash Lite destekleyen) Internet Explorer Mobile tarayıcısı ile fakir bir internetdeneyimi 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 birplatformdur. Ayrıca kendisine ait bir uygulama dağıtım kanalına (WindowsMarketplace for Mobile) sahiptir.Platforma doğal bir dilde uygulama geliştirilmesine izin verilmektedir ve bu nedenleuygulama başarım performansı rakiplerine kıyasla yüksektir, fakat bir takımdonanım/yazılım platform farklılıkları nedeniyle kaliteli ve hızlı uygulamalar içinyü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 OSResearch In Motion (RIM) tarafından sadece BlackBerryler için geliştirilmiş özel birişletim sistemidir. Özel (kapalı kaynaklı) bir işletim sistemidir ve bu nedenleyalnızca RIMa ait ürünlerde bulunmaktadır. Değişik platformlara uyumlulukzorunluluğu olmadığı halde optimizasyon miktarı düşüktür. İşletim sistemigüncellemeleri için bir bilgisayara bağlı olmaya ihtiyaç duymamaktadır. 10
    • Temelde dokunmatik olmayan cihazlar için tasarlanmıştır, dokunmatikekranları sonradan desteklemeye başlamıştır. Basit bir arayüze sahip olsa darakiplerine 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 beklemeekranıdır (Widget desteği de içermektedir), ayrıca uygulamaların kısayollarınınbulunduğ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ğisunmaktadı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 kontroledilebilmekte 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 APIler içeren uygulama geliştirme ortamı (BlackBerrySDK) sunmakla birlikte, uygulama çeşitliliği ile sayısı açısından şu an fakir olan birplatformdur. Ayrıca kendisine ait bir uygulama dağıtım kanalına (BlackBerry AppWorld) sahiptir.Platforma doğal bir dilde uygulama geliştirilmesine izin verilmektedir ve bu nedenleuygulama 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. LinuxLinux tabanlı işletim sistemleri açık kaynak kodlu olmalara nedeniyle mobil cihazlararasında farklı bir yere sahiptir. Kullanım oranı %10’un altında olsa da Çin gibi yenipazarlarda açık kaynak kodlu olması sebebiyle Linux tabanlı mobil cihazlar satışasunulmaktadır.Linux genel kamu lisansı (General Public License) kullanmaktadır. Genel kamulisansı, programın yeni bir versiyonu çıktığı zaman kaynak kodlarının açıkçaulaşılabilir olması gerektiği anlamına gelmektedir. Açık kaynak kodlu olması ve budurumun 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 sistemiolarak 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çıkLinux 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çokmobil telefon fonksiyonunun ara yazılım (middleware) tarafından desteklenmesigerekmektedir. 12
    • Şekil 3.4.1. Linux mimarisi[2]Telefon fonksiyonlarının büyük bir kısmı yazılım modülleri tarafındandesteklenmektedir. Bu sorunları giderebilmek için CE Linux Forumu küreselreferans mimarisi ve yazılım ile ara yazılımların bazı kısımları için uygulamaprogram arayüzleri (application program interface/API) üzerinde çalışmaktadır.Üzerinde çalışılan bu mimarinin telefon, görüntülü telefon ve multimedyamodüllerini içermesi beklenmektedir.Birçok satıcı fonksiyonellik açısından daha gelişmiş fakat aynı zamanda açıkkaynaklı olma özelliğini de sürdüren bir Linux fikrini desteklemektedir. ÖrneğinJaponya’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 MontaVista Linux kullanmaya başlamıştır. Aynı şekilde NEC de telefonlarını Monta VistaLinux üzerine geliştirmektedir. Monta Vista Linux gelişmiş multimedyauygulamaları için kolay entegrasyon ve kablosuz telefon tasarımları için standart birgeliş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 çevreyisağlayabilmek amacıyla kurulmuştur. Linux Mobile Vakfı, Linux tabanlı telefonlarınve diğer mobil cihazların gelişimini desteklemek için tamamen açık kaynaklı birmobil telefon mimarisi oluşturma amacındadır.Linux Mobile Vakfı, ara yazılımlar ve kullanıcı arayüzlerinin çalışmasını sağlayacakyazı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ş birversiyonudur. Bu versiyonda Linux çekirdeği bir işlemci üzerine yerleştirilmiştir vekodlarına işlemcinin bağlı bulunduğu bellek üzerinden ulaşılabilir. Linux’ün buversiyonu ARM9, Intel XScale, MIPS, Motorola Dragonball, Texas Instruments gibibirçok işlemciyi desteklemektedir. mLinux, geliştirilmiş açılış yükleyicisi(bootloader) sayesinde 2 saniyeden kısa açılış zamanına sahiptir ve multiprocessingve hafıza yönetimi gibi özellikleri de bulunmaktadır [2].3.5. AndroidAndroid, aralarında Google, Motorola, Qualcomm, HTC, LG, Sony,Samsung gibibü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ştiriciseçeneklerinden oluşan eksiksiz bir mobil cihaz platformudur.Android, mobil uygulama marketinin yanı sıra bir yazılım geliştirme kiti deiçermektedir. Bazı işletim sistemlerinin aksine Android, telefonun bütünyeteneklerini uygulama geliştiricilerin hizmetine sunmakta, bu sayede telefonunkaynakları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 öğelerC/C++ ile yazılmış iken mavi ile gösterilen öğeler Java ile yazılmıştır ve Dalviksanal makinesi üzerinde çalışmaktadır. Çekirdek katmanında güç ve hafıza yönetimikonularındaki özel ihtiyaçlar için modifiye edilmiş bir Linux çekirdeğikullanılmaktadır. Çekirdek üzerinde bluetooth, WiFi gibi donanımların sürücüleribulunmaktadır. Kütüphaneler katmanında düşük hafıza kullanımı amacıylageliştirilmiş temel kütüphaneler bulunmaktadır. Android Runtime katmanı Dalviksanal makinesinden ve Java kütüphanesinden oluşmaktadır. Dalvik sanal makinesidaha hızlı çalışmak ve daha az hafıza kullanmak amacıyla Java kodlarını Dalvikkodları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 imkanlardahilinde ç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şkauygulamaların bileşenleri ile etkileşimli olarak çalışabilir [3].3.6. iOSiOS, Apple tarafından geliştirilen ve kullanılan bir mobil işletim sistemidir. Busistem öncelikle iPhone ve iPod Touch için geliştirilmiş ve daha sonra piyasayasürülen iPad’lerde de kullanılmıştır. Windows Mobile’ın ve Android’in aksine Applekendi ürünü olmayan donanımlar üzerine iOS kurulmasına izin vermemektedir. OSX’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 enaltında Core OS katmanı bulunmaktadır. Bu katmanın üzerinde sırasıyla CoreServices, 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 Serviceskatmanı 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 bukatmandaki özelliklerin üzerine kurulmuştur. Bu özelliklere örnek olarak uygulamaiçinden satın alma, veri koruması, dosya paylaşım desteği gibi temel hizmetlergö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örevalmaktadır. Medya katmanı, bir mobil cihazdan elde edilebilecek en iyi multimedyadeneyimini üretmeyi amaçlayan grafik, ses ve video teknolojilerini barındırmaktadır.Bu katmandaki teknolojiler uygulamaların son kullanıcı ile karşılaşacak olankı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 Touchkatmanı iOS uygulamaları için anahtar sistemleri barındırmaktadır. Bu katman temeluygulama altyapısını tanımlamakta ve çoklu görev (multitasking), dokunmatikekrandan 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ğiyapmaktadır [4].4. MOBĠL UYGULAMA ÖRNEĞĠBu bölümde anlatılacak olan uygulama yabancı dil öğreniminde önemli bir etkenolan kelime ezberlemeye veya öğrenmeye yönelik yardımcı bir uygulamadır. Buuygulama, mobil telefonlar üzerinde çalışan işletim sistemlerinin pazar payları gözönüne alınarak, Android işletim sisteminde çalışabilecek özellikte olarak Javaprogramlama dili ile geliştirilmiştir. Uygulama, kullanıcının isteğine göre belirlenenperiyotlarda yabancı dilde kelimeyi verip Türkçe karşılığını veya tam tersiniistemektedir. Sorular çoktan seçmeli veya istenen kelimelerin kullanıcı tarafındangirilmesi şeklinde olabilmektedir. Kullanıcı, uygulamanın veritabanına erişipkelimeler üzerinde ekleme, silme, değiştirme gibi işlemleri yapabilmektedir. Mobilyazılımın geliştirilmesi aşamasında, öncelikle gereksinimler ve bunların nasılkarşılanacağı belirlenmiş, yazılım geliştirme ortamları temin edilmiş, tasarımbasamakları hazırlanmış, dokümantasyon elde edilmiş ve bu belgelere uygundoğ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 taranmaiş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ğıdagö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ıcakullanıcı isteğine göre kelime sorularını belirli aralıklarla ya da sürekli olarak ekranagetirebilmektedir. 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ınakelimeler eklendikten sonra kullanıcının karşısına ana ekran çıkmaktadır. Bu ekrandakullanıcının program ile ilgili ayarları yapabileceği, kelimeleri düzenleyebileceği vemobil öğ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 sorusorma süreleri belirlenebilmektedir. Kullanıcı “Soru Modu” seçeneğinde iki farklısoru türü belirleyebilmektedir. Birincisi çoktan seçmeli yani sorulan kelimenincevabını dört adet şık arasından seçmek, ikincisi ise klasik yani sorulan kelimenincevabı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 sadecekelime öğrenme programına odaklandığı anlar için düşünülmüştür. Programın“Kelimeler” kısmında kullanıcı, veritabanında bulunan kelimeler üzerindedüzenleme işlemi yapabilmektedir. Gerekirse istenilen kelimeleri veritabanınaekleyebilmektedir. Kullanıcı kelime öğrenme programında öğrendiği kelimeleri deveritabanı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ınkarşısına çıkar. Kullanıcı eğer ayarlar menüsünde “Periyot Yok” seçeneğiniişaretlemişse, kelime soruları arka arkaya 30 saniye aralıklarla ekrana gelecek vekullanıcının bu süre içerisinde cevap vermesi istenecektir. Kullanıcı, “QuestionPeriod” 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 ilekullanı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” butonunabasılabilir.Sorular kullanıcı tarafından cevapladığı anda eğer cevap doğru ise uyarı verilerekyeni 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ı verilerekyeni 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 vemekândan bağımsız olarak uygulanabilirliği bakımından tercih edilebilecek birprogramdı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 forMobile TV and Multimedia Phones, 2007.[2]: Kumar, A., Implementing Mobile TV (Second Edition), Chapter 15 – OperatingSystems 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, TeknikOnline Dergi, Cilt:11, Sayı:2-2012 24