Çapraz platform programlama, tek bir platform için geliştirilen uygulamanın diğer platformlara uyarlanması işlemidir. Tek bir kod tabanı ile geliştirilen uygulamalar Android, Ios, Windows, Linux gibi birçok platforma uyarlanabilir. Bu sayede uygulama geliştirirken her platform için fazladan proje oluşturmaya gerek kalmayacak.
Çoğu programlama dilinde çapraz platform ile uygulama geliştirirken kullanılabilecek başlıca frameworkler vardır.
Bunlar Javascript dilinde React Native, Ionic, Sencha, PhoneGap Cordova, Ionic, Dart dilinde Flutter, Python dilinde Kivy, BeeWare, C++ Dilinde Qt ve C# dilinde Xamarin, Unity gibi frameworklerdir.
Çapraz platform uygulama geliştirmenin Native uygulama geliştirmeye göre avantajları
- Yazılan tek bir kod dizinini birden fazla platforma uyarlayarak uygulamanın çoklu platformda çalışmasını sağlamak.
- Geliştirme yaparken kullanılacak donanım ve yazılım araçları daha az olacağından geliştirme maliyetinin de daha az olması.
- Uygulama birden fazla pazarda ve çoklu bir kesime hitap edeceği için daha fazla kullanıcıya erişim sağlanacaktır.
- Her bir platform için farklı farklı geliştirici kullanılması yerine daha az sayıda geliştirici kullanarak takım maliyetinin de azaltılması.
- Tek bir kod dizini üzerinden çoklu platforma erişileceğinden daha az geliştirme zamanı olacaktır.
- Tek bir kod dizini olduğu için kod üzerinde yapılacak olan yazılım testleri de daha az olacaktır.
Çapraz platform uygulama geliştirmenin Native uygulama geliştirmeye göre dezavantajları
- Her platformun kendine has özellikleri olduğu için platformlara özel olan SDK bilgilerine erişilememesi.
- Her cihazın kendine has en-boy oranı ve çözünürlük değeri olduğu için tüm cihazlara uygun bir UI/UX tasarımı yapılması ve spesifik tasarım yapılamaması
- Küçük boyutlu uygulamalarda daha az performanslı çalışması.