Geleceği Yazanlar

Cross-Platform ve Geleceği: Native Programlama

Native programlamadan bahsetmeden önce, diğer cross-platformları geliştirme konularına değinmek gerekir. Cross-platform (çapraz platform), uygulamalar geliştirmek için farklı geliştirme ortamları ve farklı teknolojiler kullanır. Cross-platform geliştirmenin amacı “Tek bir yerde yazılan kodlar, her platformda çalıştırılabilir.” olmasıdır.

Çalışma Yapılarına Göre Cross-Platform Çözümleri

 

Cross-platform çalışma yapılarına göre Hybrid (hibrit) veya Native (yerel) geliştirme ve ortam teknolojilerine sahiptir. Burada tercihiniz uygulamanızın ihtiyaç ve gereksinimlerine bağlı olmalıdır. En temel örneğini vermek gerekirse cihazınızın donanımsal özelliklerine erişim gerektiren bir uygulama için Native (yerel);  HTML5, CSS3 ve Javascript kullanarak web tabanlı bir uygulama geliştirmek istenirse Hybrid (hibrit) çözümler tercih edilebilir.

 

Native ve Hybrid Uygulama Arasındaki Farklar

 

Net bir yanıt vermek doğru değildir. Native uygulamalar cihazınızın donanımsal özelliklerini kapsayan projeler de kullanılmaktadır. Hybrid uyulamalar ise bu ihtiyaçları karşılayamazlar.

 

Hybrid uygulamaların maliyetleri daha düşüktür, Native uygulamalar da geliştiriciler platform ya da cihaza özel geliştirmelerde bulunmak durumundadır. Hybrid uygulamalar ise tüm platformlarda ortak şekilde geçerli çalıştırılabilir. Native uygulamalar, hybrid uygulamalar göre çok daha kısa sürede tamamlanabilir.

 

Native Mobil Uygulama Nedir?

 

Native uygulama demek sadece tek bir işletim sistemi için geliştirilen uygulama demektir. Mobil uygulama geliştirme konusunda akla gelen çözüm native uygulamadır. Mobil uygulamalar ilk native geliştirme ortamları ile hazırlanmıştır.

 

Native Mobil Uygulama Geliştirme Süreci

 

Native mobil uygulamalar geliştirmek için öncelikle kendi kimliğinizi belirlemeniz gerekiyor.

 

Örnek vermek gerekirse;

 

Siz Turkcell TV+ mobil uygulamasını geliştiriyorsunuz ve Iphone 13 piyasaya sürülürken cihaza yeni özellikler eklenmiş. Ekran boyutu değişmiş, ekrana bir çentik atılmış veya kaldırılmış, GPS’e algılama sistemi değişmiş vs. bu gibi durumlarda geliştirilen uygulamanız için kritik bir öneme sahip ise cihazda gerçekleştirilen güncellemelerin uygulamanızdaki etkisini anında verebilmeniz gerekir.

 

Native Mobil Uygulama Geliştirme Teknolojileri

 

React Native; JavaScript'i programlama dili olarak kullanan bir framework’dür. Ayrıca; C, Swift ve Java gibi dillerde modüller yazılabilmesi react-native’in güçlü yanını oluşturmaktadır. React ile birlikte daha güçlü bir geliştirici community’sine sahip olması diğer native teknolojilerine göre daha fazla kaynak ve dökümana ulaşmanızı sağlamaktadır.

 

Flutter; iOS, Android ve Google Fuchsia için uygulamalar oluşturmak üzere tasarlanmıştır. Yeni bir platform olmasına rağmen güçlü native geliştirme teknolojilerinden biridir. Google tarafından geliştirilen modern bir uygulama geliştirme kitidir.

 

Xamarin; Windows, iOS ve Android gibi farklı platformlar için tek bir .net kodu kullanarak uygulamalar oluşturmanıza olanak sağlar. Xamarin cross-platform aracının en iyi yanı, yerleşik tüm uygulamaların bir kullanıcının kullanmak istediği şekilde çalışan native arabirimleri kullanması nedeniyle native uygulamalar gibi görünmesi ve hissedilmesidir.

 

Unity3D; Bu cross-platform uygulama geliştirme aracı, kesinlikle inanılmaz grafik kalitesi nedeniyle çok popülerdir. Unity3D aracı ile uygulamanızı veya oyunlarınızı, birçok platforma aktarabilirsiniz.

 

Hangi Native Mobil Uygulama Teknolojisini Kullanmalıyım?

 

Yukarıda kısaca açıkladığımız teknolojiler dışında birçok popüler ya da az popüler native geliştirmek teknolojileri bulunmaktadır.

 

