Foto von Miikka Luotio auf Unsplash
Die Programmiersprache Dart wurde erstmals 2011 auf einer Konferenz in Dänemark vorgestellt. Damals war die Sprache Dart im Vergleich zu anderen Sprachen wie C#, JavaScript oder Python noch relativ klein. Dies änderte sich jedoch mit der Veröffentlichung von Flutter.
Flutter wurde 2018 eingeführt. Es wird oft so getan, als sei es eine eigene Sprache, aber Flutter ist eine UI-Bibliothek mit einer Reihe von Entwickler-Tools, die Entwicklern helfen, mobile Anwendungen mit Dart zu erstellen. Die Sprache von Flutter ist also Dart.
Wofür wird Dart verwendet?
Dart wird zusammen mit Flutter zum Erstellen von mobilen Anwendungen verwendet. Dies ist eine der häufigsten Verwendungen von Dart heute. Der große Vorteil bei der Erstellung von Anwendungen mit Dart und Flutter ist, dass sie plattformübergreifend sind. Das bedeutet, dass Sie eine App mit nur einer Codebasis erstellen können, anstatt zwei separate Apps für iPhone und Android zu entwickeln. Der engste Konkurrent von Flutter ist React Native, eine plattformübergreifende Implementierung von React.
Es gibt noch keinen Sieger im plattformübergreifenden Krieg zwischen Flutter und React Native (vielleicht wird es auch nie einen geben). Im Moment ist die React Native-Gemeinschaft viel größer, aber Flutter wächst und erobert Marktanteile. Viele Entwickler sind der Meinung, dass Flutter ein besseres Entwicklererlebnis bietet (es ist einfach angenehmer, damit zu entwickeln). Abgesehen davon ist Flutter etwas schneller als React Native. React Native hat jedoch den großen Vorteil, dass viele Unternehmen React bereits für ihre Webanwendungen verwenden und React Native somit die logische Wahl ist.
Dart ist nicht auf die Erstellung des Frontends für Flutter-Apps beschränkt. Sie können sie auch im Backend als serverseitige Programmiersprache verwenden. Hier ein Beispiel für eine einfache Dart-HTTP-Server-zu-Server-HTTP-Anfrage:
import 'dart:io';
main() async {
var server = await HttpServer.bind(InternetAddress.LOOPBACK_IP_V4, 8080);
print("Serving at ${server.address}:${server.port}");
await for (var request in server) {
request.response
..headers.contentType = new ContentType("text", "plain", charset: "utf-8")
..write('Hello, world')
..close();
}
}
Aber sie ist bei weitem nicht so beliebt wie andere serverseitige Sprachen wie PHP, Node oder Python. Es ist heute wahrscheinlich nicht die beste Wahl für ein Backend, da es eine kleine Community hat. Das bedeutet, dass Sie alles von Grund auf neu erstellen müssen (anstatt Bibliotheken wiederzuverwenden, die jemand anderes bereits erstellt hat).