Herkese selamlar arkadaşlar ilk yazımda Expo mu CLI mı karşılaştırması yapayacağız.
Expo ve React Native CLI. Her iki yaklaşımın da kendine özgü avantajları ve dezavantajları vardır.
Expo, React Native uygulamaları oluşturmak için bir çerçeve ve platformdur. Bir React Native projesini oluşturma ve yapılandırmada yer alan karmaşıklıkların bir kısmını sizin için önden hallederek daha rahat başlangıç ve basit bir geliştirme deneyimi sağlamayı amaçlar.
Expo'nun Avantajları
Hızlı Başlangıç:Expo projelerini başlatmak oluştıurmak çok daha basit olduğunu iddia ediyorlar(bence değil ),
Önceden Oluşturulmuş Kütüphanelere Erişim: Exponun kendisine has bazı özel paketleri vardır bunları CLI projelerinde varsayılan olarak çalıştıramazsınız, ancak sonradan expo ekleyebilirsiniz buna ayrıca değineceğim, bu paketlerden bazılarını örnek verecek olursak expo camera, expo sensors, expo navigation vs vs.
Bu paketlerin yaptığı işleri CLI da yapmak için 3. taraf paketleri inceleyip işinize yarayanı seçmeniz gerekiyor. Her zaman tam aradığınız işlevli paketi bulamıyorsunuz.
Basitleştirilmiş Derleme Süreci:Expo, derleme araçlarını yapılandırma ve yerel kod derlemesiyle uğraşma ihtiyacını ortadan kaldırarak derleme sürecini sizin için yönetir.
Expo'nun Dezavantajları:
Sınırlı Yerel Modüller: Expo, belirli yerel modüllere erişimi kısıtlar; bu da belirli üçüncü taraf kitaplıkları entegre etmeye veya düşük seviyeli cihaz özelliklerine erişmeye çalışırken sınırlamalarla karşılaşabileceğiniz anlamına gelir.
Yapı Üzerinde Daha Az Kontrol: Expo ile, React Native CLI'ye kıyasla yapı yapılandırması ve özelleştirme seçenekleri üzerinde daha az kontrole sahip olursunuz.
Boyut ve Performans: Expo uygulamaları, React Native CLI uygulamalarına kıyasla daha büyük bir paket boyutuna sahip olma eğilimindedir ve bu da indirme ve yükleme sürelerini etkileyebilir.
Bu saydıklarımı göz önüne alarak Expo mu CLI mı sorusuna vereceğimiz yanıt Manuel vites mi Otomatik vites mi gibi bir soruya denk düşüyor aslında.
Expo bazı şeyleri önden hazırlar otomatik yapar ancak kontrolü tamamen ele almanıza izin vermez(Bunun için prebuild çözümü var).
CLI da ise neredeyse her şeyi manuel kontrol edebilirsiniz, ancak unutmayın ki her özgürlük bir sorumluluk getirir bu yani kontrol edebilirsiniz değil etmeniz gerekecek anlamına gelir.
Şimdi gelelim öznel yorumuma ben Exponun paketlerine ihtiyacım varsa ve Native koda da erişmek istiyorsam önümde 2 seçenek var, bunların birincisi Expoyu prebuild proje olarak başlatmak. Diğeri de CLI ile başlatılmış projeye Expo modules kurmak.
Eğer yeni başlayan birisi iseniz expo ile başlayabilirsiniz, bu sizi bir miktar rahatlatır ancak sonrasında ister istemez native koda bulaşmak zorunda kalacaksınız kaçarınız yok gibi bir şey.
Herkese bugsuz günler.