React Native, geliştiricilere iOS ve Android platformları için yerel uygulamalar geliştirme olanağı sunan popüler bir çerçevedir. react-native-config kütüphanesi ile birlikte kullanıldığında, uygulamanın geliştirme, test ve üretim gibi farklı aşamaları için ortam değişkenlerinin yönetilmesi kolaylaşır. Bu rehber, environments klasörü altındaki development.env, staging.env, production.env dosyalarını kullanarak Android ve iOS için ortam değişkenlerinin nasıl yönetileceğini detaylandırır.
React-native-config Kurulumu ve Yapılandırması
react-native-config kütüphanesi, React Native projelerinde farklı ortamlar için ortam değişkenlerini kolayca yönetmenize olanak tanır. Bu, geliştirme, test ve üretim gibi çeşitli aşamalarda uygulamanızın farklı yapılandırmalar kullanmasını sağlar.
Kurulum Adımları
Kütüphaneyi projenize eklemek için terminalinizi açın ve aşağıdaki komutu çalıştırın:
veya
Android İçin Yapılandırma
react-native-config'in Android platformunda düzgün çalışabilmesi için, app/build.gradle dosyasında aşağıdaki satırı eklemeniz gerekir:
Bu satır, react-native-config tarafından sağlanan dotenv.gradle scriptini projenize uygular. Bu script, ortam değişkenlerinin uygulama tarafından okunabilmesi için gerekli yapılandırmaları içerir.
iOS İçin Yapılandırma
iOS'te, react-native-config kütüphanesini kurduktan sonra, CocoaPods bağımlılıklarınızı güncellemeniz gerekir. Bu, kütüphanenin iOS projenizle düzgün bir şekilde entegre olmasını sağlar. Terminalinizi açın ve aşağıdaki komutu çalıştırın:
Bu komut, Podfile'ınızdaki tüm bağımlılıkları yükler ve günceller, react-native-config dahil. Böylece iOS projeniz, yeni eklenen kütüphane ile uyumlu hale gelir.
Çevre Dosyaları ile Çalışma
environments klasöründe, her bir ortam için ayrı .env dosyaları bulunur:
development.env: Geliştirme ortamı için. staging.env: Test ve ön üretim ortamı için. production.env: Canlı, üretim ortamı için.
Bu dosyalar, API URL'leri, anahtarları ve diğer önemli değişkenleri içerir.
Android için Ortam Yapılandırması
Android projelerinde, app/build.gradle dosyasına eklenen bir görev (task) ile farklı .env dosyaları yönetilir. Bu görev, seçilen ortama uygun .env dosyasını projenin kök dizinine kopyalar:
Bu görev, her build işlemi öncesinde çalışacak şekilde ayarlanmalıdır. Bu sebeple bu kodun hemen altına aşağıdaki kod eklenmelidir. Her build alındığında environments klasörü altındaki ilgili env dosyasını build alınan variant'a göre .env dosyasına yazacaktır.
iOS için Ortam Yapılandırması
iOS'te ortam yapılandırması, Xcode içerisinde bir "Run Script" adımı ekleyerek gerçekleştirilir. Bu script, derleme işlemi sırasında uygun .env dosyasını seçer ve projenin kök dizinine kopyalar. Xcode'da projenizin ayarlarına gidin, "Build Phases" sekmesine tıklayın ve "New Run Script Phase" seçeneği ile yeni bir script ekleyin. Script içeriğine aşağıdaki komutları ekleyin:
Ayrıca, özel bir yapılandırma (örneğin "Staging") için Xcode'da yeni bir "Build Scheme" oluşturmanız ve bu scheme altında "Build Phases" bölümüne yukarıdaki "Run Script" adımını eklemeniz gerekir. Xcode'da "Product" menüsünden "Scheme" -> "Edit Scheme..." seçeneğine giderek yeni bir scheme oluşturabilir ve özel yapılandırmalarınızı burada yönetebilirsiniz.
Xcode'u açıp kapatmanın, özellikle iOS için yapılandırma değişikliklerinin uygulanması adına önemli olduğunu unutmamak gerekir. Yapılandırma değişiklikleri yaptıktan sonra, özellikle ortam değişkenlerinde yapılan güncellemelerin etkin olabilmesi için Xcode'un yeniden başlatılması faydalı olacaktır. Bu basit adım, yapılandırma değişikliklerinin tam olarak uygulanmasını sağlar ve potansiyel sorunların önüne geçer. Bu nedenle, iOS projelerinde yapılandırma değişiklikleri sonrasında Xcode'un kapatılıp açılması iyi bir uygulamadır.
Sonuç olarak, React Native ve react-native-config kullanarak ortam değişkenlerinin yönetilmesi, uygulama geliştirme süreçlerini önemli ölçüde iyileştirir. Bu yöntemler, projelerin farklı ortamlarda verimli bir şekilde çalışmasını sağlayarak, geliştirme ve bakım süreçlerini kolaylaştırır.