Merhabalar, bu konu hakkında türkçe bir konu göremedim o yüzden paylaşmak istedim kendi deneyim ve gözlemlerim ile Expo kullanmalıyımız, React Native Development tek başına yeterlimi onu inceleyelim.Avantaj ve Dezavantajları ile birlikte aşağıda listeliyorum.
React Native Projesine Expo ile Başlamak ?
Basitce Expo bir React Native araç kiti ,uygulama geliştirmeye hızlıca başlamamızı sağlar.Expo bizlere bir React Native uygulama üzerindeki tüm yükü ( test ve geliştirme ) üzerimizden alır.Bu komponentler Expo SDK içersinde yer alır.Bu sayede dev ortamı için Mac cihazınız olmadan sadece bir QR okutarak arkadaşınızın IOS/Android cihazı üzerinden uygulamanızı test edebilirsiniz.
Expo’nun Avantajları Neler ?
- Hızlı ve kolay proje kurulumu yapabilirsiniz.
- Expo CLI ile uygulama durumunu,testin anlık olarak telefonunuzda görebilirsiniz.Hatta uygulamayı taa Amerikadaki arkadaşlarınıza bir link göndererek direkt olarak test etmesini sağlayabilirsiniz.( Ki benim en sevdiğim özellik )
- Expo SDK’si bizlere kamerayı yönetme,bildirimleri yönetme,lokasyonu kullanma gibi her iki platform içinde çözümler sunar bu sayede zaman kazanmış oluruz.
- Uygulama için sertifika oluşturma gibi dertlerden bizi kolaylıkla kurtarır.
ve daha sayamadığım diğer özellikler…
Expo’nun Dezavantajları
- Java,Kotlin,Swift,Objective-C gibi native modülleri kullanamazsınız. ( Sadece destek veren veya çevrilmeye müsait olanları kullanabilirsiniz.Bazı modüller tam olarak çevrilemiyor. )
- Native linking gerektiren paketleri yüklemekte sıkıntılar ile karşılaşabilirsiniz.Yani Github’da bir paket gördünüz ve işinize yarıyor.Fakat Expo ile uyumlu olmayabilir.
- Expo uygulamanızın boyutunu yükseltebilir.Bunun için kendiniz bir optimizasyon yapmanız gerekiyor.
- Expo Client’ı bazen anlamsız hatalar verebiliyor.Yazdığınız kodun doğru çalıştığınıza eminsinizdir fakat cache’ı temizlemeniz gereken durumlar olabilir.
Ne zaman Expo Kullamalıyım ?
Şahsi olarak görüşüm :
- Eğer hızlı uygulama geliştirmeniz gerekiyorsa
- Uygulamanızda çok fazla Native Module kullanılmıyorsa
- Uygulama boyutunu problem etmiyorsanız
- Mac veya Android için test ortamınız kısıtlı ise
bu gibi durumlarda Expo kullanabilirsiniz.
Umarım Expo kullanıp kullanmama konusunda aklınızdaki soru işaretlerini silebilmişimdir 🙂