İçeriğe geç

Expo vs CLI karşılaştırması

React native geliştirme yaparken kullanılan 2 araçtan söz edecek olursan biri CLI doğrudan react native için kendi uygulama oluşturma aracı ve diğeri ise expo. Ben expo kullanıyorum ama bunun birçok sebebi var öncelikle kolay geliştime yapabilme. Aynı anda tek bir ekrandan hem android hemde ios derleme başlatabilme gibi exponun kolaylıkları varken apk çıkartmada bekletmesi kimi zaman sizi üzecektir.

CLI:

Avantajları:

  • Java / Objective-C ile yazılmış yerel modüller ekleyebilirsiniz (muhtemelen en güçlü özellik)
  • Yapılar üzerinde kontrol sahibi olacaksın.

Dezavantajları:

  • Projeleri çalıştırmak için Android Studio ve XCode gerekir
  • Mac olmadan iOS için geliştiremezsiniz
  • Test için cihazın USB üzerinden bağlanması gerekir
  • Fontların XCode’da manuel olarak içe aktarılması gerekir
  • Uygulamayı paylaşmak istiyorsanız .apk / .ipa dosyasının tamamını göndermeniz gerekir
  • Paketten çıkarılmış JS API’leri desteklemez, örneğin Push-Notifications, Asset Manager, her kütüphane npm ile bağlantılı olmaları gerekir
  • Çalışan bir projenin doğru şekilde kurulması (cihaz yapılandırmasını dahil etmek) oldukça karmaşıktır ve zaman alabilir

Expo:

Avantajları:

  • Bir proje oluşturmak kolaydır ve birkaç dakika içinde yapılabilir
  • Üzerinde çalışırken projeyi açabilirsiniz
  • Uygulamayı paylaşmak kolaydır (QR kodu veya bağlantı yoluyla), tüm .apk veya .ipa dosyasını göndermek zorunda değilsiniz
  • Uygulamayı çalıştırmak için derlemeye gerek yok
  • Bazı temel kütüphaneleri standart bir projeye entegre eder (Push Notifications, Asset Manager, …) Push Notifications oldukça kolay!
  • ExpoKit’e çıkarabilir ve bazı Expo özelliklerini kullanarak devam eden yerel kodu entegre edebilirsiniz, ancak hepsini değil
  • Expo .apk ve .ipa dosyaları oluşturabilir (Expo ile mümkün olan mağazalara dağıtım)

Dezavantajları:

  • Yerel modüller ekleyemezsiniz (muhtemelen bazıları için gamechanger) DeviceInfo da kullanılamıyor malesef
  • Objective-C / Java’da yerel kod kullanan kitaplıkları kullanamazsınız
  • Standart Hello World uygulaması yaklaşık 25 MB büyüklüğündedir (entegre kütüphaneler nedeniyle)
  • Online derleme işlemi uzun sürmesi ve sürekli online olarak geliştirme yapılması
Tarih:React Native

3 Yorum

  1. Rainbow Rainbow

    Githubta çok güzel uygulamalar görüyorum ancak Expo ile yazılmış. Ben Expo kullanmadan onlara normal react native projesine dönüştürmek istiyorum. Bunu nasıl yapabilirim. Kısacası Expo ile yazılmış bir uygulamadan Expo’dan nasıl kurtarılır ?

    • Merhaba,
      “expo eject” komutu ile RN CLI projesi haline dönüştürebilirsin.

  2. emre emre

    merhaba biraz uzun olacaktımama kısa ttmak ıstıyorum expo ile geliştirrelm bi pre var ve baya sıkıntılı hiç bir şekilde fribase destek vermıyor ios ve android oarak acamıyorsunuz ! expo yu rn cli nasıl dönustubılırım !!!

Rainbow için bir yanıt yazın Yanıtı iptal et

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir