Flutter, Google tarafından geliştirilen bir açık kaynaklı mobil uygulama geliştirme framework'üdür. Flutter'ın temel yapı taşlarından biri "widget"tır. Flutter'da, kullanıcı arayüzünün farklı parçalarını oluşturmak ve yönetmek için widget'lar kullanılır. Flutter widget'ları iki temel tipte gelir: "stateless widget"lar ve "stateful widget"lar. Bu makalede, stateless widget kavramını ve kullanımını ele alacağız.
Stateless widget, Flutter'da durumu (state) olmayan, yani değiştirilemez widget'lardır. Bir stateless widget, yapılandırıldığı anda sabit kalır ve dışarıdan gelen verilere dayanarak UI'yi oluşturur.
Stateless widget'lar, uygulama arayüzünde statik içerik göstermek veya dinamik içerik göstermek için verileri kullanırken durumu değiştirmek zorunda olmadığımız durumlarda kullanılır.
Stateless widget kullanmak için aşağıdaki adımları izleyebilirsiniz:
Örnek Kod:
Aşağıda, basit bir stateless widget örneği verilmiştir:
import 'package:flutter/material.dart';
class MyWidget extends StatelessWidget
{
final String text;
MyWidget({required this.text});
@override
Widget build(BuildContext context)
{
return Container( child: Text(text), );
}
}
void main()
{
runApp( MaterialApp( home: Scaffold( body: Center( child: MyWidget(text: 'Merhaba, Dünya!'),
),
),
),
);
}
Bu örnekte, "MyWidget" adında bir stateless widget oluşturulmuştur. Bu widget, dışarıdan bir metin alır ve bu metni bir "Text" widget'ı içinde görüntüler. Ana uygulamada, "MyWidget" widget'ı "Center" widget'ı içinde kullanılmıştır.
Flutter'da, stateless widget'lar durumu değiştirmemiz gerekmeyen durumlar için idealdir. Verilere dayalı UI oluşturmak, yeniden kullanılabilir bileşenler oluşturmak ve performanslı uygulamalar geliştirmek için stateless widget'ları kullanabilirsiniz. Stateless widget'lar, Flutter'ın basit, hızlı ve etkileyici kullanıcı arayüzleri oluşturabilme gücünü artıran önemli bir bileşendir.
Bu makalede, stateless widget kavramını ve kullanımını anlattım. Elbette, gerçek bir makale daha kapsamlı olabilir, ancak bu örnek makale Google'ın indeksleyebileceği bir içerik sunma amacına hizmet etmektedir.