Novus Tec← Alle Artikel

Webentwicklung2 Min.

Was sind Widgets? Das Herzstück von Flutter

In der Entwicklung mit Flutter begegnet man schnell dem Begriff „Widget“. Widgets sind die fundamentalen Bausteine in Flutter, mit denen Benutzeroberflächen gestaltet werden. Sie sind so grundlegend, dass das häufig zitierte Mantra in Flutter lautet: „Alles ist ein Widget“. Dieser Artikel geht näher darauf ein, was Widgets sind, wie sie in Flutter verwendet werden, und warum sie so zentral für die Erstellung ansprechender und funktionaler Benutzeroberflächen sind.

Grundlagen der Widgets

Ein Widget in Flutter kann als eine Beschreibung des User-Interfaces angesehen werden. Es beschreibt, wie ein Teil der Benutzeroberfläche aussehen soll, basierend auf den aktuellen Konfigurationen, Zuständen und Build-Kontexten. Widgets selbst sind in Dart geschrieben und ihre Hauptaufgabe ist es, eine build-Methode bereitzustellen, die beschreibt, wie das Widget unter Verwendung des aktuellen Kontexts und der gegebenen Zustände darzustellen ist.

Typen von Widgets

In Flutter gibt es zwei grundlegende Arten von Widgets:

Stateless Widgets

Diese Widgets sind unveränderlich, was bedeutet, dass ihre Eigenschaften (Properties) alle final sind und sie keinen internen Zustand haben, der über die Zeit hinweg verändert werden kann. Ein Stateless Widget wird einmal erstellt und ruft dann seine build-Methode auf, um das Layout darzustellen. Beispiel für ein Stateless Widget ist ein Icon oder ein Text, der sich nicht dynamisch ändert.

class MyTextWidget extends StatelessWidget {
       final String text;
       MyTextWidget(this.text);
       @override
       Widget build(BuildContext context) {
           return Text(text);
       }
   }

Stateful Widgets

Diese Widgets können ihren Zustand über die Zeit hinweg ändern. Sie bestehen aus zwei Teilen: der Widget-Klasse selbst und dem State-Objekt, das den Zustand enthält. Wenn der Zustand sich ändert, kann das Widget sich selbst neu aufbauen (rebuild), was die Aktualisierung der UI zur Folge hat.

class MyCounterWidget extends StatefulWidget {
       @override
       _MyCounterWidgetState createState() => _MyCounterWidgetHowState();
   }

   class _MyCounterWidgetState extends State<MyCounterWidget> {
       int _counter = 0;
       void _incrementCounter() {
           setState(() {
               _counter++;
           });
       }
       @override
       Widget build(BuildContext context) {
           return Column(
               children: <Widget>[
                   Text('Count: $_counter'),
                   RaisedButton(
                       onPressed: _incrementCounter,
                       child: Text('Increment'),
                   ),
               ],
           );
       }
   }

Warum sind Widgets wichtig?

Widgets sind entscheidend für die Design- und Entwicklungsphilosophie von Flutter aus mehreren Gründen:

Zusammenfassung

Widgets sind die Kernkomponenten in Flutter, die es Entwicklern ermöglichen, reichhaltige und interaktive Benutzeroberflächen zu erstellen. Sie verkörpern das grundlegende Konzept, dass in Flutter alles ein Widget ist – von einfachen Layout-Elementen bis hin zu komplexen interaktiven Steuerelementen. Durch die effektive Nutzung von Widgets können Entwickler mit Flutter ansprechende, nahtlose und dynamische Benutzeroberflächen entwickeln, die sowohl funktional als auch ästhetisch ansprechend sind.

Weiterlesen

Webentwicklung5 Min.Angular-Module und Lazy Loading: Optimierung durch eine modulare ArchitekturDie modulare Architektur von Angular ist ein zentraler Aspekt des Frameworks, der es Entwicklern ermöglicht, große Anwendungen in handhabbare, wiederverwendbare Teile zu zerlegen. Mit Lazy Loading lässt sich die Ladezeit von Angular-Anwendungen erheblich optimieren, indem nicht benötigte Module …Webentwicklung4 Min.Einrichten eines Angular-ProjektsWenn du planst, eine Webanwendung mit Angular zu erstellen, ist es wichtig, von Anfang an eine solide Entwicklungsumgebung einzurichten. In diesem Artikel zeigen wir dir, wie du Schritt für Schritt ein neues Angular-Projekt aufsetzt und welche Tools dir dabei helfen. Voraussetzungen für Angular …Webentwicklung1 Min.Entdecke die Welt von AngularIn der schnelllebigen Welt der Webentwicklung ist es entscheidend, ein Framework zu wählen, das nicht nur leistungsfähig und flexibel ist, sondern auch die Produktivität steigert und die Wartung erleichtert. Angular, entwickelt und ständig erweitert von Google, steht als eines der führenden …