retry, Google tarafından geliştirilen ve asenkron bir fonksiyonu otomatik yeniden deneme mantığıyla sarmalayan bir Flutter paketidir. Özellikle ağ istekleri sırasında karşılaşılan geçici hatalarda, üstel geri çekilme (exponential back-off) algoritması kullanarak isteğin belirli aralıklarla tekrarlanmasını sağlar. Bu sayede uygulamaların ağ bağlantısı sorunlarına karşı daha dayanıklı olmasına yardımcı olur. Paket, Android, iOS, Windows, Linux, macOS ve web platformlarını destekler ve Dart SDK ^3.0.0 gerektirir. Sürüm 3.1.2, 16 Mayıs 2023'te yayınlanmıştır ve pub.dev üzerinde yüksek indirme sayısına sahiptir.
Hangi ihtiyaçlarda değerlendirilebilir?
- Ağ istekleri yapan ve geçici hatalara karşı dayanıklılık isteyen Flutter uygulamaları
- Sunucu yanıtlarında zaman aşımı veya 5xx hataları gibi geçici sorunlarla karşılaşabilecek sistemler
- Mobil ve web platformlarında tutarlı bir yeniden deneme stratejisi uygulamak isteyen geliştiriciler
Yaygın kullanım alanları
HTTP İsteklerinde Otomatik Yeniden Deneme
Uygulamanızda yapılan HTTP isteklerinde, ağ bağlantısı kopması veya sunucu kaynaklı geçici hatalar durumunda isteği otomatik olarak yeniden denemek için kullanılabilir. Üstel geri çekilme sayesinde sunucuya aşırı yük bindirilmez.
API Entegrasyonlarında Hata Toleransı
Üçüncü parti API'lere yapılan isteklerde, hız limiti aşımı veya geçici kesintiler gibi durumlarda isteğin belirli aralıklarla tekrarlanması sağlanarak başarı oranı artırılabilir.
Veri Senkronizasyonu
Mobil uygulamalarda arka planda veri senkronizasyonu yapılırken, bağlantı sorunları nedeniyle başarısız olan işlemlerin otomatik olarak yeniden denenmesi için kullanılabilir.
İncelenmesi gereken noktalar
- Paket yalnızca asenkron fonksiyonları destekler; senkron işlemler için uygun değildir.
- Yeniden deneme aralıkları ve maksimum deneme sayısı gibi parametrelerin dikkatli yapılandırılması gerekir; aksi halde gereksiz yere kaynak tüketimi olabilir.
- Üstel geri çekilme algoritması, bazı durumlarda toplam bekleme süresini uzatabilir; bu nedenle zaman hassasiyeti olan işlemlerde dikkatli kullanılmalıdır.
pub.dev
Bağımlılık ve geliştirme notları
retry paketi, Flutter projelerine pub.dev üzerinden eklenir. Paketin kullanımı için Dart SDK ^3.0.0 gereklidir. Kurulum, pubspec.yaml dosyasına bağımlılık eklenerek yapılır.
- 1pubspec.yaml dosyasına `retry: ^3.1.2` bağımlılığını ekleyin.
- 2Terminalde `flutter pub get` komutunu çalıştırarak paketi indirin.
- 3Kodunuzda `import 'package:retry/retry.dart';` ile paketi içe aktarın.
retry paketi, asenkron bir fonksiyonu `retry` fonksiyonu ile sarmalayarak yeniden deneme mantığı ekler. Paketin resmi dokümantasyonu, temel kullanım ve örnekler sunar.
- `retry` fonksiyonu, yeniden deneme sayısı ve bekleme süresi gibi parametrelerle özelleştirilebilir.
- Üstel geri çekilme algoritması, her denemede bekleme süresini artırır.
- Paket, tüm Flutter platformlarını destekler.
Hazır çözümün ötesinde
Özel geliştirme ne zaman değerlendirilebilir?
ZeplinGo olarak, Flutter projelerinizde retry paketinin kullanımını değerlendirebilir, ihtiyaçlarınıza uygun yeniden deneme stratejileri geliştirebiliriz. Ayrıca, özel senaryolar için mevcut paketin ötesinde özelleştirilmiş çözümler de tasarlayabiliriz.
Ücretsiz ön çalışma isteyin →Değerlendirme soruları
retry paketi hangi platformları destekler?
retry paketi; Android, iOS, Windows, Linux, macOS ve web platformlarını destekler.
retry paketi ücretsiz midir?
Evet, retry paketi açık kaynaklıdır ve pub.dev üzerinden ücretsiz olarak dağıtılmaktadır.
retry paketi hangi Dart SDK sürümünü gerektirir?
retry paketi, Dart SDK ^3.0.0 sürümünü gerektirir.