Native vs Hybrid Uygulama

Merhaba arkadaşlar bu başlık altında Native uygulama ve Hybrid uygulama arasındaki farkları tartışacağız. Karşılaştırma yapabilmek için öncelikle tanımlarını bilmek gerekiyor.

Native Uygulama Nedir?

Mobil cihazın üzerinde çalışan işletim sisteminin yazılımsal ve donanımsal yapısına doğrudan erişebilen, cihazın kendi ana platformu tarafından desteklenen bir programlama dili ile yazılmış mobil uygulamalara denir. Örnek vermek gerekirse Android için Java’yı, IOS için Swift ve Objective C söylenebilir. 

Hybrid Uygulama Nedir?

Hybrid uygulama ise tek bir kod üzerinden yazılarak birden çok mobil işletim sisteminde çalışabilecek uygulamalara denir. Örneğin Cordova ile Hybrid uygulama geliştirmek mümkündür. Cordova sayesinde HTML, CSS ve JAVASCRIPT kullanarak mobil uygulama geliştirme imkanına sahipsiniz. Hybrid uygulamalar cihazın donanımsal ve yazılımsal ögelerine direkt erişemez. Bunun yerine ara katmanlar ile erişim sağlanır. Hybrid uygulamaların bir diğer adı da corss-platformdur (çapraz platform).

Native Vs Hybrid (Karşılaştırma)

İlk olarak Native uygulamaları ele alacağım. Avantajlarından bahsedecek olursam; performans olarak oldukça güçlü bir yanı var. İşletim sistemine tam olarak uyması ve işletim sisteminin özelliklerine doğrudan erişim imkanı Native uygulamaları cazip kılıyor. En çok fark yaratan özelliği ise işletim sistemine göre arayüz farkı olması. Yani bir program Android’de bir arayüze sahipken, aynı program IOS’da farklı bir arayüze sahip oluyor. Bu sayede kullanıcının cihazına göre daha uyumlu ve kullanımı kolay hale geliyor.

Olumlu özellikleri açısından ilgi çekici değil mi? 🙂 Peki hiç mi dezavantajı yok. Tabii ki var. Bu dezavantaj tabii ki biz yazılımcıları etkiliyor. Öncelikle Android uygulama geliştirmek için JAVA öğrenmeniz gerekiyor. IOS uygulama geliştirmek için de Objective C ve Swift öğrenmek gerekir. Durun daha bitmedi. Programlama dilini öğrendiniz. İyi güzel ancak hangi IDE ile kodlayacaksınız. Android için yine şanslı gününüzdesiniz. Andorid Studio, Eclipse veya NetBeans kullanabilirsiniz. Ancak IOS geliştirme için Xcode IDE’sini kullanmanız gerekir. Hepsi bir yana IOS geliştirici olmak için Mac OSX işletim sistemine sahip bir bilgisayarınız olması gerekiyor. Özetle Native uygulama kullanıcı için oldukça işlevsel ancak yazılımcı için zor ve maliyetli olabiliyor.

Hybrid uygulamaları ele alalım. Yukarıda anlattığım gibi önce iyi yönlerini görelim. Öncelikle bir defa kod yazıyorsunuz. Daha sonra bu kod kullandığınız IDE tarafından tüm işletim sistemlerine uyumlu uygulama çıktısı veriyor. Yazılımcı için işi oldukça kolaylaştırıyor. Ayrıca bakım ve güncelleme maliyeti daha düşük. Birden çok yazılımcı gerektirmez. Programlama dilini bilen bir yazılımcı tek başına Hybrid uygulama yazabilir. Tek seferlik yazılan kod sayesinde hızlı bir şekilde mobil uygulama geliştirmek mümkün. Bu yanlarını ele alınca Hybrid uygulama biz yazılımcılar için ilgi çekici olabiliyor.

Peki ya dezavantajları neler? Tıpkı native uygulamalarda olduğu gibi Hybrid uygulamalarında dezavantajları vardır. Örneğin tek bir arayüze sahip olması. Yani native uygulama gibi işletim sistemine özel bir arayüz sunmaz. Tek kod tek arayüz mantığı vardır. Şöyle ki siz Android bir cihazı baz alarak uygulama geliştirirsiniz. IOS işletim sisteminde çalıştırıldığında beklenilen randımanı vermeyebilir veya kullanım zorluğu ortaya çıkabilir. En büyük dezavantajı ise büyük bir performans sorunudur. Teknoloji geliştikçe bu durum düzeltilmektedir ancak yine de Native uygulamalar daha hızlıdır. Hybrid uygulama için çok fazla platform ve dil mevcuttur. Cordova, Titanyum, Smartface, PhoneGap örnek olarak verilebilir. Cordova ile kodlama yaptığınızı düşünün. Çalıştığınız firma PhoneGap ile çalışmaya başlamak istedi. O kadar çalışmalar boşa gitti. Artık C# yada VB bilmeniz gerekecek. Yoksa uygulama geliştiremezsiniz. Bu durumda zaman kaybı yaşayacaksınız.

Özet

Özetlemek gerekirse eğer kullanıcı deneyimine önem veriyorsanız Native uygulama geliştirme platformunu tercih etmeniz daha doğru olacaktır. Ancak freelance çalışan bir yazılımcı için Hybrid uygulama geliştirme platformu daha doğru bir seçim olacaktır. Yani tercih sizin. Müşterilerinize önem veriyorsanız Native, kendinize önem veriyorsanız Hybrid kullanmak doğru seçimdir. Sürekli olarak bu konu tartışılmaktadır. Rahatlığı sevenler Hybrid uygulamaları savunurken, müşteri deneyimini ön planda tutanlar Native uygulamaları savunmaktadır. Hangisini seçeceğiniz sizin elinizde. 

Bu makalemin de sonuna geldik. Bir daha ki makalede görüşmek üzere, esen kalın..

Like
Like Love Haha Wow Sad Angry
12142

2 Yorum

  • Yunus Emre Geldegül 24 Şubat 2019 Reply

    Ellerine sağlık kardeşim 🙂 Xamarin native uygulamalar için değil mi? Sanırım bir karışıklık olmuş orada. Başka bir blog yazısında ayrıca xamarinden bahsetmeni öneririm 🙂 Ellerine sağlık

    • Oktay Karakaya 24 Şubat 2019 Reply

      Bilgilendirme için teşekkür ederim. Gerekli düzenleme yapıldı. Kısa zamanda Xamarin için blog yazacağım.

Bir cevap yazın

Yıkarı Çık
Aşağı İn