Flutter Stateless Widget & Stateful Widget
Herkese merhabalar, bu blog yazımda Flutter’da yer alan Stateless Widget ve Stateful Widget nedir, aralarındaki fark nedir ve nasıl kullanılır sorularına yanıt veriyor olacağım.
Flutter, Google tarafından geliştirilen açık kaynak kodlu bir UI (kullanıcı arayüzü) framework’tür. Çeşitli platformlarda kullanılabilen mobil uygulamalar geliştirmek için oldukça popülerdir.
Flutter’da kullanılan widget türlerinden ikisi, “Stateless Widget” ve “Stateful Widget” olarak bilinir. Bu iki widget türü, kullanıcı arayüzü öğelerini oluşturmak ve yönetmek için kullanılır.
Stateless Widget
Stateless Widget, adından da anlaşılacağı gibi, durumsuz bir widget türüdür. Yani, bir kez oluşturulduğunda içerdiği verileri veya durumu değiştiremez. Stateless Widget’lar, uygulamanızın arayüzünde değişmeyen veya sabit olan öğeleri temsil etmek için idealdir. Örneğin, bir metin veya simge görüntülemek için kullanılabilirler. Stateless Widget’lar, “build” metodunu kullanarak görüntülenen öğeyi oluştururlar. Ancak, bu öğenin içeriği değiştirilemez.
class MyStatelessWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Text("Bu bir Stateless Widget");
}
}
Stateful Widget
Stateful Widget, durum (state) yönetebilen bir widget türüdür. Yani, içerdiği veriler veya durum zaman içinde değiştirilebilir. Stateful Widget’lar, kullanıcı girişi veya uygulama içi etkileşimler gibi dinamik içeriklerin görüntülenmesi için idealdir. Stateful Widget’lar, “createState” ve “build” metodlarını kullanarak görüntülenen öğeleri oluştururlar ve içeriklerini güncellemek için “setState” metodunu kullanırlar.
class MyStatefulWidget extends StatefulWidget {
@override
_MyStatefulWidgetState createState() => _MyStatefulWidgetState();
}
class _MyStatefulWidgetState extends State<MyStatefulWidget> {
int _counter = 0;
void _incrementCounter() {
setState(() {
_counter++;
});
}
@override
Widget build(BuildContext context) {
return Column(
children: [
Text("Bu bir Stateful Widget"),
Text("Tıklama Sayısı: $_counter"),
ElevatedButton(
onPressed: _incrementCounter,
child: Text("Sayı Arttır"),
),
],
);
}
}
Hangi Widget Türünü Kullanmalıyız?
Stateless Widget ve Stateful Widget, farklı kullanım senaryolarına sahiptir. Genel olarak, aşağıdaki yönergeleri takip edebilirsiniz :
✅ Eğer bir widget’ın içeriği veya durumu zaman içinde değişmeyecekse, Stateless Widget kullanabilirsiniz.
✅ Eğer bir widget, kullanıcı etkileşimleri varsa veya dinamik verilerle güncelleme işlemleri olacaksa, o zaman Stateful Widget kullanabilirsiniz.
Hangi widget türünü seçerseniz seçin, Flutter, uygulamanızın kullanıcı arayüzünü oluşturmak ve yönetmek için oldukça güçlü ve esnek bir araç sunar.
Bu blog yazımda, Stateless Widget ve Stateful Widget arasındaki temel farklarını ve nasıl kullanılacağını öğrendik. Her iki widget türü de Flutter geliştirme sürecinde önemli bir rol oynamaktadır ve hangi widget’ı seçeceğinizi belirlerken ihtiyaçlarınıza ve uygulamanızın gereksinimlerine dikkat etmelisiniz.
Bir sonraki blog yazımda görüşmek üzere, hoşçakalın, iyi kodlamalar. 😊