Çapraz platform mobil uygulama geliştirme araçlarının karşılaştırılması ve değerlendirilmesi
Comparison and evaluation of cross platform mobile application development tools
Yazar: MEHMET IŞITAN
Danışman: DR. ÖĞR. ÜYESİ MURAT KÖKLÜ
Selçuk Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2020
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control ; Bilim ve Teknoloji = Science and Technology
Dizin: Mobil uygulama = Mobile application ; Program geliştirme = Program development ; Yazılım geliştirme = Software development

Özet:
Günümüzde mobil cihazlara ait pek çok farklı işletim sistemi platformu bulunmaktadır. Piyasada kullanılmış ve kullanılmaya devam eden Blackberry, Ubuntu, Symbian, BADA, Palm, Maemo, Meego, Verdict, Open WebOS gibi işletim sistemleri olsa da en çok kullanılanları Android, IOS ve Windows Phone'dur ve bu üçünün de yazım dili ve platformları birbirinden tamamen bağımsızdır. Dolayısıyla her işletim sisteminde çalışacak program da o sisteme uygun şekilde geliştirilmelidir. Bu zorunluluk, mobil uygulama geliştiricilerini oldukça zorlu, vakit alıcı ve maliyetli bir sürece itmektedir. Bu sorunun çözümü için tek seferde yazılan kodla daha hızlı, daha kolay ve daha az maliyetle ihtiyaç duyulan platformlara uygulama çıktısı verecek frameworkler geliştirilmiştir.
Çapraz platform mobil uygulama geliştirme araçları olarak adlandırılan bu sistemlerin son zamanlarda çeşitlenmesi ile hangisinin tercih edilmesi gerektiği, geliştiriciler açısından merak konusu olmuştur. Her birinin kendi aralarında artı ve eksi yönleri bulunmaktadır ve geliştirilecek programın içeriğine göre bile biri diğerine üstünlük sağlayabilmektedir. Ayrıca bu geliştirme ortamlarında kullanılabilecek oldukça fazla 3. parti yazılım bulunmaktadır. Bu yazılımların çeşitliliği, düzgün, hızlı ve hatasız çalışması da seçimde etkili olan parametrelerden biri olmaktadır. 
Bu çalışmada, son dönemlerde çıkan çapraz platform mobil uygulama geliştirme araçları da dahil olmak üzere her birinin artıları ve eksileri bir geliştiricinin bakış açısı baz alınarak ayrı ayrı değerlendirilip ölçümleri yapılacak ve işlemci, bellek, pil ve ağ kullanımı, kod yapısı, popülarite, üçüncü parti yazılım desteği, açılma(render) süreleri, hız-performans gibi konularda karşılaştırmalarının yapılarak geliştiricilere kendi ihtiyaçlarına hangi frameworkün daha uygun olduğunu bulmasına yardımcı olunması da hedeflenmiştir.

Abstract:
Today, there are many different operating system platforms for mobile devices. Although there are operating systems such as Blackberry, Ubuntu, Symbian, BADA, Palm, Maemo, Meego, Verdict, Open WebOS that have been used and continue to be used in the market, the most used ones are Android, IOS and Windows Phone and the writing language and platforms of all three are completely independent from each other. Therefore, the program to run on each operating system should be developed in accordance with that system. This obligation forces mobile application developers to have a very difficult, time-consuming and costly process. In order to solve this problem, frameworks have been developed to give application output to the platforms needed faster, easier and with less cost with the code written at once.
With the recent diversification of these systems, which are called cross platform mobile application development tools, which one should be preferred has been a matter of curiosity for developers. Each has its own pros and cons, and even depending on the content of the program to be developed, one can be superior to the other. There is also quite a lot of 3rd party software that can be used in these development environments. The variety, fast and error-free operation of these software is also one of the effective parameters in the selection.
In this study, the pros and cons of each, including the recent cross-platform mobile application development tools, will be evaluated and measured individually based on a developer's perspective, and the processor, memory, battery and network usage, code structure, popularity, third-party software support, rendering times, speed-performance, etc., helping developers to find out which framework is more suitable for their needs.