Peki geliştirme teknolojileri konusunda nasıl tercih yapmalıyız?

 

Yazımızının “Uygulama Geliştirme Süreci” kısmında bahsettiğimiz örnek üzerinden düşünelim. Eğer siz react-native ya da flutter kullanıyorsanız, react-native ya da flutter community’leri cihaza gelen geliştirme ile ilgili eksiklikleri kendi teknolojilerinde de güncellemesi gerekmektedir. Eğer böyle bir güncelleme eksikliği varsa güncellemenin gelmesini beklemek zorundasınız. Aksi durumda kendiniz geliştirmelerini yapmanız gerekecektir.

 

Bu durumdan dolayı dinamiklerin geliştirilmesine hızlı adapte olmak zorunda olan firmalar; native framework teknolojileri yerine, native diller ile geliştirmeler yapmaları daha doğru olacaktır. Dinamiklere hızlı adapte olma zorunluluğunuz olmayacak ise react-native ve flutter gibi framework teknolojileri ile uygulamanızın geliştirilmesi daha mantıklı olabilir.

 

Ayrıca; react-native ve flutter karşılaştırma veya seçim yapmamız gerekirse, burada karar yine tamamen yaptığınız işe bağlıdır. İkisinin de kendisine göre artı ve eksileri bulunuyor.

 

React Native; daha eski bir ürün, community’si daha geniş ve web geliştirme becerisi olan bir geliştirici için yakın bir konu olmaktadır. Daha kolay öğrenirken, performansı görece daha düşük kalabilmektedir.

 

Flutter ise react-native’e göre daha yeni ve community’si düşük ama performansı daha yüksektir. Yazım şekli tek bir düzene sahiptir, bu yüzden yeni başlayanlar için daha basitken web geçmişi olan bir geliştirici için daha zor olabilir.
Burada karar tamamen kendi ihtiyaçlarınıza ve müşterinizi ihtiyaçlarına göre verilmelidir.

 

React Native İle Yapılmış Uygulamalar Nelerdir?

 

React Native tartışılmaz bir şekilde cross-platform uygulama geliştirme için kullanılacak iyi bir platformdur. Çünkü kaynak kodunuzu yorumlar ve daha kısa sürede native öğelere dönüştürür. Hem Facebook hem de Instagram, React Native'i dünyanın en çok kullanılan uygulamaları olan native uygulamalarını oluşturmak için kullanıldı. Geliştirilmelerinin ilk test edileceği uygulamaların önemini göz önüne alırsak daha güncel ve güven veren bir native mobil uygulama teknolojisi olarak kabul edilebilir.

 

Yorumlar

Ramazan
18.04.2022 - 06:29

Teşekkürler 

Mustafa Oğuz Baran
19.04.2022 - 02:29

Teşekkürler, Flutter eğitimini dört gözle bekliyoruz. :)

noha ahmed
15.05.2022 - 07:38

All bba cambridge university students at Cambridge Corporate University attend the BBA- Foundation Module(BBA/FM410) as the first compulsory course in their program The module which lasts 10 weeks offers an intensive introduction to the corporate study system at the university in addition to subjects focus on Academic & Technical Writing (ATW) offered in collaboration with the YvonPfeifer Writing (YWC) at CCU Case-Studies methodology and analysis and issues in time management and business communication
The BBA degree entitled Bachelor of Business Administration at CCU lasts three years and includes a 12-month major placement with 24 weeks BBA Project All Business Studies pathways are made up of 12 modules; each lasts for 10 weeks representing the BBA course track plus 24 weeks BBA Project The first two modules are the same as the first two modules in the other Business Studies pathways The core courses of the programs are covered in the first year The final year (third year) covers the major course-track and project Students admitted to the Bachelor of Business Administration Program (BBA) program at CCU can choose among nine different majors providing that modules' Students can choose among the following majors: International Business (BBA-IB) Computer science (BBA-CS) Private Banking (BBA-PB) Government & Economy (BBA-GE) Pharmaceutical Industry Management (BBA-PIM) Linguistics and Culture (BBA-LC) Media Management (BBA-MM) Logistics & Supply Chain Management Supply chain management (BBA-LSM) artificial intelligence & robotics (BBA-AIR)
Business Administration
All BBA students at cambridge corporate university attend the BBA- Foundation Module(BBA/FM410) as the first compulsory course in their program The module which lasts 10 weeks offers an iensive introduction to the cambridge corporatestudy system at the university in addition to subjects focus on academic & Technical Writing and the YvonPfeifer Writing offered in collaboration with the CCU Case-Studies methodology and analysis of issues in time management and business communication