{"id":35323,"date":"2022-06-15T16:17:57","date_gmt":"2022-06-15T14:17:57","guid":{"rendered":"https:\/\/www.inovex.de\/?p=35323"},"modified":"2025-10-01T07:44:31","modified_gmt":"2025-10-01T05:44:31","slug":"deno-das-neue-node-js-schon-heute","status":"publish","type":"post","link":"https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/","title":{"rendered":"State of the Web 2022: Deno \u2013 das neue Node.js schon heute?"},"content":{"rendered":"<p>In diesem Artikel m\u00f6chte ich die Fragen kl\u00e4ren: Sollte man Deno heute schon in seinen Stack aufnehmen? Was bringt es gegen\u00fcber Node.js mit und wo sind die Unterschiede?<!--more--><\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\"><p class=\"ez-toc-title\" style=\"cursor:inherit\"><\/p>\n<\/div><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/#Deno-Core\" >Deno Core<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/#Die-gute-Nachricht\" >Die gute Nachricht<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/#Unterschiede-von-Deno-gegenueber-Nodejs\" >Unterschiede von Deno gegen\u00fcber Node.js<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/#Wie-fuehlt-es-sich-an\" >Wie f\u00fchlt es sich an?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/#Deno-Kommandos-Best-Practice\" >Deno Kommandos Best Practice<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/#Import-Best-Practice\" >Import Best Practice<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/#Web-API\" >Web API<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/#Serverside-Rendering-von-JSX\" >Serverside Rendering von JSX<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/#Compile\" >Compile<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/#Fazit-zu-Deno\" >Fazit zu Deno<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/#Sicherheit\" >Sicherheit<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/#Performance\" >Performance<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/#Unterschiede\" >Unterschiede<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/#Und-nun\" >Und nun?<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/#Deno-Deploy\" >Deno Deploy<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/#Was-ist-das\" >Was ist das ?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/#Wie-ist-hier-der-aktuelle-Status\" >Wie ist hier der aktuelle Status?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/#Ein-Beispiel\" >Ein Beispiel<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/#Fazit-Deno-Deploy\" >Fazit Deno Deploy<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Deno-Core\"><\/span>Deno Core<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>An dieser Stelle erspare ich euch und mir die Geschichte von Deno.\u00a0Nur so viel:\u00a0Deno wurde von Ryan Dahl als Haupttreibender entwickelt. Genau, das ist derselbe, der auch f\u00fcr Node.js verantwortlich ist!<\/p>\n<p>Und jetzt kommen wir direkt zu der eigentlichen Frage: Was sind die gro\u00dfen Unterschiede zwischen Node.js und Deno?<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Die-gute-Nachricht\"><\/span>Die gute Nachricht<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Deno noch Node.js werden in TypeScript\u00a0geschrieben.\u00a0(Ich gehe mal davon aus, dass auch ihr Node.js mit Typescript verwendet \u2013 und falls nicht, kann man Deno auch ohne Typescript (pures Javascript) verwenden).\u00a0Somit sollte sich jede:r Node.js-Entwicklerin schnell bei Deno wohlf\u00fchlen, da man, bis auf wenige Ausnahmen, dieselbe Syntax und Herangehensweisen zum L\u00f6sen seiner Probleme nutzen kann.<\/p>\n<p>Mit anderen Worten:<\/p>\n<div><strong>Deno:<\/strong><\/div>\n<div>\n<pre class=\"lang:js decode:true\" title=\"Deno\">import { serve } from \"https:\/\/deno.land\/std@0.130.0\/http\/server.ts\";\r\nconsole.log(\"http:\/\/localhost:8000\/\");\r\nserve((req) =&gt; new Response(\"Hello World\\n\"), { port: 8000 });<\/pre>\n<\/div>\n<div><\/div>\n<div><strong>Node.js + Typescript:<\/strong><\/div>\n<div>\n<pre class=\"lang:js decode:true\" title=\"Node.js + Typescript\">import http from ('http');\r\n\r\nhttp.createServer((req, res) =&gt; {\r\nres.end('Hello, World!\\n');\r\n}).listen(port, hostname);<\/pre>\n<\/div>\n<div><\/div>\n<p>Wie man sieht, sind sich die beiden Sprachen ziemlich \u00e4hnlich.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Unterschiede-von-Deno-gegenueber-Nodejs\"><\/span>Unterschiede von Deno gegen\u00fcber Node.js<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li>Keine package.json<\/li>\n<li>Standard Linter und Formatter, Tests, builder, compiler (unstable) etc.<\/li>\n<li>Web API Support (dieselben, die auch ein Browser unterst\u00fctzt)<\/li>\n<li>Worker f\u00fcr Multi-threading<\/li>\n<li>Permissions (Zugriff auf Disk und Fetch Calls etc. m\u00fcssen explizit freigegeben werden)<\/li>\n<li>Lib Imports passieren \u00fcber URL\u00b4s<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Wie-fuehlt-es-sich-an\"><\/span>Wie f\u00fchlt es sich an?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Um loszulegen sollten wir drei Dinge tun:<\/p>\n<ul>\n<li>Deno auf dem System <a href=\"https:\/\/deno.land\/#installation\" target=\"_blank\" rel=\"noopener\">installieren<\/a><\/li>\n<li>Extension f\u00fcr IDE installieren (in meinem Fall VS-Code)<\/li>\n<li>Eine TS-Datei anlegen.<\/li>\n<\/ul>\n<p>Fertig!<\/p>\n<p>Jetzt geht es an die eigentliche Entwicklung. Hier nehme ich mal das Beispiel von der <a href=\"https:\/\/deno.land\/#getting-started\" target=\"_blank\" rel=\"noopener\">Webseite selbst: <\/a>main.ts.<\/p>\n<div>\n<pre title=\"main.ts\">import { serve } from \"https:\/\/deno.land\/std@0.119.0\/http\/server.ts\";\r\n\r\nconsole.log('http:\/\/localhost:8000')\r\nserve((req) =&gt; {\r\n  return new Response(\"Hello\")\r\n},{\r\n  port: 8000\r\n})<\/pre>\n<\/div>\n<p>Wir brauchen hier die <em>\/http\/server.ts<\/em>, mit der wir es instellieren k\u00f6nnen\u00a0(macht ein deno run\u00a0aber auch von selbst):<\/p>\n<ul>\n<li>deno install https:\/\/deno.land\/std@0.119.0\/http\/server.ts<\/li>\n<li>Das Ganze nun mit deno run main.ts\u00a0ausf\u00fchren.<\/li>\n<\/ul>\n<p>Wir bekommen eine Fehlermeldung:<\/p>\n<div>\n<pre title=\"Fehlermeldung\">http:\/\/localhost:8000\r\nerror: Uncaught (in promise) PermissionDenied: Requires net access to \"0.0.0.0:8000\", run again with the --allow-net flag\r\nconst listener = Deno.listen({\r\n^\r\nat Object.opSync (deno:core\/01_core.js:149:12)\r\nat opListen (deno:ext\/net\/01_net.js:38:17)\r\nat Object.listen (deno:ext\/net\/01_net.js:204:17)\r\nat Server.listenAndServe (https:\/\/deno.land\/std@0.119.0\/http\/server.ts:181:27)\r\nat serve (https:\/\/deno.land\/std@0.119.0\/http\/server.ts:557:23)\r\nat main.ts:19:1<\/pre>\n<\/div>\n<p>Die Fehlermeldung sagt es schon.\u00a0Wir sind nicht berechtigt, auf den Port 8000 zuzugreifen.\u00a0Dadurch muss das Ganze mit deno run <em>&#8211;allow-net main.ts<\/em>\u00a0ausgef\u00fchrt werden.<\/p>\n<p>Jetzt meldet sich aber mein Security-Gewissen: Wenn ich jetzt <em>&#8211;allow-net<\/em>\u00a0ausf\u00fchre, sind ja alle Netzwerk-Requests freigeschaltet!\u00a0Um das zu verhindern, kann auch spezifisch mitgeben werden, welche IP-Adressen auf welchem Port freigeschaltet sein sollen.<\/p>\n<p>Das sieht dann wie folgt aus:<\/p>\n<p><em>deno run &#8211;allow-net=0.0.0.0:8000 main.ts<\/em><\/p>\n<p>Das gilt dann sowohl f\u00fcr Adressen, die man \u00f6ffnen darf, als auch f\u00fcr URL-Ressourcen, die die Applikation \u201eFetchen\u201c darf.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Deno-Kommandos-Best-Practice\"><\/span>Deno Kommandos Best Practice<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Nun stellt sich aber die Frage:\u00a0Wenn ich jetzt noch auf die Festplatte lesend zugreife <em>&#8211;allow-read=&lt;allow-read&gt;<\/em>\u00a0und auf Dateien schreibend <em>&#8211;allow-write=&lt;allow-write&gt;<\/em>,\u00a0dann wird das ein langer Startbefehl:<\/p>\n<p><em>deno run &#8211;allow-read=config.yml &#8211;allow-write=temp\/,output\/ &#8211;allow-net=0.0.0.0:8000 main.ts<\/em><\/p>\n<p>Hier hat sich unter den Deno-Entwickler:innen das gute alte makefile\u00a0wieder etabliert:<\/p>\n<div>\n<pre title=\"makefile\">run:\r\n deno run --allow-read=config.yml --allow-write=temp\/,output\/ --allow-net=0.0.0.0:8000 main.ts<\/pre>\n<\/div>\n<p>Somit kann man nun mit <em>make run<\/em>\u00a0die Applikation starten.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Import-Best-Practice\"><\/span>Import Best Practice<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Auch stellt sich mir eine weitere Frage: Wie mache ich am besten den Import \u00fcber URL?<\/p>\n<p>Jetzt ist dort die Versionsnummer enthalten. Wenn ich sicherstellen will, dass meine Anwendung immer auf einem aktuellen Stand bleibt, muss ich ja immer alle Files durchsuchen, um die Versionen direkt im Import upzudaten.<\/p>\n<p>F\u00fcr dieses Problem gibt es eine alte und eine neue L\u00f6sung:<\/p>\n<p>Alte L\u00f6sung: Schreibe eine lib.ts\u00a0und erstelle dort alle externen Imports und Exports.<\/p>\n<div>\n<pre title=\"lib.ts\">export { serve } from \"https:\/\/deno.land\/std@0.119.0\/http\/server.ts\";<\/pre>\n<\/div>\n<div><\/div>\n<div>Neue L\u00f6sung: Benutze eine <a href=\"https:\/\/deno.land\/manual@v1.17.1\/linking_to_external_code\/import_maps\" target=\"_blank\" rel=\"noopener\">import_map.json.<\/a><\/div>\n<div>\n<pre title=\"import_map.json\">{\r\n  \"imports\": {\r\n    \"http\/\": \"https:\/\/deno.land\/std@0.119.0\/http\/\"\r\n  }\r\n}<\/pre>\n<\/div>\n<p>Diese kann auch mit &#8222;deno.importMap&#8220;: &#8222;.\/import_map.json&#8220;\u00a0 VSCode in den Projekteinstellungen bekannt gemacht werden.<br \/>\nDann sieht die main.ts\u00a0wie folgt aus:<\/p>\n<div>\n<pre title=\"main.ts\">import {serve} from 'http\/server.ts' \/\/&lt;-- hier ist der unterschied\r\nconsole.log('http:\/\/localhost:8000')\r\nserve((req) =&gt; {\r\n  return new Response(\"Hello\")\r\n},{\r\n  port: 8000\r\n})<\/pre>\n<\/div>\n<p>Zum Gl\u00fcck haben wir ein makefile , da sich der Startbefehl noch mal verl\u00e4ngert:<\/p>\n<div>\n<pre title=\"makefile\">run:\r\n  deno run --import-map=import_map.json --allow-read=config.yml --allow-write=temp\/,output\/ --allow-net=0.0.0.0:8000 main.ts<\/pre>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"Web-API\"><\/span>Web API<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Da Deno die Standard Web API implementiert, sind auch (fast) alle im Browser verf\u00fcgbaren Standards, auch bei Deno verf\u00fcgbar.\u00a0Prominente Beispiele sind:<\/p>\n<ul>\n<li><a href=\"https:\/\/developer.mozilla.org\/de\/docs\/Web\/API\/Fetch_API\" target=\"_blank\" rel=\"noopener\">fetch<\/a><\/li>\n<li><a href=\"https:\/\/developer.mozilla.org\/de\/docs\/Web\/API\/WebSocket\" target=\"_blank\" rel=\"noopener\">websockets<\/a><\/li>\n<li><a href=\"https:\/\/developer.mozilla.org\/de\/docs\/Web\/API\/Window\/localStorage\" target=\"_blank\" rel=\"noopener\">localstorage<\/a><\/li>\n<li>u. v. m.<\/li>\n<\/ul>\n<p>Dies ist ein gro\u00dfer Vorteil gegen\u00fcber Node.js!\u00a0Denn so ist z. B. Server Side Rendering weniger aufwendig zu Implementieren, da alle Browser-Funktionen von Haus aus vorhanden sind.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Serverside-Rendering-von-JSX\"><\/span>Serverside Rendering von JSX<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Ja auch das ist m\u00f6glich &#8230;\u00a0So versteht Deno von Haus aus <a href=\"https:\/\/deno.land\/manual@v1.20.1\/jsx_dom\/jsx\" target=\"_blank\" rel=\"noopener\">JSX (Deno Manual)<\/a> und kann somit z. B. React rendern oder statischen Code generieren.\u00a0Ein Projekt das sich darum bem\u00fcht: alephjs<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Compile\"><\/span>Compile<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Mit dem Command <em>deno compile<\/em>\u00a0l\u00e4sst sich auf dem Projekt ein\u00a0self-contained executable bauen.\u00a0Dadurch wird keine Deno-Runtime auf dem eigentlichen Server\/Docker Container ben\u00f6tigt.<\/p>\n<p>Auch hier gilt es zu beachten:\u00a0Alle Permission und import-map-Kommandos m\u00fcssen wieder mit angegeben werden.<\/p>\n<p>Es ist also wieder ein Fall f\u00fcr unser makefile!<\/p>\n<div>\n<pre title=\"makefile\">compile:\r\n  deno compile --import-map=import_map.json --allow-net=0.0.0.0:8000 main.ts<\/pre>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"Fazit-zu-Deno\"><\/span>Fazit zu Deno<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"Sicherheit\"><\/span>Sicherheit<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Mit der M\u00f6glichkeit, einschr\u00e4nken zu k\u00f6nnen, welche Netzwerk-Calls erlaubt sind oder auf welche Dateien\/Ordner zugegriffen werden darf etc.,\u00a0h\u00e4lt Deno von Haus aus, wichtige Sicherheitsfeatures parat.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Performance\"><\/span>Performance<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Mit Hinblick auf die Performance geben sich NodeJS und Deno nicht viel.\u00a0Jedoch sei gesagt, dass durch die M\u00f6glichkeit des Kompilierens bei Deno noch Potenzial nach oben ist und es in Zukunft das Rennen f\u00fcr sich entscheiden k\u00f6nnte.\u00a0Siehe auch\u00a0<a href=\"https:\/\/medium.com\/deno-the-complete-reference\/deno-vs-node-performance-comparison-hello-world-774eda0b9c31\" target=\"_blank\" rel=\"noopener\">hier<\/a>.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Unterschiede\"><\/span>Unterschiede<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Um die Unterschiede zwischen Node.js und Deno nochmal zusammenzufassen bzw. um Entwickler:innen aufzuzeigen, worauf sie sich \u201eeinlassen m\u00fcssen\u201c wenn sie zu Deno wechseln:<\/p>\n<ul>\n<li>Neue Art des Library Imports<\/li>\n<li>Keine package.json<\/li>\n<li>Makefiles<\/li>\n<li>Neue Cli Deno vs npm\/yarn<\/li>\n<li>Existierendes Sicherheitskonzept<\/li>\n<\/ul>\n<p>Abseits der sprachspezifischen \u00c4nderungen muss man sich auf neue Libs einlassen und diese neu im Deno-\u00d6kosystem finden. Zum Gl\u00fcck findet jedoch eine rasche Portierung vieler prominenter Tools statt.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Und-nun\"><\/span>Und nun?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Es spricht eigentlich nichts dagegen, Deno statt Node.js f\u00fcr das n\u00e4chste Projekt, die n\u00e4chste <a href=\"https:\/\/de.wikipedia.org\/wiki\/Function_as_a_Service\" target=\"_blank\" rel=\"noopener\">FaaS<\/a>\u00a0oder den n\u00e4chsten Mircoservice zu nutzen.\u00a0Die Lib-Struktur w\u00e4chst stetig und im Notfall kann man auch auf Node-Libs zur\u00fcckgreifen (wird nicht empfohlen).<\/p>\n<p>Gerade wenn es um typische <a href=\"https:\/\/de.wikipedia.org\/wiki\/CRUD\" target=\"_blank\" rel=\"noopener\">CRUD<\/a>-Systeme geht, sollten sich diese problemlos umsetzen lassen. Und sind wir mal ehrlich, 80 Prozent aller Systeme sind CRUD-Systeme.<\/p>\n<p>Nachtrag (Noch pers\u00f6nlichere Meinung):<br \/>\nIch habe jetzt schon \u00f6fters, die Aussage geh\u00f6rt: \u201eDie Unterschiede zwischen Node.js und Deno sind so gering, dass es keinen Grund gibt, umzusteigen.\u201c<\/p>\n<p>Ich sehe das \u00e4hnlich, aber meine Schlussfolgerung ist eine andere: Da die Unterschiede so gering sind, lohnt sich ein Umstieg erst recht. Die \u201eKosten\u201c sind sehr gering und die kleinen Benefits, die man mitnimmt, \u00fcberwiegen den Aufwand.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Deno-Deploy\"><\/span>Deno Deploy<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"Was-ist-das\"><\/span>Was ist das ?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><a href=\"https:\/\/deno.com\/deploy\" target=\"_blank\" rel=\"noopener\">Deno Deploy<\/a> ist eine M\u00f6glichkeit, um Backendcode (Deno Code) global zu verteilen.\u00a0Das hei\u00dft im Grunde, dass was auch ein CDN macht, nur f\u00fcr Logik. Siehe <a href=\"https:\/\/de.wikipedia.org\/wiki\/Edge_Computing\" target=\"_blank\" rel=\"noopener\">hier.<\/a><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Wie-ist-hier-der-aktuelle-Status\"><\/span>Wie ist hier der aktuelle Status?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Aktuell befindet sich Deno Deploy noch in der Beta-Phase.\u00a0Dadurch gibt es bisher auch kein aktuelles <a href=\"https:\/\/deno.com\/deploy\/docs\/pricing-and-limits\" target=\"_blank\" rel=\"noopener\">Pricing-Concept<\/a>.\u00a0Das bedeutet, man kann es erstmal kostenlos nutzen, wenn man:<\/p>\n<ul>\n<li><a href=\"https:\/\/deno.com\/deploy\/docs\/fair-use-policy\" target=\"_blank\" rel=\"noopener\">nicht gegen die Fair-Use-Richtlinien verst\u00f6\u00dft<\/a><\/li>\n<li><a href=\"https:\/\/deno.com\/deploy\/docs\/pricing-and-limits\" target=\"_blank\" rel=\"noopener\">die Grenzen der Auslastung nicht \u00fcberschreitet<\/a>.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Ein-Beispiel\"><\/span>Ein Beispiel<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><span style=\"color: #404040; font-size: 18px;\">Leider sind import Maps nicht kompatibel mit <\/span><a style=\"font-size: 18px;\" href=\"https:\/\/github.com\/denoland\/deploy_feedback\/issues\/17\" target=\"_blank\" rel=\"noopener\">Deno Deploy.\u00a0<\/a>Somit kehren wir am besten wieder zur\u00fcck zur alten L\u00f6sung: per lib.ts file.\u00a0Um das Ganze nutzen zu k\u00f6nnen, wird ein <a href=\"https:\/\/deno.com\/deploy\" target=\"_blank\" rel=\"noopener\">Account<\/a> ben\u00f6tigt.\u00a0Ist der Account angelegt, kann man auf dem <a href=\"https:\/\/dash.deno.com\/projects\" target=\"_blank\" rel=\"noopener\">Dashboard<\/a> ein neues Projekt erstellen.\u00a0Beim Deploy hat man die Wahl, ein GitHub-Projekt anzulegen oder per URL zu deployen.<\/p>\n<p>F\u00fcr unser Beispiel nutzen wir mal GitHub &#8230;<\/p>\n<p>Hier mein Git-Repo:<\/p>\n<p><a href=\"https:\/\/github.com\/fasibio\/deno_test1\/\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/fasibio\/deno_test1<\/a><\/p>\n<p>Das hei\u00dft, wir erlauben Deno den Zugriff auf das Git Repository und w\u00e4hlen in Deno Deploy das Repository, den Branch und das Haupt ts-file aus (im Beispiel oben die main.ts).\u00a0Nach dem Deployment bekommen wir eine Domain, \u00fcber die wir nun den Service \u00f6ffnen k\u00f6nnen.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Fazit-Deno-Deploy\"><\/span>Fazit Deno Deploy<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Aktuell f\u00e4llt es mir schwer, hier ein Fazit zu ziehen.\u00a0Deno Deploy funktioniert recht stabil. Es ist allerdings schade, dass man aktuell nicht alle Funktionen verwenden kann, die Deno bietet (import_maps).<\/p>\n<p>Zuk\u00fcnftig k\u00f6nnte es sich aber zu einer interessanten Alternative entwickeln.\u00a0Hier kann ich aktuell nur von einem Bauchgef\u00fchl sprechen und empfehle, es bei Interesse einfach mal auszuprobieren und auf sein eigenes Gef\u00fchl zu h\u00f6ren.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In diesem Artikel m\u00f6chte ich die Fragen kl\u00e4ren: Sollte man Deno heute schon in seinen Stack aufnehmen? Was bringt es gegen\u00fcber Node.js mit und wo sind die Unterschiede?<\/p>\n","protected":false},"author":281,"featured_media":36824,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"ep_exclude_from_search":false,"footnotes":""},"tags":[71,339,70],"service":[420,414],"coauthors":[{"id":281,"display_name":"Fabian Simon","user_nicename":"fsimon"}],"class_list":["post-35323","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-cloud","tag-state-of-the-web","tag-web","service-apps","service-cloud"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>State of the Web 2022: Deno \u2013 das neue Node.js schon heute?<\/title>\n<meta name=\"description\" content=\"Sollte man Deno heut schon in seinen Stack aufnehmen? Was bringt es gegen\u00fcber Node.js mit und wo sind die Unterschiede?\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"State of the Web 2022: Deno \u2013 das neue Node.js schon heute?\" \/>\n<meta property=\"og:description\" content=\"Sollte man Deno heut schon in seinen Stack aufnehmen? Was bringt es gegen\u00fcber Node.js mit und wo sind die Unterschiede?\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/\" \/>\n<meta property=\"og:site_name\" content=\"inovex GmbH\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/inovexde\" \/>\n<meta property=\"article:published_time\" content=\"2022-06-15T14:17:57+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-01T05:44:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.inovex.de\/wp-content\/uploads\/state-of-the-web-deno-node-js.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Fabian Simon\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.inovex.de\/wp-content\/uploads\/state-of-the-web-deno-node-js-1024x576.png\" \/>\n<meta name=\"twitter:creator\" content=\"@inovexgmbh\" \/>\n<meta name=\"twitter:site\" content=\"@inovexgmbh\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fabian Simon\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"8\u00a0Minuten\" \/>\n\t<meta name=\"twitter:label3\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data3\" content=\"Fabian Simon\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/deno-das-neue-node-js-schon-heute\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/deno-das-neue-node-js-schon-heute\\\/\"},\"author\":{\"name\":\"Fabian Simon\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#\\\/schema\\\/person\\\/7d61f3f803d8ea8cfece287707f45afd\"},\"headline\":\"State of the Web 2022: Deno \u2013 das neue Node.js schon heute?\",\"datePublished\":\"2022-06-15T14:17:57+00:00\",\"dateModified\":\"2025-10-01T05:44:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/deno-das-neue-node-js-schon-heute\\\/\"},\"wordCount\":1350,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/deno-das-neue-node-js-schon-heute\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.inovex.de\\\/wp-content\\\/uploads\\\/state-of-the-web-deno-node-js.png\",\"keywords\":[\"Cloud\",\"State of the Web\",\"Web\"],\"articleSection\":[\"Applications\",\"General\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/deno-das-neue-node-js-schon-heute\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/deno-das-neue-node-js-schon-heute\\\/\",\"url\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/deno-das-neue-node-js-schon-heute\\\/\",\"name\":\"State of the Web 2022: Deno \u2013 das neue Node.js schon heute?\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/deno-das-neue-node-js-schon-heute\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/deno-das-neue-node-js-schon-heute\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.inovex.de\\\/wp-content\\\/uploads\\\/state-of-the-web-deno-node-js.png\",\"datePublished\":\"2022-06-15T14:17:57+00:00\",\"dateModified\":\"2025-10-01T05:44:31+00:00\",\"description\":\"Sollte man Deno heut schon in seinen Stack aufnehmen? Was bringt es gegen\u00fcber Node.js mit und wo sind die Unterschiede?\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/deno-das-neue-node-js-schon-heute\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/deno-das-neue-node-js-schon-heute\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/deno-das-neue-node-js-schon-heute\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.inovex.de\\\/wp-content\\\/uploads\\\/state-of-the-web-deno-node-js.png\",\"contentUrl\":\"https:\\\/\\\/www.inovex.de\\\/wp-content\\\/uploads\\\/state-of-the-web-deno-node-js.png\",\"width\":1920,\"height\":1080,\"caption\":\"Das Deno-Logo schiebt sich vor eine stilisierte Erdkugel\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/deno-das-neue-node-js-schon-heute\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"State of the Web 2022: Deno \u2013 das neue Node.js schon heute?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#website\",\"url\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/\",\"name\":\"inovex GmbH\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#organization\",\"name\":\"inovex GmbH\",\"url\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.inovex.de\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/inovex-logo-16-9-1.png\",\"contentUrl\":\"https:\\\/\\\/www.inovex.de\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/inovex-logo-16-9-1.png\",\"width\":1921,\"height\":1081,\"caption\":\"inovex GmbH\"},\"image\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/inovexde\",\"https:\\\/\\\/x.com\\\/inovexgmbh\",\"https:\\\/\\\/www.instagram.com\\\/inovexlife\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/inovex\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UC7r66GT14hROB_RQsQBAQUQ\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#\\\/schema\\\/person\\\/7d61f3f803d8ea8cfece287707f45afd\",\"name\":\"Fabian Simon\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/wp-content\\\/uploads\\\/Fabian-Simon_avatar_1647850371-96x96.jpgce73aa081104def444de34b5e826f5b4\",\"url\":\"https:\\\/\\\/www.inovex.de\\\/wp-content\\\/uploads\\\/Fabian-Simon_avatar_1647850371-96x96.jpg\",\"contentUrl\":\"https:\\\/\\\/www.inovex.de\\\/wp-content\\\/uploads\\\/Fabian-Simon_avatar_1647850371-96x96.jpg\",\"caption\":\"Fabian Simon\"},\"url\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/author\\\/fsimon\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"State of the Web 2022: Deno \u2013 das neue Node.js schon heute?","description":"Sollte man Deno heut schon in seinen Stack aufnehmen? Was bringt es gegen\u00fcber Node.js mit und wo sind die Unterschiede?","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/","og_locale":"de_DE","og_type":"article","og_title":"State of the Web 2022: Deno \u2013 das neue Node.js schon heute?","og_description":"Sollte man Deno heut schon in seinen Stack aufnehmen? Was bringt es gegen\u00fcber Node.js mit und wo sind die Unterschiede?","og_url":"https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/","og_site_name":"inovex GmbH","article_publisher":"https:\/\/www.facebook.com\/inovexde","article_published_time":"2022-06-15T14:17:57+00:00","article_modified_time":"2025-10-01T05:44:31+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/www.inovex.de\/wp-content\/uploads\/state-of-the-web-deno-node-js.png","type":"image\/png"}],"author":"Fabian Simon","twitter_card":"summary_large_image","twitter_image":"https:\/\/www.inovex.de\/wp-content\/uploads\/state-of-the-web-deno-node-js-1024x576.png","twitter_creator":"@inovexgmbh","twitter_site":"@inovexgmbh","twitter_misc":{"Verfasst von":"Fabian Simon","Gesch\u00e4tzte Lesezeit":"8\u00a0Minuten","Written by":"Fabian Simon"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/#article","isPartOf":{"@id":"https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/"},"author":{"name":"Fabian Simon","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/person\/7d61f3f803d8ea8cfece287707f45afd"},"headline":"State of the Web 2022: Deno \u2013 das neue Node.js schon heute?","datePublished":"2022-06-15T14:17:57+00:00","dateModified":"2025-10-01T05:44:31+00:00","mainEntityOfPage":{"@id":"https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/"},"wordCount":1350,"commentCount":0,"publisher":{"@id":"https:\/\/www.inovex.de\/de\/#organization"},"image":{"@id":"https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/#primaryimage"},"thumbnailUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/state-of-the-web-deno-node-js.png","keywords":["Cloud","State of the Web","Web"],"articleSection":["Applications","General"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/","url":"https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/","name":"State of the Web 2022: Deno \u2013 das neue Node.js schon heute?","isPartOf":{"@id":"https:\/\/www.inovex.de\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/#primaryimage"},"image":{"@id":"https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/#primaryimage"},"thumbnailUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/state-of-the-web-deno-node-js.png","datePublished":"2022-06-15T14:17:57+00:00","dateModified":"2025-10-01T05:44:31+00:00","description":"Sollte man Deno heut schon in seinen Stack aufnehmen? Was bringt es gegen\u00fcber Node.js mit und wo sind die Unterschiede?","breadcrumb":{"@id":"https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/#primaryimage","url":"https:\/\/www.inovex.de\/wp-content\/uploads\/state-of-the-web-deno-node-js.png","contentUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/state-of-the-web-deno-node-js.png","width":1920,"height":1080,"caption":"Das Deno-Logo schiebt sich vor eine stilisierte Erdkugel"},{"@type":"BreadcrumbList","@id":"https:\/\/www.inovex.de\/de\/blog\/deno-das-neue-node-js-schon-heute\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.inovex.de\/de\/"},{"@type":"ListItem","position":2,"name":"State of the Web 2022: Deno \u2013 das neue Node.js schon heute?"}]},{"@type":"WebSite","@id":"https:\/\/www.inovex.de\/de\/#website","url":"https:\/\/www.inovex.de\/de\/","name":"inovex GmbH","description":"","publisher":{"@id":"https:\/\/www.inovex.de\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.inovex.de\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/www.inovex.de\/de\/#organization","name":"inovex GmbH","url":"https:\/\/www.inovex.de\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/logo\/image\/","url":"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/03\/inovex-logo-16-9-1.png","contentUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/03\/inovex-logo-16-9-1.png","width":1921,"height":1081,"caption":"inovex GmbH"},"image":{"@id":"https:\/\/www.inovex.de\/de\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/inovexde","https:\/\/x.com\/inovexgmbh","https:\/\/www.instagram.com\/inovexlife\/","https:\/\/www.linkedin.com\/company\/inovex","https:\/\/www.youtube.com\/channel\/UC7r66GT14hROB_RQsQBAQUQ"]},{"@type":"Person","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/person\/7d61f3f803d8ea8cfece287707f45afd","name":"Fabian Simon","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.inovex.de\/wp-content\/uploads\/Fabian-Simon_avatar_1647850371-96x96.jpgce73aa081104def444de34b5e826f5b4","url":"https:\/\/www.inovex.de\/wp-content\/uploads\/Fabian-Simon_avatar_1647850371-96x96.jpg","contentUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/Fabian-Simon_avatar_1647850371-96x96.jpg","caption":"Fabian Simon"},"url":"https:\/\/www.inovex.de\/de\/blog\/author\/fsimon\/"}]}},"_links":{"self":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts\/35323","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/users\/281"}],"replies":[{"embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/comments?post=35323"}],"version-history":[{"count":7,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts\/35323\/revisions"}],"predecessor-version":[{"id":64239,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts\/35323\/revisions\/64239"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/media\/36824"}],"wp:attachment":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/media?parent=35323"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/tags?post=35323"},{"taxonomy":"service","embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/service?post=35323"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/coauthors?post=35323"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}