Platformlar arası çerçevelere genel bakış, flutter ve react native performans karşılaştırması
Cross-platform frameworks overview, flutter and react native performance comparison
Yazar: CUMALİ TEKSÖZ
Danışman: DR. ÖĞR. ÜYESİ ADEM ÖZYAVAŞ
İstanbul Aydın Üniversitesi / Lisansüstü Eğitim Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı / Bilgisayar Mühendisliği Bilim Dalı
Derece: Yüksek Lisans, 2021
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Giderek yaygınlaşan mobil cihazlar (tablet, telefon, vb.) ile birlikte yazılım sektörleri de değişmektedir. Daha doğru bir ifade ile değişime ayak uydurmak durumunda kalmışlardır. Firmalar farklı platformda bulunan müşterilerine/kişilere ulaşabilmek için, her işletim sistemine (Android, ISO, macOS, Windows) ve cihaza uygun yazılımlar geliştirmek durumunda kalmışlardır. Bu sorun, firmaları yazılım alanına ayırmaları gereken maliyeti yükseltmektedir. Farklı platformlara uygun yazılımlar hazırlanarak, bu yazılımları mobil marketlere yüklenmekte ve bu süre içinde zaman kaybı yaşanmaktadırlar. Bu sorunlara çözüm olarak geliştirilen çapraz platform yazılımlar, bu çalışma kapsamında ele alınarak incelenmiştir. Çapraz Platform yazılımlar veya bir diğer adı platform bağımsız yazılımlar farklı işletim sistemlerinde çalışabilen yazılım geliştirme kitleridir. Platform bağımsız yazılımlar ile geliştirilen uygulamalar içindeki kütüphane dosyaları sayesinde tekrarlanabilir kod blokları oluşturarak bunları kullanabilmektedirler. Bu tekrarlama işlemi sayesinde işletmelere maliyetten kazanç sağlarken, yazılım geliştiricileri için ise zamandan tasarruf sağlamaktadır. Gelişmiş birçok Çapraz Platform içerisinde seçilen iki Yazılım Geliştirme Kiti (SDK) Flutter ve React Native yazılımlarının çalışma mimarisi incelenerek farklı cihazlar üzerinde testler yapılmıştır. Yapılan bu testler sonucu, İşlemci, Ram bellek, Batarya, FPS, ve Uygulamaların bellek miktarları tespit edilmiştir. Testlerden elde edilen veriler karşılaştırılıp değerlendirilmiştir. Aynı zamanda bu çalışmada Yazılım Geliştirme Kitleri (Flutter ve React Native) avantaj ve dezavantajları incelenmiştir. Değerlendirmelerde kullanıcı deneyimlerinin de önemi göz önünde bulundurularak üniversitede ilgili bölümlerde (ön lisans, lisan ve yüksek lisans)  eğitim gören veya sahada yazılım alanında çalışmakta olan kişilerden iki platform ortamında yapılan yazılımlar ile deneyimlerinin paylaşılması istenerek toplanan veriler üzerinde değerlendirmeler yapılmıştır. 

     Anahtar Kelimeler: React Native, Flutter, SDK, Çapraz Platform Yazılımlar

Abstract:
Along with the increasingly widespread mobile devices (tablets, phones, etc.), the software industry had to keep up with this change. Companies need to develop software suitable for each operating system (Android, ISO, macOS, Windows) and device in order to reach their customers on different platforms. This problem, in addition to allocating high costs to the software field, also causes loss of time in the process of preparing software suitable for different platforms and uploading it to the market. Cross-platform software which is developed as a solution to this problem has been examined within the scope of this study. Cross-platform software, or platform-independent software, is software development kits that can run on different operating systems. Thanks to the library files in the applications developed with platform-independent software, they can create repeatable code blocks and use them. Thanks to this repetition process, while providing cost savings to businesses, time is saved for software developers. The working architecture of two Software Development Kits (SDKs) Flutter and React Native, selected from among many advanced Cross-Platforms, was examined and tests were carried out on different devices. As a result of the tests, performance tests have been made to compare the amount of CPU, RAM memory, Battery, FPS, and memory of the applications. The data obtained as a result of these tests were compared and evaluated. At the same time, the advantages and disadvantages of the mentioned Software Development Kits (Flutter and React Native) are examined. Considering the importance of user experience in the evaluations, people studying at the relevant departments (associate, undergraduate and graduate) at the university and working in the field of software were asked to share their experiences with the software made in two platforms and included in order to increase objectivity in the evaluation of software development kits.
Key Words: React Native, Flutter, SDK, Cross-Platform Software.