.NET Blog
28.09.2017, 10:29 Uhr
28.09.2017, 10:29 Uhr
Einen Webservice mit F# und .NET Core 2.0 bauen
Microsoft-Mitarbeiter Phillip Carter erläutert in einem Blogbeittrag detailliert, wie Sie einen Cross-Plattform-Webservice mit F# und .NET Core 2.0 mit Hilfe der Bibliothek Giraffe erstellen.
Gleich zu Beginn betont Phillip Carter, dass die Bibliothek Giraffe ist nicht die einzige Technologie ist, mit der man Web APIs mit .NET Core bauen kann, als Alternativen nennt er Suave und Freya. Für sein Schritt-für-Schritt-Beispiel hat er jedoch Giraffe ausgewählt. Der Code des fertigen Beispiel-Webservice ist auf GitHub verfügbar. Der Webservice nutzt neben .NET Core 2.0 und Giraffe SQLite als Datenbank und läuft auf allen wichtigen Plattformen.
Die Bibliothek Giraffe erlaubt es, Web API Routen mit einer funktionalen Programmiersprache wie F# zu formulieren. Zwar wird F# auch von ASP.NET Core MVC direkt unterstützt, so Carter, doch bietet Giraffe Vorteile, weil es etliche Features von F# direkt nutzt, wie etwa Funktionen höherer Ordnung, partielle Verwendung von Argumenten und F#-Typen.
Zudem sitzt Giraffe auf dem Kestrel HTTP-Server und nutzt somit dieselbe Technologie, die auch ASP.NET Core nutzt. Das bedeutet, dass mit Giraffe geschriebene Services eine vergleichbare Performance aufweisen, wie mit ASP.NET Core MVC geschriebene Dienste.
Voraussetzungen zum Nachvollziehen des Beispiels ist eine Installation des .NET Core 2.0 SDK. Darüber lässt sich dann das Giraffe-Template laden und ein Giraffe-Projekt anlegen.
Carter nutzt für sein Beispiel Visual Studio Code mit dem Ionide-FSharp Plug-in. Auch wie Sie diese Umgebung inklusive IntelliSense für F# einrichten beschreibt Carter in seinem Blog-Beitrag. Alle Details dazu finden Sie hier.