2. Bilgiye ve elenceye en kolay ulama yollarnn banda gelen
mobil cihazlarn akl almaz bir hzla ilerledii ve hayatmza giren
ekranlarn gitgide oald son yllarda, kullanclarn beklenti ve
isteklerine karlk mobil pazarda hzl, esnek ve gl bir ekilde yer
edinmek isteyen giriimcilerin yaratc fikirleri yer almaktadr. Mobil
uygulama gelitiricileri yeni aralar ve teknikler zerinde almalar
yapma yolunda olduka tevik etmektedirler.
3. Mobil uygulama fikri iin doru arac ve teknii belirleyen
kriterler : Stabilite Performans Grnm ve etkileim Anlalabilirlik ve
kullanlabilirlik leri gelitirme ve bakm sreleri Kullanlacak
platform, aralarn eklenti destei
4. Mobil Uygulama eitleri 1) Cross Platform 2) Native
Uygulamalar 3) Hybrid Uygulamalar 4) HTML5 Uygulamalar
5. Cross Platform birden fazla platformda alacak uygulamalarn
gelitirilmesidir. Android iin yazlan kodlar iOS ya da Windows Phone
platformlarnda almyorsa, her platform iin ayr ayr kod (native kod)
yazmak yerine, Cross Platform un avantajlarndan yararlanlabilir
Cross Platform
6. Kullanlan Cross Platform aracnn salad llerde tek bir
programlama dili kullanarak ( Javascript, C# gibi.) birden fazla
platformda uygulama gelitirilebilir. Bu ciddi lde zamandan tasarruf
edilmesini salar. Fakat, Cross Platform uygulama gelitirirken
gelitirilen uygulamann ierii kullanlan Cross Platform arac ile
snrldr. Yani, native bir gelitirme kadar esnek ve rahat
deildir.
7. Cross Platform rnekleri Programlama Dilleri Java: Java ile
yazlm programlar zerinde JVM (Java Virtual Machine) bulunduran
platformlarda yani Windows, Mac OS ve Linux iletim sistemlerinde
alabilmektedir.
8. Oyun Motorlar Unity 3D: lk akla gelen oyun motoru phesiz
Unitydir. Unity bir oyun motorudur. Javascript, C# ya da Boo
dilleri ile yaklak olarak 10un zerinde platforma destek
vermektedir. Bunlar masast (Windows, Mac OS, Linux..), web
(firefox, chrome..), oyun konsollar (ps4, xbox, nintendo..), mobil
(android, ios..) gibi Corona SDK: Corona oyun motoru ise daha ok
mobil alannda hizmet veren bir Cross Platform aracdr.
9. Mobil Uygulama Gelitirme Aralar Smartface App Studio: iOS ve
Android platformlarna destek veren mobil uygulamalar
gelitirebileceiniz bir Cross Platformdur. Smatface de kullanlan dil
ise Javascript dilidir. Xamarin: Mobil uygulama gelitirme alannda
Cross Platform bir ara olan Xamarin, Android, iOS ve Windows Phone
platformlarna destek vermektedir. Xamarin de uygulama gelitirmek
iin C# dili kullanlmaktadr. Titanium Appcelearator: Bir baka mobil
alanda Cross Platform arac ise Titaniumdur. Titanium SDK ile
Javascript dilini kullanarak Android, iOS ve Windows Phone iin
uygulamalar gelitirilebilmektedir.
10. Bu uygulamalar tek bir IDE ve tek bir dil kullanarak eitli
platformlara ayn anda kt salarlar. Bu alanda en bilinen rnekler,
Titanium , Xamarin ve Smartface App Studio gibi aralardr.
11. En byk avantaj; tek bir framework yaps, gelitirme ortam ve
dilidir. Kalan btn ksmlar bu framework ler hallederler. Yine tek
kaynak kodu zerinden ilerlendiinde gelitirme ve test maliyeti der.
Dezavantajlar ise; platform tabanl gelitirmenin sunduu her olana
sunamayabilirler. Bu sebeple plug-in destei olup olmad kontrol
edilmelidir. Uygulamadan isteklerini iyi belirlemek ve doru arac
semek ok nemlidir.
12. Appcelerator Titanium ile Xamarin Karlatrmas Maliyet :
Appcelerator Titanium : cretsiz Xamarin : cretli ( $299 - $999 -
$1899 ) Platform Destei : Appcelerator Titanium : OS, Android, Web
(HTML5), Windows, Blackberry Xamarin : : OS, Android, MAC, Windows
Phone Native API'lara Eriim : Her ikiside native ap eriimini
destekliyor, os gncellemelerinden sonra hzl gncellemeler
yapabiliyor ve iyi belgeleme olayna sahiptirler.
13. Performans : Appcelerator Titanium : Yava animasyonlar,
gecikmeli kaydrma, yava srdrme Xamarin : Native kod ile performans
fark yoktur. OS: AOT Compiler, Android : JIT compiler
14. Native Native Dille yazlm bir uygulama, belli bir platforma
zel, genellikle platform salaycsnn belirtmi/retmi olduu platform
SDK s, aralar ve programlama dili yardmyla gelitirilmi uygulamadr.
rnein Objective-C programlama dilini kullanlarak iOS iletim
sistemine zel ya da Java programlama dili ile Android iletim
sistemine zel gelitirilen bir uygulama Native Uygulamadr. Native
uygulamalar mobil cihazn kulland platforma, platformun aralarna ve
diline zel yazlm uygulamalardr. iOS iin XCode IDE ve Objective-C
dili kullanlmaktadr. Android iinse Eclipse IDE ve Java dili
kullanlmaktadr.
16. 1) Platform Tabanl Native Uygulamalar Google, Android bir
uygulamay Eclipse ortamnda Java kullanarak, Apple ise iOS
uygulamasn Xcode ortamnda Objective-C kullanarak, Microsoft ise
Windows Phone uygulamasn Visual Studio ortamnda C# kullanarak
yazar. Bunlara Platform Tabanl Native uygulamalar denir. En byk
avantaj; donanmn btn yeteneklerine eriilebilir, hz ve performans
asnda kullancy mutlu edebilir.
17. 2) Cross-Platform Native Uygulamalar Tek bir IDE ve tek bir
dil kullanarak eitli platformlara ayn anda kt salarlar. Bu alanda
en bilinen rnekler Titanium, Xamarin ve Smartface App Studio gibi
aralardr. En byk avantaj; bilinmesi gereken tek bir framework yaps,
gelitirme ortam ve dilidir. Tek kaynak kodu zerinden ilerlendii iin
gelitirme ve test maliyeti der. Dezavantajlar ise; platform tabanl
gelitirmenin sunduu her olana sunamayabilirler. Bu sebeple plug-in
destei kontrol edilmelidir. Uygulamadan isteklerini iyi belirlemek
ve doru arac semek ok nemlidir.
18. Artlar: Native uygulamalar en iyi kullanc deneyimini
sunmaktadrlar. Hzl ve akcdrlar. Cihaz zelliklerine en iyi eriimi
salarlar. Yksek performansa sahiptirler. Native uygulamalar en iyi
performansa sahiptirler ve performans artrmak iin donanm kaynaklar
kullanrlar. Uygulamalar evrimd modunda alacaktr. Uygulamalar
potansiyel kullanclara daha iyi bir grnrlk salayan App Store
platformu araclyla datlmaktadr. Uygulamalarn en son API'lara
serbest platformda eriimi olacaktr. Uygulamalar dillerde platformu
destekler. Gelitirmek iin en iyi aralara IDE eriebilir. Bir
projedeki debug olay hzldr. OS uygulamalar XCode zerinde Objective
- C ile yaplr ve debug , arayz tasarm iin tm aralara sahiptir.
Gerekli aralar kullanarak performansn kontrol edebilir.
19. Eksileri: Native uygulamalar daha fazla bir bteye ihtiya
duyar. En azndan bir tane Objective-C ve Java gelitiricisi altrlmas
gerekmektedir. Gelitirme sreleri daha uzundur. nemli marketlerin tm
platformlarn desteklemesi iin yksek bteye ihtiyac vardr. App
gncellemeleri kullanc tarafndan yklenmesi gerekiyor . Eer dzgn ve
doru ekilde tasarlanmazsa web sunucusu zerinde Apps farkl srmlerini
sonuna kadar srdrecektir.
20. Native her platform iin sfrdan bir tasarm salad iin bu bir
avantajdr. Dezavantaj ise kodu bamsz olarak her platform iin
gelitirilmi olmal ve birden ok dilde ayn uygulamay programlamak iin
gerekli olacak olmasdr. Native mobil uygulamalar, gnmzde popler
olan iOS ve Android gibi farkl platformlar iin farkl programlama
dilleri ve gelitirme paketleri gerektirirler. Java, Objective-C
gibi programlama dilleri bunlarn banda gelmektedir. Her platform,
cihaz ve programlama dili birbirinden farkl dinamiklere sahip
olduklarndan farkl uzmanlklar ve farkl dinamikler gerektirir.
21. Native uygulamalar en iyi kullanlabilirlik, en iyi
zellikler ve en iyi tam anlaml mobil deneyimi kazanmay salar.
Sadece native uygulamalarla ilgili baz eyler vardr : oklu
dokunmatik - ift vuru ve dier UI hareketleri Hzl gafikler API -
Native platformlar hzl grafik imkan salar . Sadece birka elemanyla
statik bir ekran gsterecek olursak byk bir i olmayabilir ama ok
fazla veri kullanlyor ve hzl bir yenileme gerekiyorsa bu byk bir
pazarlk olabilir. Akc animasyonlar - Hzl grafik API ili balantl
olarak akc bir animasyon yeteneine sahiptir. Fotoraf ve seslerin
dntrlmesi iin youn hesaplama algoritmalar ya da interaktif
raporlama oyunda olduka nemlidir. Dahili bileenler - Kamera, adres
defteri, konum belirleme ve dier native ile ilgili zellikler mobil
uygulamalara sorunsuzca entegre edilebilir. Kullanm kolayl - Native
platform yaln kullanm iin daha kolay bir uygulama ortam sunar.
Belgeleme - Yaklak 2500 kitapta,birok makalede, blok gnderilerde,
StackOverflow gibi sitelerde ayrntl olarak OS ve Android geliimi
ile ilgili teknik konular ele alnmtr.
22. Native uygulamalar genellikle entegre bir gelitirme ortam
(IDE) kullanlarak gelitirilmitir. IDE'ler hata ayklama, proje
ynetimi, srm kontrol, ve dier profesyonel gelitiriciler iin gerekli
aralar salar. IOS ve Android uygulamalar farkl IDE ve dilleri
kullanlarak gelitirilirken gelitirme ortamlarnda birok elii vardr
ve farkllklara bavurmak iin bir sebep yoktur. Native uygulamalar
aralara ihtiya duyarlar nk uygulama gelitirmeleri olduka zordur.
Ayn ekilde gerekli tecrbe seviyesi dier gelime senaryolarndan daha
yksektir. Sadece kes ve yaptr sistemi yoktur. alma ve emek n
plandadr.Nitekim alma ekibinin de beceri ve ustalk bilgisi nemli
bir husustur. Bu konuda profesyonel olmak iin API ve frameworklerde
kendini kantlamaya ,varolan bileenlerden zel efektler yaratmaya
gerek yoktur.
23. Mobil web uygulamalar HTML5, CSS3 ve Javascript gibi web
teknolojileri kullanlarak gerekletirimi yaplr ve adndan anlalaca
zere Web tabanldrlar. Mobil iletim sistemlerine zg retilmi mobil
web tarayclar zerinde sorunsuz almalar iin optimize edilmilerdir.
Web mobil uygulamalarn en ne kan zellii, web tabanl olduklar iin
tek seferde gelitirilip, tm mobil platformda alabilir olmalardr.
Native uygulamalar gibi farkl programlama dilleri kullanlarak ve
her iletim sistemine zel olarak gelitirilmezler.
24. Native ve HTML5 uygulamalarn karlatrrsak farkllk olarak
Internet balants zorunluluu olacaktr. Bir mobil web uygulamasnn
cihaznzda almas iin ncelikle cihaznzn internet balantsna sahip
olmas gerekmektedir. Native uygulamalarn bir ksm da internet
balantsn kullanr ancak her uygulama iin zorunlu deildir. rnein bir
haber sitesine ait native uygulamay atnzda, anlk gncel haberlere
ulamak iin internete balanmanz gerekir. Ancak bir kamera uygulamas
iin internete balanmanza gerek yoktur. Mobil web uygulamalar
ounlukla internet balantsnn zorunlu olduu, haber, magazin, dergi
ieriine sahip uygulamalardr.
25. Tek bir seferde yazlp her cihazda alabilen, annda
gncellenebilen bir ierie sahip mobil web uygulamalar kulaa daha
cazip ve hesapl gelebilir, ancak native uygulamalarn ok daha
gvenilir ve performansl olduu gereini gz nnde bulundurmak
gerekir.
26. Hybrid Hybrid mobil uygulama teknii, temel olarak tek bir
kod kts ile birden fazla platformda altrlabilmek zerine
gelitirilmitir. Hybrid uygulamalar iin HTML uygulamalar ve native
uygulamalarn karm denebilmektedir. Sadece bir mobil/web uygulama
gelitirip bunu btn platformlarda altrarak zaman ve paradan tasarruf
salar. HTML5 Uygulamalar: Bu uygulamalar CSS, javascript, HTML5
gibi standart web teknolojilerini kullanrlar. Yazlan tek bir
uygulama farkl platformlar ve cihazlarca desteklenmektedir.
27. Hybrid uygulamalar denince akla PhoneGap gelmektedir.
PhoneGap, Adobenin ak kaynak bir aracdr. HTML, JScript, CSS gibi
web dilleri, PhoneGapin belirledii kurallara/yntemlere gre
kullanlmaktadr. PhoneGap salad eitli plug-in destekleriyle baz
cihaz donanmlarna eriim olana salyor. Avantajlar da dezavantajlar
da web uygulamalaryla benzer fakat en byk art baz cihaz
yeteneklerine ulaabilmeniz ve cihaznzda uygulama gibi
pozisyonlanmasdr. Cross-Platform Hybrid Uygulamalar
28. Hangi JavaScript ats Seilmelidir? ok fazla donanm ve
etkileim ihtiyac iin gnmzde native gelitirme tercih edilirken,
temel olarak daha dk donanm gerektiren ve veri yk daha az olan
uygulamalarda hybrid gelitirme tercih edilmektedir. Hybrid mobil
uygulama gelitirmek iin hi bir araca ihtiyacnz yoktur. Hibir yan
ara kullanmadan sadece JavaScript, HTML5 ve CSS3 ile uygulama
gelitirilebilmektedir.
29. Bir hybrid uygulama iin iki yol vardr: Local : Mobil
uygulamalardaki HTML ve JavaScript kodlarn ikili
paketleyebilirsiniz. Bu bir ekilde native uygulama yapsna benzer.
Server : Alternatif sunucudan tam web uygulamas uygulayabilirsiniz.
( opsiyonel nbellekleme ile daha iyi performans iin )
30. Artlar: Tecrbeli bir web developer iin hzl bir gelitirme
sreci Tm platformlar iin tek bir programlama dili Geni community ve
dk gelitirme maliyetleri Bu uygulamalar platforma zel uygulama
maazalarnda datlabilir. Hibrit uygulamalar HTML5 web uygulamalar ve
native uygulamalarn her ikisinin de iyi ve kt ynlerini salamaktadr.
Native katmanlarna eriebilirsiniz. Bu uygulamalar evrimd modda
alabilir. Netflix tm cihazlara kar ayn kod tabannda alan gzel bir
rnektir. Java gibi "tek bir kod kts ile birden ok platformda
alabilme" prensibine sahiptir.
31. Eksileri: Platformu anlamak ve renmek uzun bir zaman
almaktadr. Bugnn tabletleri de dahil olmak zere mobil cihazlar
hybrid uygulamalar akc ve sorunsuz ekilde altramamaktadr. Bu
uygulamalar daha fazla gce ihtiya duyar. Bu uygulamalarda yaplan
dzeltmeler gelitirme srecinden bile fazla zaman almaktadr. Her
platformdaki tarayclar son HTML zelliklerine sahip deildir.
Uygulamanzn marketlerde banlanma riski daha yksektir. Hybrid
uygulamalar iin gvenlik ciddi bir meseledir. Bu uygulamalar
saldrlara daha ak durumdadr.
32. EN Y 5 HYBRD PLATFORM ARALARI
33. 1. Apache Cordova / PhoneCap Apache Cordove ("PhoneGap"
olarak da bilinir) kullanclar tarafndan en st sraya tanmtr. Cordova
/ PhoneGap gelitiricileri HTML, JavaScript ve CSS kullanarak mobil
uygulamalarn yazmaktadrlar. Bunlar hedef platform zerinde native
bir container ierisinde "WebView" olarak alrlar. Bir web uygulamas
bir native uygulama container iinde paketlenmitir. JavaScriptlerin
cihaz seviyesinde API'lara eriimi vardr. Normal web uygulamalar
olmayacaktr.
34. Artlar : Sunucu tarafnda platform ve dil deneyimi ne olursa
olsun, gelitiricilerin nemli bir ksm HTML, JavaScript ve CSS ile
deneyime sahiptirler. Apache Cordova gelitiricileri bu mevcut
becerilerinin glenmesini salar. Bunu kabul etmeye hazr irketlerin
piyasa tutumu gz ard edilemez. Cordova uygulamalar native bir
uygulama gibi yklenir ve App Store kefedilebilirlii vardr. Cordova
bir plugin yani eklenti mimarisini izler. Native cihaz API'larna
eriim modler bir ekilde uzatlabilir. Cordova ak kaynak kodlu ve
cretsizdir, bu yzden hibir lisans maliyeti yoktur.
35. Eksileri : Tabiki de baar garanti edilemez. Ak kaynak kodu
olmas hem bir nimetken dier yandan da bir sorundur. zel bir Cordova
/ PhoneGap eklentisi ile uygulama gelitirmek gerekiyorsa hedef
programlar desteklemiyor olabilir ya da gncel olmayabilir. Eer
ihtiyacnz olan eklentileri bulabilirseniz eklenti mimarisi iyi
alacaktr. Cordova/PhoneGap apps performans sk sk eletiriliyor.
Native UI her zaman bir hibrit zmnden daha iyi performans
verecektir. Cihaz donanm ve WebView uygulamalarndaki iyiletirmeler
o boluu daraltmtr.
36. 2. Appcelerator Appcelerator Titanyum native platforma zg
zelliklerle birletiinde (cihaz zerinden) bir JavaScript API salar.
Artlar : Native UI bileenlerinin kullanlmas performans olarak
kazandrr ve baz framework'leri UI across platformunda
normalletirmeye alr. JavaScript kullanm kodunu normalletirmek iin
birden ok hedef platformda mevcut becerilerini ortaya karmak iin
across platformu salar. Eksileri : Gelitiriciler lokal hedef
platform SDK'y ynetmek iin gereklidir. Bunun iin olduka kontroll
bir ekip ortamnn kurulmas gerekmektedir.
37. 3. Adobe Air Adobe AIR (Adobe Integred Runtime) ile web iin
kullandmz Markup dillerini (ActionScript, JavaScript, ASP, PHP,
HTML, XML vb.) kullanarak masast uygulamalar gelitirebiliriz.
Normal artlarda masast uygulama gelitirebilmek iin C# veya C++
dillerini renmek gerekmektedir. Bu hem zaman alan hem de zor bir
sretir. Adobe AIR ile kullandmz yazlm dillerinden herhangi biri ile
masast uygulama geliitirmemiz mmkn. Adobe Flash, Adobe Flash
Builder ya da Adobe Dreamweaver programlarndan herhangi birini
kullanarak var olan yazlm bilgisi ile masast uygulama
gelitirilebilir.
38. Adobe AIRin en byk avantaj cross-platform almasdr. Yani
gelitirilen uygulama hangi iletim sisteminde olursa olsun ekstra
bir ilem yaplmasna gerek kalmadan sorunsuz bir ekilde alacaktr. AIR
uygulamalar birer .zip dosyas gibi sktrlp, paketlenerek kullanlan
dosyalar tek bir dosya ierisinde toplanr. Bu dosyann uzants
.airdir. Bu dosya ierisine uygulama iin ihtiyacmz olan tm dosyalar
ekleyebiliriz(XML, imaj dosyalar, ses ve video dosyalar vb.). Adobe
AIR ile gelitirilen uygulamalar farkl iletim sistemlerinde
altrlsalar bile ayn davran biimini sergiler. Bu oluturulan web
sayfasnn Internet Explorer zerinde sorunsuz alrken dier tarayclarda
sorun kartmas olarak dnlebilir. Web zerinde bu tip durumlarn nne
geebilmek iin Adobe Flash kullanlr. Adobe AIR ise ayn zelliin
masastne tanmasna olanak salar.
39. Adobe AIR ile uygulama gelitirirken verileri saklamak iin
veritaban (SQLLite) kullanlabilir. Avantaj ise veritabannn almas
iin ekstra bir yazlma ve herhangi bir sunucuya ihtiya duymamasdr.
Bylece kullanc arkaplanda bir veritabannn altn ou zaman
farketmeyecektir. Veritaban kullanc program yklediinde ya da ilk
ilem yaptnda oluturulabilir.
40. Artlar : Cross platform almas en byk avantajdr. Adobe Air
masast ve mobil cihazlar geni bir alanda alma imkan salar. Eer
karmak bir UI planlyorsak (native bir yaklam kullanmay dnmyorsak )
HTML / JavaScript / CSS zerinden Air kullanm yardmc olacaktr.
Eksileri : Air mobil gelitirme iin uzun vadeli bir strateji
olmayabilir.
41. 4. Sencha Sencha Touch native uygulamalar gibi olmak ya da
web uygulamalar oluturmak iin bir HTML5 mobil uygulama alandr. Yani
bir frameworktr. Sencha Touch ile yaplan uygulamalar Apache
Cordova/PhoneGap ve Sencha Touch'n native paketlerinde
kullanlr.
42. Artlar : Sencha Touch bir MVC tarz mimari , UI
bileenlerinin bir ktphanesi, dier zellikleri arasnda
geniletilebilir API ve UI temalar sunuyor. Native paketleme Apache
Cordova / PhoneGap veya Sencha SDK zerinden mmkndr. Eksileri :
Sencha Touch ile yazlm mobil uygulamalar Cordova / PhoneGap
uygulamalar ile ayn performans gstermeyebilir. Sencha Touch
uygulamalarn ek olarak native API'larla geniletmek istiyorsak zel
Apache Cordova / PhoneGap eklentilerini yazmak gerekir.
43. 5. QT Qt ("Cute") masast ve mobil platformlar iin bir apraz
platform gelitirme aracdr. Artlar : Qt, a, animasyonlar ve daha
fazlas gibi eyler iin sezgisel API'leri ieren ktphanelerin nemli
bir kmesini salar. Eksileri : Maliyeti yksektir.
44. HTML5 UYGULAMALAR HTML5 uygulamalar HTML5,JavaScript ve CSS
gibi standart web teknolojilerini kullanr. Tek bir kod kts ile
birden ok platformda altrabilme yaklamyla gelitirilmi mobil
gelitiriciler birok cihaz zerinde alan cross platformlu mobil
uygulamalar oluturur. Gelitiriciler yalnzca HTML5 ve JavaScript
kullanarak karmak uygulamalarn oluturabilmekle birlikte, oturum
ynetimi,gvenli evrimd depolama ve ilevsel native eriim gibi baz
nemli snrlamalarla kar karyadr. (kamera, takvim, corafi konum vb.
)
45. Artlar : HTML5 normal bir web uygulamasna benzerdir, daha
kk ekranda almak zere tasarlanmlardr. Bu uygulamalarn dalm ok
kolaydr. Sadece web sunucusu zerinde web uygulamas datlabilir ve
kullanclar kendi tarayclarndan eriebilirler. JQuery Mobile, Sencha
Touch ve mgwt gibi ok iyi mobil UI framework'leri vardr. Mobil
cihazlar iin eitli widget'lar salar. Onlar tarayclarda altndan beri
bu uygulamalarla muhtemelen tm platformlarda dar ulaabilirsiniz ve
tm akll telefonlar bir taraycya sahiptir. Bu uygulamalarn gelitirme
ve test ksmlar takm destei varsa normal web uygulamalarna benzer
olarak daha kolaydr.
46. Eksileri : Bu uygulamalarn native ilevselliine eriimi
yoktur. Performans native uygulamalarla uyumamaktadr. Bu
uygulamalar evrimd almaz. Aslnda evrimd modda alr ama native
uygulamalarla uyumamaktadr.
47. OS letim Sistemi in Yeni Programlama Dili Swift IOS iin
kullanlan IDE XCODE dur ve programlama dili Objective-c dir. Fakat
getiimiz yl sonlarnda Apple artk yeni bir dil yani swifti
kullanacan duyurdu. Swift gen bir dil olmas sayesinde Objective-Cye
oranla daha yetenekli; gelitiriciler dier dillerde bulunan ve
sevilen zellikleri bir araya toplam. Bir fonksiyondan birden ok
deer dndrme (Tupple), deiken tanmlarken her seferinde tipini
yazmaya gerek olmamas (Type Inference), Class-Struct- Enum
ierisinde baka Class-Struct-Enum tanmlayabilme (Nested Types), +,
-, *, / gibi standart operatrleri kendi tanmlarnn dnda kullanabilme
(Operator Overloading) ve hatta kendi operatrn tanmlama gibi
Objective-Cde olmayan pek ok zellik dile eklenmi. Swift kod yazma
srasnda Objective-Cye gre ok daha esnek. Swift hem Objective-C ile
uyumluyken hem de Objective-Cnin desteklemedii pek ok yeni zellii
destekliyor, dolaysyla bu da programcya sz dizimi dnda da bir
esneklik salyor. Buna en gzel rnek olarak generic kullanm
verilebilir. Apple Swift iin baz dzenlemeler yapsa da
ktphanelerinde genel olarak C, C++ ve Objective-C kullanyor.
48. SWFTN OBJECTVE-CDEN FARKLARI Komutlarn sonuna noktal
virgl(;) koymanza gerek yoktur. Yalnz bir satrda birden fazla komut
varsa komutlarn aralarna noktal virgn koymanz gerekir, Generic
Programming Header dosyasna gerek yoktur, Fonksiyonlar birinci snf
nesnelerdir, Operatrler snflar iin yeniden tanmlanabilir, Yeni
operatrler yaratlabilir, Switch blogunda break kullanmaya gerek
yoktur. Switch kullanmnda farkl olarak fallthrough ifadesi
gelmitir, Yeni eklenen operatrler vardr, String deikenler Unicodeu
tamamen desteklemektedir.
49. SWFT VE OBJECTVE-C BENZERLKLER Deiken tipleri (int, string,
float vs) ayndr, Objective-cde kullanlan operatrler Swiftte de
vardr, Grup ifadeler de ssl parantez { } kullanlr, Deiken
tanmlamalar = iaretiyle yaplr ve karlatrma ilemi == eklinde yaplr.
Kontrol deyimleri (if, while, for vs) kullanmlar ayndr, Array
tanmlamalarnda keli parantez kullanlr.
50. FLASH 'n Mobil Cihazlardaki Hakimiyeti Accelerometer: Mobil
cihazdaki ivmelerlerden alnan deerler ile uygulamalara yn
verilebiliyor. Mesela kullanc telefonunu saa doru ediinde Flashta
yer alan bir topu saa doru yuvarlayabiliriz. Geolocation: Cihazn
anlk olarak GPS verilerini alabiliriz. Touch: Kullancnn ekran
zerindeki dokunularn ayn Mouse ile tklama olayn algladmz gibi
alglayabiliriz. MultiTouch: Kullancnn ekran zerindeki birden fazla
dokunuunu alglayabiliriz. Geusture: Kullancnn eitli parmak dokunuu
ve hareketlerini alglayabiliriz. Mesela kullanc ekranda bir alana
parman koyup baka bir alana parman srdnde, kullancnn hangi eksende
hangi dorultuda parman srdn alglayabiliriz. Kamera ve Mikrofon:
Cihazn kamerasndan grnt veya video alp kaydedebiliriz. Ayn ekilde
mikrofondan da ses alp kaydedebiliriz. SQLLite: SQLLite ile btn
veritaban ilemlerimizi gerekletirebiliriz.
51. Flash Kullanmnn Avantajlar Flash ile gelitireceimiz
uygulamalar hem browser zerinden, yani internet zerinden hem de
direkt olarak cihaz zerinden alabilecektir. Bu avantaj sadece
Flashta geerlidir. Bir uygulama gelitirirken bunu ok kolay bir
ekilde webde yaynlamak zere de sunabilirsiniz. Hazrlayacanz
aplikasyonlar kolaylkla hem Android hem de iOS iin
yaynlayabilirsiniz. Dier SDKlar ve APIler gibi baka baka yazlmlar
kullanmanza gerek kalmaz. Flash ile 3. parti yazlmlar ve APIleri
kullanabilirsiniz. rnein; grafik dzenlemeleri iin Photoshop, 3D
oyunlar gelitirmek iin Away3D, multiuser uygulamalar gelitirmek iin
Cirsus (eski adyla Stratus) kullanabilirsiniz
52. Flash ile kullanacanz ActionScript 3.0 dilini kullanmak ok
kolaydr ve Javadaki gibi ufak bir ilemi gerekletirmek iin
sayfalarca kod yazmanz gerekmez. Mzik ve video gibi dosyalar Flash
ile oynatmak ve stream kullanmak Flashta ok kolaydr. Flash ile XML
kullanlabilir ve bu ekilde veri ak da ok kolaydr. Flash hzl alr,
bataryay ve hafzay az kullanr. eitli optimizasyon yntemleri ile en
dk boyut, en iyi performans ve en iyi grnt kalitesi aplikasyonlar
oluturulabilir. Test, simlasyon ve debug aralar gelimitir. Flash,
artk btn yazlm dnyasnn stnln kabul ettii ve her alanda uygulama
gelitirmek iin kullanlan gl bir aratr.
53. Flash Kullanmnn Dezavantajlar Java'ya gre daha yava
almaktadr Adobe rnlerinin pahal olmas ve srekli olarak yeni srm
karlmas bir dezavantaj saylabilir.
54. htiya duyulan zm, kullanc istek ve deneyimlerini gz nnde
bulundurarak, uygulama gereksinimlerini karlayacak ekilde uygun
seimler yapmaktr.