equatable, Dart ve Flutter uygulamalarında değer tabanlı eşitlik (value equality) kontrolünü kolaylaştıran bir pakettir. Normalde Dart'ta iki nesnenin eşitliğini kontrol etmek için == operatörünü ve hashCode metodunu elle override etmek gerekir. equatable bu işlemi otomatikleştirir, böylece kod tekrarını azaltır ve hata olasılığını düşürür. Paket, tüm Dart platformlarını (Android, iOS, web, Windows, Linux, macOS) destekler ve Flutter ile uyumludur. Sürüm 2.1.0, 5 Temmuz 2026'da yayınlanmıştır ve Dart SDK >=3.0.0
Hangi ihtiyaçlarda değerlendirilebilir?
- Dart ve Flutter geliştiricileri
- Nesne karşılaştırması yapan uygulamalar
- Test yazımında eşitlik kontrolüne ihtiyaç duyan projeler
Yaygın kullanım alanları
Model sınıflarında eşitlik kontrolü
Özellikle veri modelleri (User, Product vb.) için == ve hashCode override etmek yerine equatable kullanarak değer tabanlı eşitlik sağlanabilir. Bu, özellikle liste karşılaştırmaları ve state yönetiminde faydalıdır.
Test senaryolarında beklenen değer karşılaştırması
Birim testlerinde iki nesnenin eşit olup olmadığını kontrol etmek için equatable kullanılabilir. Bu sayede testler daha okunaklı ve bakımı kolay hale gelir.
State yönetiminde değişiklik tespiti
Flutter'da state yönetimi (örneğin Bloc) kullanırken, state'lerin eşitliğini kontrol etmek için equatable kullanılabilir. Bu, gereksiz rebuild'lerin önlenmesine yardımcı olur.
İncelenmesi gereken noktalar
- equatable, sınıfın tüm alanlarını eşitlik kontrolüne dahil eder; ancak liste veya harita gibi koleksiyonlar için özel bir işlem yapılmaz, referans eşitliği kullanılır.
- Paket, Dart SDK >=3.0.0 gerektirir; eski sürümlerle uyumlu değildir.
- Küçük bir paket olmasına rağmen, projeye bağımlılık ekler; ancak popülerliği ve bakımı iyidir.
pub.dev
Bağımlılık ve geliştirme notları
equatable paketini kurmak için pubspec.yaml dosyasına bağımlılık eklenir. Paket, tüm platformlarda çalışır.
- 1pubspec.yaml dosyasına dependencies bölümüne equatable: ^2.1.0 ekleyin.
- 2Terminalde flutter pub get komutunu çalıştırın.
- 3Kodunuzda import 'package:equatable/equatable.dart'; ekleyin.
equatable kullanımı oldukça basittir. Sınıfınızı Equatable sınıfından türetmeniz ve props listesini tanımlamanız yeterlidir.
- Sınıfınızı Equatable'dan extend edin.
- props getter'ını override ederek eşitlik kontrolüne dahil edilecek alanları listeleyin.
- == ve hashCode otomatik olarak oluşturulur.
Hazır çözümün ötesinde
Özel geliştirme ne zaman değerlendirilebilir?
ZeplinGo olarak, projelerinizde equatable paketini kullanarak değer tabanlı eşitlik kontrolünü nasıl uygulayacağınızı birlikte planlayabiliriz. İhtiyaçlarınıza göre özel çözümler geliştirebiliriz.
Ücretsiz ön çalışma isteyin →Değerlendirme soruları
equatable paketi ne işe yarar?
equatable, Dart'ta değer tabanlı eşitlik kontrolünü kolaylaştırır. == ve hashCode override etme ihtiyacını ortadan kaldırır.
equatable hangi platformları destekler?
equatable, Android, iOS, web, Windows, Linux ve macOS dahil tüm Dart platformlarını destekler.
equatable kullanmak için hangi Dart SDK sürümü gerekir?
equatable sürüm 2.1.0, Dart SDK >=3.0.0