React Native - Expo Neden Kullanmalıyım?

Ayberk Cakar
3 min readApr 12, 2022

--

Herkese Selamlar 👨‍💻

Bu yazımda React Native - Expo üzerine konuşuyor olacağız. Kendi deneyim ve gözlemlerimden yola çıkarak Expo kullanmalı mıyız, ne zaman ve hangi projelerde kullanabiliriz, avantaj ve dezavantajları neler gibi konuları inceleyeceğiz.

Öncelikle React Native ile mobil uygulama geliştirirken kullanılan iki araçtan bahsedecek olursak; bunlardan biri React Native’in kendi uygulama oluşturma aracı olan CLI ve bir diğeri ise bizim inceleyeceğimiz Expo.

Expo bizlere expo-cli üzerinden React Native projesi oluşturabilmemiz için destek oluyor. Proje oluşturma aşamasında bizlere projemizi hangi template ile oluşturmak istediğimizi soruyor, böylece bizim için uygun olan template ile projemize başlamamızı sağlıyor. Böylece uygulamamızı geliştirmeye hızlıca başlayabiliyoruz. Seçenekleri arasında bulunan tabs seçeneği ile ‘react-navigation’ ve TypeScript ile bir template oluşturması, hızlıca küçük demo uygulamalar oluşturmak için güzel özelliklerinden biri diye düşünüyorum.

Expo’nun güzel yanlarından bir diğeri ise uygulamayı geliştirirken test için gerekli olan ortamların problem olmaktan çıkması, android ve ios uygulamayı derlemek için windows ve mac bilgisayar aramak yerine, uygulamanızı expo üzerine yüklememiz yeterli oluyor. Uygulamamızın linkini istediğiniz kişiye vererek veya QR kodunu taratarak uygulamaya ulaşılmasını sağlayabiliyoruz. Uygulama geliştirirken kendi telefonunuz ile online olarak bağlantı kurmamız haline, uygulamayı telefonumuzda canlı olarak inceleyebilmemizde, expo’nun güzel özelliklerinden biri bence.

Expo’nun Avantajları Neler ?

  • Proje oluşturmak kolaydır, hızlıca yeni bir proje oluşturabiliriz.
  • Uygulamayı paylaşmak ve test etmek kolaydır. (Link veya QR kodu paylaşarak)
  • Android için Windows ve İos için Mac bilgisayar zorunluluğu kalmıyor.
  • Online bağlantı ile kendi telefonumuzdan uygulamayı anlık olarak test edebiliriz.
  • Aynı anda web, ios ve android derleme başlatabiliriz.
  • React Native CLI ile oluşturulmuş projelerin çalıştırılması biraz karmaşık olabiliyor, expo’da bu karmaşıklık azalıyor.
  • .apk ve .ipa dosyaları oluşturulabiliyor.

Expo’nun Dezavantajları Neler ?

  • Uygulama boyutları büyük oluyor.( Kendi içinde entegre ettiği kütüphanelerden dolayı)
  • Objective-C, Swift, Java, Kotlin ile yazılmış olan native kütüphaneleri kullanamayız.
  • Expo client bazen hata olmadığı halde hatalar verebiliyor, cache temizlenmesi durumunda bu hatalar çözülebiliyor.( Yazdığımız koddan eminiz fakat hata alıyoruz gibi durumlar)
  • .apk ve .ipa dosyları oluşturmak biraz meşakatli olabiliyor.

Expoyu Ne Zaman Kullanmalıyım?

  • Bazı nedenlerden dolayı, hızlı bir uygulama geliştirmek istiyorsak
  • Objective-C, Swift, Java, Kotlin ile yazılmış olan native kütüphaneleri kullanmamız gerekmiyorsa
  • Geliştirme ve test ortamı için problemler yaşıyorsak ( Mac bilgisayar yok İos uygulama nasıl olacak veya Windows bilgisayar yok Android uygulama nasıl olacak gibi)
  • Uygulama boyutunu bizim için problem değilse

o zaman işte, expo tam bize göre olabilir!

Yazımı okuduğunuz için teşekkür ederim, umarım sizler için yararlı olmuştur :)

İyi günler , İyi çalışmalar 😊

--

--