[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"9_t0YFtO844PW3-iCfPxRTbw8yv0-2zzu2bChZFenjo":3,"btz8hO-MXSFLpybqvfjYVBre4OvrEJO1wFySe3Zmv-s":49,"eDm-Rl_L3C-5dmCBUEqoCGUVqSaxrIbpRZz5qmKHxCI":75,"MrKSJfww_FHAaR5oU2iuSVpttjwEgliAMihdehTraRU":178,"_apollo:default":220},{"menu":4},{"__typename":5,"id":6,"name":7,"items":8},"Menu","nuxt-main-menu","Nuxt Hauptmenü",[9,24,29,34,39,44],{"__typename":10,"id":11,"title":12,"description":13,"url":14,"langcode":15,"internal":20,"expanded":21,"attributes":22},"MenuItem","9ffc5019-cbd8-4b2e-8eb7-9feae486d4a1","Blog",null,"/know-how",{"__typename":16,"id":17,"name":18,"direction":19},"Language","de","German","ltr",true,false,{"__typename":23,"class":13},"MenuItemAttributes",{"__typename":10,"id":25,"title":26,"description":13,"url":27,"langcode":15,"internal":20,"expanded":21,"attributes":28},"1c7a5430-8a42-4b24-9544-252adabc2f4c","Projekte","/projekte",{"__typename":23,"class":13},{"__typename":10,"id":30,"title":31,"description":13,"url":32,"langcode":15,"internal":20,"expanded":21,"attributes":33},"9c4feedc-79e4-4fbf-b68c-065f33ebfe4c","Sparring","/workshop-ux-sparring-fuer-unternehmen",{"__typename":23,"class":13},{"__typename":10,"id":35,"title":36,"description":13,"url":37,"langcode":15,"internal":20,"expanded":21,"attributes":38},"3b77a27b-272a-489f-843e-53e23ed07741","Trainings","/liechtenecker-ux-academy",{"__typename":23,"class":13},{"__typename":10,"id":40,"title":41,"description":13,"url":42,"langcode":15,"internal":20,"expanded":21,"attributes":43},"ce0bb82b-e1ee-4036-be95-f693a62e9f4a","Über uns","/about",{"__typename":23,"class":13},{"__typename":10,"id":45,"title":46,"description":13,"url":47,"langcode":15,"internal":20,"expanded":21,"attributes":48},"04a19381-81a9-4694-8653-182d8855d2b5","Kontakt","/kontakt",{"__typename":23,"class":13},{"menu":50},{"__typename":5,"id":51,"name":52,"items":53},"footer","Fußzeile",[54,60,65,70],{"__typename":10,"id":55,"title":56,"description":13,"url":57,"langcode":58,"internal":20,"expanded":21,"attributes":59},"e2873307-b50a-4aab-b6b2-1950fd99c72e","Impressum","/impressum",{"__typename":16,"id":17,"name":18,"direction":19},{"__typename":23,"class":13},{"__typename":10,"id":61,"title":62,"description":13,"url":63,"langcode":58,"internal":20,"expanded":21,"attributes":64},"2cd9b7c9-142a-4ea3-b898-a0952c54a195","Datenschutz","/datenschutz",{"__typename":23,"class":13},{"__typename":10,"id":66,"title":67,"description":13,"url":68,"langcode":58,"internal":20,"expanded":21,"attributes":69},"a5effba3-5a8c-4125-8d78-0cdba09824db","AGB","/agb",{"__typename":23,"class":13},{"__typename":10,"id":71,"title":72,"description":13,"url":73,"langcode":58,"internal":21,"expanded":21,"attributes":74},"114bf071-bdbb-44cf-85c1-69e9d9e0777d","Newsletter","https://liechtenecker.at/newsletter-subscribe",{"__typename":23,"class":13},{"route":76},{"__typename":77,"entity":78},"RouteInternal",{"__typename":79,"id":80,"title":81,"changed":82,"created":88,"langcode":91,"path":92,"promote":21,"status":20,"sticky":21,"metatag":93,"postCategory":113,"postContentElements":13,"evergreen":13,"tags":138,"postWpBody":156,"wpHeaderImage":13,"wpHeaderImageOld":159,"wpHeaderImageOldSmall":13,"wpOgImage":13,"wpPromotedTeaserImage":13,"wpShareDescription":13,"wpShareTitle":13,"wpTeaserText":13,"wpYoastHead":171,"author":172},"NodeWpPost","967","The State of JavaScript: Frontend-Frameworks",{"__typename":83,"timestamp":84,"timezone":85,"offset":86,"time":87},"DateTime",1554798293,"UTC","+00:00","2019-04-09T08:24:53+00:00",{"__typename":83,"timestamp":89,"timezone":85,"offset":86,"time":90},1419339747,"2014-12-23T13:02:27+00:00",{"__typename":16,"id":17,"name":18,"direction":19},"/blog/the-state-of-javascript-frontend-frameworks",[94,101,108],{"__typename":95,"tag":96,"attributes":97},"MetaTagValue","meta",{"__typename":98,"name":99,"content":100},"MetaTagValueAttributes","title","The State of JavaScript: Frontend-Frameworks | Liechtenecker UX Design Studio",{"__typename":102,"tag":103,"attributes":104},"MetaTagLink","link",{"__typename":105,"href":106,"hreflang":13,"rel":107,"media":13,"sizes":13,"type":13},"MetaTagLinkAttributes","http://liechtenecker-cms.liechtenecker-cms.svc.cluster.local/blog/the-state-of-javascript-frontend-frameworks","canonical",{"__typename":109,"tag":96,"attributes":110},"MetaTagProperty",{"__typename":111,"property":112,"content":81},"MetaTagPropertyAttributes","og:title",{"__typename":114,"id":115,"name":116,"path":117,"status":20,"weight":118,"description":119,"langcode":123,"changed":124,"metatag":127},"TermCategories","7","Technologie","/kategorie/technologie",0,{"__typename":120,"processed":121,"format":122},"Text","Development Themen sowie zukünftige Technologien, mit denen wir uns auseinandersetzen. ","wp_html",{"__typename":16,"id":17,"name":18,"direction":19},{"__typename":83,"timestamp":125,"timezone":85,"offset":86,"time":126},1713772777,"2024-04-22T07:59:37+00:00",[128,131,135],{"__typename":95,"tag":96,"attributes":129},{"__typename":98,"name":99,"content":130},"Technologie | Liechtenecker UX Design Studio",{"__typename":95,"tag":96,"attributes":132},{"__typename":98,"name":133,"content":134},"description","Development Themen sowie zukünftige Technologien, mit denen wir uns auseinandersetzen.",{"__typename":102,"tag":103,"attributes":136},{"__typename":105,"href":137,"hreflang":13,"rel":107,"media":13,"sizes":13,"type":13},"http://liechtenecker-cms.liechtenecker-cms.svc.cluster.local/kategorie/technologie",[139,144,148,152],{"__typename":140,"id":141,"name":142,"path":143,"weight":118},"TermTags","80","angular","/tag/angular",{"__typename":140,"id":145,"name":146,"path":147,"weight":118},"501","framework","/tag/framework",{"__typename":140,"id":149,"name":150,"path":151,"weight":118},"507","frontend","/tag/frontend",{"__typename":140,"id":153,"name":154,"path":155,"weight":118},"677","javascript","/tag/javascript",{"__typename":157,"processed":158,"format":122,"summary":13},"TextSummary","\u003Cdiv class=\"grid-wrapper\">\n    \u003Cdiv class=\"row\">\n        \u003Cdiv class=\"default-left col-xsmall-12 col-medium-6 col-medium-offset-2 col-large-6 col-large-offset-3 \">\n            \n\u003Cdiv alt=\"tsoj-2\" data-entity-type=\"media\" data-entity-uuid=\"dacab8ed-96e8-4891-9306-3d8fed8c7838\" data-langcode=\"de\" class=\"embedded-entity\">\u003Cdiv>\n  \n  \n  \u003Cdiv>\n    \u003Cdiv class=\"visually-hidden\">Bild\u003C/div>\n              \u003Cdiv>    \u003Cpicture>\n                  \u003Csource srcset=\"/sites/default/files/styles/image_width_medium/public/wp-migration/wordpress-media-image/2014/12/tsoj-22-1.jpg.webp?itok=Nzs2rDf9 1x, /sites/default/files/styles/image_width_medium_x2/public/wp-migration/wordpress-media-image/2014/12/tsoj-22-1.jpg.webp?itok=z2cgwpXt 2x\" media=\"all and (min-width: 1024px) and (max-width: 1439px)\" type=\"image/webp\" width=\"1000\" height=\"400\">\n              \u003Csource srcset=\"/sites/default/files/styles/image_width_small/public/wp-migration/wordpress-media-image/2014/12/tsoj-22-1.jpg.webp?itok=yJkXjtGs 1x, /sites/default/files/styles/image_width_small_x2/public/wp-migration/wordpress-media-image/2014/12/tsoj-22-1.jpg.webp?itok=RKlERSRK 2x\" media=\"all and (min-width: 745px) and (max-width: 1023px)\" type=\"image/webp\" width=\"1000\" height=\"400\">\n              \u003Csource srcset=\"/sites/default/files/styles/image_width_xsmall/public/wp-migration/wordpress-media-image/2014/12/tsoj-22-1.jpg.webp?itok=HbSRCuMJ 1x, /sites/default/files/styles/image_width_xsmall_x2/public/wp-migration/wordpress-media-image/2014/12/tsoj-22-1.jpg.webp?itok=IXDnZrDZ 2x\" media=\"all and (min-width: 480px) and (max-width: 744px)\" type=\"image/webp\" width=\"745\" height=\"298\">\n              \u003Csource srcset=\"/sites/default/files/styles/image_width_xxsmall/public/wp-migration/wordpress-media-image/2014/12/tsoj-22-1.jpg.webp?itok=lZy-aCjq 1x, /sites/default/files/styles/image_width_xxsmall_x2/public/wp-migration/wordpress-media-image/2014/12/tsoj-22-1.jpg.webp?itok=AdFwfAF- 2x\" media=\"all and (max-width: 479px)\" type=\"image/webp\" width=\"480\" height=\"192\">\n              \u003Csource srcset=\"/sites/default/files/styles/image_width_large/public/wp-migration/wordpress-media-image/2014/12/tsoj-22-1.jpg.webp?itok=VF3s_qe3 1x, /sites/default/files/styles/image_width_large_x2/public/wp-migration/wordpress-media-image/2014/12/tsoj-22-1.jpg.webp?itok=LsMaDZym 2x\" type=\"image/webp\" width=\"1000\" height=\"400\">\n                  \u003Cimg loading=\"lazy\" width=\"1000\" height=\"400\" src=\"/sites/default/files/styles/image_width_large_x2/public/wp-migration/wordpress-media-image/2014/12/tsoj-22-1.jpg.jpg?itok=LsMaDZym\" alt=\"tsoj-2\" title=\"JavaScript Frontend Frameworks\">\n\n  \u003C/picture>\n\n\u003C/div>\n          \u003C/div>\n\n\u003C/div>\n\u003C/div>\n\u003Cp>\u003Cbr>\nIn meinem \u003Ca href=\"/the-state-of-javascript-der-ist-zustand/\">letzten Beitrag\u003C/a>, dem ersten Teil der Serie „The State of JavaScript“, bin ich auf die aktuelle Verbreitung von JavaScript eingegangen. In diesem Beitrag werde ich mich mit JavaScript Frontend-Frameworks beschäftigen.\u003C/p>\n\u003Ch2>Die Geschichte\u003C/h2>\n\u003Cp>JavaScript Frameworks wurden zu einer Zeit populär, als Entwickler Lösungen für immer komplexer werdende JavaScript-Projekte suchten. Fündig wurden sie dabei bei Frameworks und Libraries, die in nativem JavaScript komplexe Vorgänge durch einfachen Syntax erleichterten. Zu den populärsten und ersten dieser Frameworks zählten u.a.&nbsp;\u003Cem>Dojo Toolkit, Prototype&nbsp;\u003C/em>und etwas später auch&nbsp;\u003Cem>jQuery\u003C/em>.\u003Cbr>\n\u003Cem>jQuery\u003C/em> ist seit damals zur Standardlibrary für alle JavaScript-Projekte aufgestiegen und ist heutzutage – manchmal auch aus Faulheit oder Unwissen – aus nahezu keiner Website mehr wegzudenken. Warum jQuery nicht immer Standardmäßig eingebunden werden soll und warum JavaScript alleine auch sehr mächtig ist, kann man \u003Ca href=\"http://youmightnotneedjquery.com/\">hier\u003C/a> nachlesen.\u003Cbr>\nEinen Überblick über den zeitlichen Verlauf der Suchanfragen von JavaScript (rot) und jQuery (blau) kann man in folgendem Chart sehen:\u003Cbr>\n\u003Cscript src=\"//www.google.at/trends/embed.js?hl=de&amp;tz&amp;q=jQuery,+JavaScript&amp;cmpt=q&amp;content=1&amp;cid=TIMESERIES_GRAPH_0&amp;export=5&amp;w=700&amp;h=330\" type=\"text/javascript\">\u003C/script>Dabei ist besonders interessant, wie sehr sich die Anzahl der Suchanfragen von JavaScript und jQuery angenähert haben und wie groß das Suchvolumen von jQuery mittlerweile ist.\u003C/p>\n\u003Ch2>Die „neue“ Generation an Frameworks\u003C/h2>\n\u003Cp>Für lange Zeit dominierte jQuery die JavaScript-Entwicklungslandschaft was wenig verwunderlich ist: Zwar ist das Web ständig starker Entwicklung unterworfen, die Grundanforderung an eine Webseite – die (relativ) statische Bereitstellung von Informationen – blieb über lange Zeit erhalten. Mit der immer stärker werdenden Verbreitung von Webapps kamen auch neue Frameworks auf, die die Entwicklung derartiger Seiten vereinfachte und ermöglichte. Eines der ältesten und bekanntesten dieser Framworks ist das von Google entwickelte&nbsp;\u003Ca href=\"https://angularjs.org/\">Angular.js\u003C/a>.&nbsp;Weitere bekannte Vertreter sind \u003Ca href=\"http://emberjs.com/\">Ember.js\u003C/a>,&nbsp;das von Facebook entwickelte \u003Ca href=\"http://facebook.github.io/react/\">React\u003C/a>&nbsp;und \u003Ca href=\"http://backbonejs.org/\">Backbone\u003C/a>. Ziel dieser Frameworks (teilweise auch als „Single-Page-Application-Frameworks“ bekannt) ist es primär, oft benutzte und wichtige Funktionen für Webapps und dynamische Webseiten zu bündeln um&nbsp;eine strukturierte Entwicklung ebendieser zu ermöglichen. Vergleicht man die Popularität der Frameworks über Google Trends ist das in den Suchen dominierende Framework leicht auszumachen: AngularJs verzeichnet in Spitzenzeiten rund 15 mal mehr Suchanfragen als alle anderen angeführten Frameworks zusammen.\u003Cscript src=\"//www.google.at/trends/embed.js?hl=de&amp;tz&amp;q=angularjs,+emberjs,+react+js,+backbonejs&amp;cmpt=q&amp;content=1&amp;cid=TIMESERIES_GRAPH_0&amp;export=5&amp;w=700&amp;h=330\" type=\"text/javascript\">\u003C/script>\u003Cbr>\nEin Grund&nbsp;dafür warum Angular so populär ist, ist sicherlich die relativ flache Lernkurve, die es jedem Webentwickler schnell ermöglicht kleinere Projekte in Angular umzusetzen. Ein weitere Vorteil von Angular ist auch das Alter – Angular ist seit 2009 auf dem Markt und ist damit für Webverhältnisse etabliert. Natürlich schafft auch die Marktmacht von Google einen nicht unwesentlichen Vorteil bei der Verbreitung.\u003Cbr>\n\u003Ca href=\"http://github.wonglok.com/ARTPOP/index.html#/\" target=\"_blank\" rel=\"noopener noreferrer\">\u003Cdiv alt=\"apwgl\" data-entity-type=\"media\" data-entity-uuid=\"247e445a-21d7-47a5-8591-1a9efc9b43f2\" data-langcode=\"de\" class=\"embedded-entity\">\u003Cdiv>\n  \n  \n  \u003Cdiv>\n    \u003Cdiv class=\"visually-hidden\">Bild\u003C/div>\n              \u003Cdiv>    \u003Cpicture>\n                  \u003Csource srcset=\"/sites/default/files/styles/image_width_medium/public/wp-migration/wordpress-media-image/2014/12/apwgl2-1.jpg.webp?itok=OUBEbraI 1x, /sites/default/files/styles/image_width_medium_x2/public/wp-migration/wordpress-media-image/2014/12/apwgl2-1.jpg.webp?itok=zpHlsqrI 2x\" media=\"all and (min-width: 1024px) and (max-width: 1439px)\" type=\"image/webp\" width=\"1000\" height=\"462\">\n              \u003Csource srcset=\"/sites/default/files/styles/image_width_small/public/wp-migration/wordpress-media-image/2014/12/apwgl2-1.jpg.webp?itok=GvLoMeCF 1x, /sites/default/files/styles/image_width_small_x2/public/wp-migration/wordpress-media-image/2014/12/apwgl2-1.jpg.webp?itok=M8mFpuxZ 2x\" media=\"all and (min-width: 745px) and (max-width: 1023px)\" type=\"image/webp\" width=\"1000\" height=\"462\">\n              \u003Csource srcset=\"/sites/default/files/styles/image_width_xsmall/public/wp-migration/wordpress-media-image/2014/12/apwgl2-1.jpg.webp?itok=F6TWcGu3 1x, /sites/default/files/styles/image_width_xsmall_x2/public/wp-migration/wordpress-media-image/2014/12/apwgl2-1.jpg.webp?itok=QZ_qliyT 2x\" media=\"all and (min-width: 480px) and (max-width: 744px)\" type=\"image/webp\" width=\"745\" height=\"344\">\n              \u003Csource srcset=\"/sites/default/files/styles/image_width_xxsmall/public/wp-migration/wordpress-media-image/2014/12/apwgl2-1.jpg.webp?itok=wEusSMJF 1x, /sites/default/files/styles/image_width_xxsmall_x2/public/wp-migration/wordpress-media-image/2014/12/apwgl2-1.jpg.webp?itok=tNT2HPTf 2x\" media=\"all and (max-width: 479px)\" type=\"image/webp\" width=\"480\" height=\"222\">\n              \u003Csource srcset=\"/sites/default/files/styles/image_width_large/public/wp-migration/wordpress-media-image/2014/12/apwgl2-1.jpg.webp?itok=gq1AUFE4 1x, /sites/default/files/styles/image_width_large_x2/public/wp-migration/wordpress-media-image/2014/12/apwgl2-1.jpg.webp?itok=UBJn6F9K 2x\" type=\"image/webp\" width=\"1000\" height=\"462\">\n                  \u003Cimg loading=\"lazy\" width=\"1000\" height=\"462\" src=\"/sites/default/files/styles/image_width_large_x2/public/wp-migration/wordpress-media-image/2014/12/apwgl2-1.jpg.jpg?itok=UBJn6F9K\" alt=\"apwgl\" title=\"apwgl\">\n\n  \u003C/picture>\n\n\u003C/div>\n          \u003C/div>\n\n\u003C/div>\n\u003C/div>\n\u003C/a>\u003Cbr>\nDie großen Vorteile beim Einsatz derartiger Frameworks zeigen sich natürlich vor allem bei der Entwicklung von stark interaktiven Apps. So ist die Youtube-App der PS3 z.B. in Angular geschrieben. Auch vevo.com (in Österreich nicht verfügbar) setzt teilweise auf AngularJS.\u003C/p>\n\u003Ch2>Die Zukunft\u003C/h2>\n\u003Cp>JavaScript-Frameworks sind aus bei der Entwicklung kaum mehr wegzudenken. Da wird sich auch in Zukunft nur wenig ändern. Während viele Entwickler gespannt auf die Veröffentlichung von ECMAScript 6 warten haben die Entwickler von Angular bekannt gegeben, Version 2 von Angular von Grund auf neu zu schreiben um so die Vorteile von ECMAScript 6 auszunutzen. Mit Sicherheit werden auch andere Frameworks in Zukunft vermehrt auf ECMAScript 6 setzen, was noch professionellere Entwicklung im Web-Environment möglich macht.\u003Cbr>\n&nbsp;\u003C/p>\n        \u003C/div>\n    \u003C/div>\n\u003C/div>\n\n\n",{"__typename":160,"id":161,"excludeFromScreenreader":13,"mediaImage":162,"name":167,"path":170,"status":20},"MediaImage","2062",{"__typename":163,"url":164,"width":165,"height":166,"alt":167,"title":167,"size":168,"mime":169},"Image","http://liechtenecker-cms.liechtenecker-cms.svc.cluster.local/sites/default/files/wp-migration/wordpress-media-image/2014/12/dev_31-1.jpg",1920,1280,"Liechtenecker Büro",65998,"image/jpeg","/media/2062/edit","\u003C!-- This site is optimized with the Yoast SEO plugin v15.7 - https://yoast.com/wordpress/plugins/seo/ -->\n\u003Cmeta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" />\n\u003Clink rel=\"canonical\" href=\"https://legacy.liechtenecker.dev/blog/the-state-of-javascript-frontend-frameworks/\" />\n\u003Cmeta property=\"og:locale\" content=\"de_DE\" />\n\u003Cmeta property=\"og:type\" content=\"article\" />\n\u003Cmeta property=\"og:title\" content=\"The State of JavaScript: Frontend-Frameworks - Liechtenecker\" />\n\u003Cmeta property=\"og:description\" content=\"In meinem letzten Beitrag, dem ersten Teil der Serie &#8222;The State of JavaScript&#8220;, bin ich auf die aktuelle Verbreitung von JavaScript eingegangen. In diesem Beitrag werde ich mich mit JavaScript Frontend-Frameworks beschäftigen. Die Geschichte JavaScript Frameworks wurden zu einer Zeit populär, als Entwickler Lösungen für immer komplexer werdende JavaScript-Projekte suchten. Fündig wurden sie dabei bei [&hellip;]\" />\n\u003Cmeta property=\"og:url\" content=\"https://legacy.liechtenecker.dev/blog/the-state-of-javascript-frontend-frameworks/\" />\n\u003Cmeta property=\"og:site_name\" content=\"Liechtenecker\" />\n\u003Cmeta property=\"article:published_time\" content=\"2014-12-23T14:02:27+00:00\" />\n\u003Cmeta property=\"article:modified_time\" content=\"2019-04-09T10:24:53+00:00\" />\n\u003Cmeta property=\"og:image\" content=\"https://legacy.liechtenecker.dev/wp-content/uploads/2014/12/tsoj-22-1.jpg\" />\n\u003Cmeta name=\"twitter:card\" content=\"summary_large_image\" />\n\u003Cmeta name=\"twitter:label1\" content=\"Geschätzte Lesezeit\">\n\t\u003Cmeta name=\"twitter:data1\" content=\"3 Minuten\">\n\u003Cscript type=\"application/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://legacy.liechtenecker.dev/#website\",\"url\":\"https://legacy.liechtenecker.dev/\",\"name\":\"Liechtenecker\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https://legacy.liechtenecker.dev/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"de-DE\"},{\"@type\":\"ImageObject\",\"@id\":\"https://legacy.liechtenecker.dev/blog/the-state-of-javascript-frontend-frameworks/#primaryimage\",\"inLanguage\":\"de-DE\",\"url\":\"https://legacy.liechtenecker.dev/wp-content/uploads/2014/12/tsoj-22-1.jpg\",\"width\":1000,\"height\":400,\"caption\":\"JavaScript Frontend Frameworks\"},{\"@type\":\"WebPage\",\"@id\":\"https://legacy.liechtenecker.dev/blog/the-state-of-javascript-frontend-frameworks/#webpage\",\"url\":\"https://legacy.liechtenecker.dev/blog/the-state-of-javascript-frontend-frameworks/\",\"name\":\"The State of JavaScript: Frontend-Frameworks - Liechtenecker\",\"isPartOf\":{\"@id\":\"https://legacy.liechtenecker.dev/#website\"},\"primaryImageOfPage\":{\"@id\":\"https://legacy.liechtenecker.dev/blog/the-state-of-javascript-frontend-frameworks/#primaryimage\"},\"datePublished\":\"2014-12-23T14:02:27+00:00\",\"dateModified\":\"2019-04-09T10:24:53+00:00\",\"author\":{\"@id\":\"https://legacy.liechtenecker.dev/#/schema/person/b24fd61d8a4acf49d8c56f320617f6ec\"},\"inLanguage\":\"de-DE\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https://legacy.liechtenecker.dev/blog/the-state-of-javascript-frontend-frameworks/\"]}]},{\"@type\":\"Person\",\"@id\":\"https://legacy.liechtenecker.dev/#/schema/person/b24fd61d8a4acf49d8c56f320617f6ec\",\"name\":\"Stephan\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https://legacy.liechtenecker.dev/#personlogo\",\"inLanguage\":\"de-DE\",\"url\":\"https://secure.gravatar.com/avatar/400d5f8c531afb609b81aa66c8d56f01?s=96&d=mm&r=g\",\"caption\":\"Stephan\"}}]}\u003C/script>\n\u003C!-- / Yoast SEO plugin. -->",{"__typename":173,"id":174,"myRole":175,"name":176,"nickname":177},"User","23","langgedienter Frontend-Veteran","s-fletzberger","Stephan",{"latestKnowhow":179},[180,195,208],{"__typename":79,"id":181,"title":182,"path":183,"wpTeaserText":184,"wpPromotedTeaserImage":13,"wpHeaderImage":185},"1619","Behind the scenes: Ein Barrierefreiheits-Audit","/blog/behind-scenes-ein-barrierefreiheits-audit","”Entspricht unsere Website den gesetzlichen Anforderungen und wenn nicht, was genau müssen wir ändern?”\r\nDiese Frage lieben wir. Echt! Und so sieht unsere Antwort aus.",{"__typename":160,"id":186,"excludeFromScreenreader":13,"mediaImage":187,"name":193,"path":194,"status":20},"3364",{"__typename":163,"url":188,"width":189,"height":190,"alt":191,"title":13,"size":192,"mime":169},"http://liechtenecker-cms.liechtenecker-cms.svc.cluster.local/sites/default/files/2026-04/Headerbilder%20Blogartikel%20Behind%20the%20scene%20Accessibility%20Audit.jpg",2880,1300,"Headline mit Sujet: Tastatur mit Symbolen für Barrierefreiheit im Fokus auf hellem  Hintergrund",838204,"Headerbilder Blogartikel Behind the scene Accessibility Audit.jpg","/media/3364/edit",{"__typename":79,"id":196,"title":197,"path":198,"wpTeaserText":199,"wpPromotedTeaserImage":13,"wpHeaderImage":200},"1616","Agentic KI trifft Design-System: Wie unser Presentation Maker entstand.","/blog/agentic-ki-trifft-design-system-wie-unser-presentation-maker-entstand","Nein, wir wollen euch jetzt nicht erzählen, was KI alles kann. Aber wir möchten euch zeigen, wie wir mit KI umgehen. \r\n",{"__typename":160,"id":201,"excludeFromScreenreader":13,"mediaImage":202,"name":206,"path":207,"status":20},"3355",{"__typename":163,"url":203,"width":189,"height":190,"alt":204,"title":13,"size":205,"mime":169},"http://liechtenecker-cms.liechtenecker-cms.svc.cluster.local/sites/default/files/2026-03/BLOG_Presentation%20Tool_TITEL-2880x1300px_1.jpg","Lukas und Daniel  arbeiten an Computern im Büro.",2621988,"BLOG_Presentation Tool_TITEL-2880x1300px.jpg","/media/3355/edit",{"__typename":79,"id":209,"title":210,"path":211,"wpTeaserText":13,"wpPromotedTeaserImage":13,"wpHeaderImage":212},"1606","UI Trends 2026","/blog/ui-trends-2026",{"__typename":160,"id":213,"excludeFromScreenreader":21,"mediaImage":214,"name":218,"path":219,"status":20},"3303",{"__typename":163,"url":215,"width":189,"height":190,"alt":216,"title":13,"size":217,"mime":169},"http://liechtenecker-cms.liechtenecker-cms.svc.cluster.local/sites/default/files/2026-01/BLOG_Trendbericht%202026.jpg","UI Trends 2026, gelber Hintergrund, schwarze Schrift.",4700748,"BLOG_Trendbericht 2026.jpg","/media/3303/edit",{"Language:de":221,"MenuItem:9ffc5019-cbd8-4b2e-8eb7-9feae486d4a1":222,"MenuItem:1c7a5430-8a42-4b24-9544-252adabc2f4c":226,"MenuItem:9c4feedc-79e4-4fbf-b68c-065f33ebfe4c":229,"MenuItem:3b77a27b-272a-489f-843e-53e23ed07741":232,"MenuItem:ce0bb82b-e1ee-4036-be95-f693a62e9f4a":235,"MenuItem:04a19381-81a9-4694-8653-182d8855d2b5":238,"Menu:nuxt-main-menu":241,"ROOT_QUERY":255,"MenuItem:e2873307-b50a-4aab-b6b2-1950fd99c72e":271,"MenuItem:2cd9b7c9-142a-4ea3-b898-a0952c54a195":274,"MenuItem:a5effba3-5a8c-4125-8d78-0cdba09824db":277,"MenuItem:114bf071-bdbb-44cf-85c1-69e9d9e0777d":280,"Menu:footer":283,"TermCategories:7":293,"TermTags:80":304,"TermTags:501":305,"TermTags:507":306,"TermTags:677":307,"MediaImage:2062":308,"User:23":310,"NodeWpPost:967":311,"MediaImage:3364":338,"NodeWpPost:1619":340,"MediaImage:3355":343,"NodeWpPost:1616":345,"MediaImage:3303":348,"NodeWpPost:1606":350},["null","__typename",16,"id",17,"name",18,"direction",19],["null","__typename",10,"id",11,"title",12,"description",13,"url",14,"langcode",223,"internal",20,"expanded",21,"attributes",225],{"__ref":224},"Language:de",["null","__typename",23,"class",13],["null","__typename",10,"id",25,"title",26,"description",13,"url",27,"langcode",227,"internal",20,"expanded",21,"attributes",228],{"__ref":224},["null","__typename",23,"class",13],["null","__typename",10,"id",30,"title",31,"description",13,"url",32,"langcode",230,"internal",20,"expanded",21,"attributes",231],{"__ref":224},["null","__typename",23,"class",13],["null","__typename",10,"id",35,"title",36,"description",13,"url",37,"langcode",233,"internal",20,"expanded",21,"attributes",234],{"__ref":224},["null","__typename",23,"class",13],["null","__typename",10,"id",40,"title",41,"description",13,"url",42,"langcode",236,"internal",20,"expanded",21,"attributes",237],{"__ref":224},["null","__typename",23,"class",13],["null","__typename",10,"id",45,"title",46,"description",13,"url",47,"langcode",239,"internal",20,"expanded",21,"attributes",240],{"__ref":224},["null","__typename",23,"class",13],["null","__typename",5,"id",6,"name",7,"items",242],[243,245,247,249,251,253],{"__ref":244},"MenuItem:9ffc5019-cbd8-4b2e-8eb7-9feae486d4a1",{"__ref":246},"MenuItem:1c7a5430-8a42-4b24-9544-252adabc2f4c",{"__ref":248},"MenuItem:9c4feedc-79e4-4fbf-b68c-065f33ebfe4c",{"__ref":250},"MenuItem:3b77a27b-272a-489f-843e-53e23ed07741",{"__ref":252},"MenuItem:ce0bb82b-e1ee-4036-be95-f693a62e9f4a",{"__ref":254},"MenuItem:04a19381-81a9-4694-8653-182d8855d2b5",["null","__typename",256,"menu({\"name\":\"NUXT_MAIN_MENU\"})",257,"menu({\"name\":\"FOOTER\"})",259,"route({\"path\":\"/blog/the-state-of-javascript-frontend-frameworks\"})",261,"latestKnowhow({\"excludeId\":\"967\",\"limit\":3})",264],"Query",{"__ref":258},"Menu:nuxt-main-menu",{"__ref":260},"Menu:footer",["null","__typename",77,"entity",262],{"__ref":263},"NodeWpPost:967",[265,267,269],{"__ref":266},"NodeWpPost:1619",{"__ref":268},"NodeWpPost:1616",{"__ref":270},"NodeWpPost:1606",["null","__typename",10,"id",55,"title",56,"description",13,"url",57,"langcode",272,"internal",20,"expanded",21,"attributes",273],{"__ref":224},["null","__typename",23,"class",13],["null","__typename",10,"id",61,"title",62,"description",13,"url",63,"langcode",275,"internal",20,"expanded",21,"attributes",276],{"__ref":224},["null","__typename",23,"class",13],["null","__typename",10,"id",66,"title",67,"description",13,"url",68,"langcode",278,"internal",20,"expanded",21,"attributes",279],{"__ref":224},["null","__typename",23,"class",13],["null","__typename",10,"id",71,"title",72,"description",13,"url",73,"langcode",281,"internal",21,"expanded",21,"attributes",282],{"__ref":224},["null","__typename",23,"class",13],["null","__typename",5,"id",51,"name",52,"items",284],[285,287,289,291],{"__ref":286},"MenuItem:e2873307-b50a-4aab-b6b2-1950fd99c72e",{"__ref":288},"MenuItem:2cd9b7c9-142a-4ea3-b898-a0952c54a195",{"__ref":290},"MenuItem:a5effba3-5a8c-4125-8d78-0cdba09824db",{"__ref":292},"MenuItem:114bf071-bdbb-44cf-85c1-69e9d9e0777d",["null","__typename",114,"id",115,"name",116,"path",117,"status",20,"weight",118,"description",294,"langcode",295,"changed",296,"metatag",297],["null","__typename",120,"processed",121,"format",122],{"__ref":224},["null","__typename",83,"timestamp",125,"timezone",85,"offset",86,"time",126],[298,300,302],["null","__typename",95,"tag",96,"attributes",299],["null","__typename",98,"name",99,"content",130],["null","__typename",95,"tag",96,"attributes",301],["null","__typename",98,"name",133,"content",134],["null","__typename",102,"tag",103,"attributes",303],["null","__typename",105,"href",137,"hreflang",13,"rel",107,"media",13,"sizes",13,"type",13],["null","__typename",140,"id",141,"name",142,"path",143,"weight",118],["null","__typename",140,"id",145,"name",146,"path",147,"weight",118],["null","__typename",140,"id",149,"name",150,"path",151,"weight",118],["null","__typename",140,"id",153,"name",154,"path",155,"weight",118],["null","__typename",160,"id",161,"excludeFromScreenreader",13,"mediaImage",309,"name",167,"path",170,"status",20],["null","__typename",163,"url",164,"width",165,"height",166,"alt",167,"title",167,"size",168,"mime",169],["null","__typename",173,"id",174,"myRole",175,"name",176,"nickname",177],["null","__typename",79,"id",80,"title",81,"changed",312,"created",313,"langcode",314,"path",92,"promote",21,"status",20,"sticky",21,"metatag",315,"category",322,"contentElements",13,"evergreen",13,"tags",324,"wpBody",333,"wpHeaderImage",13,"wpHeaderImageOld",334,"wpHeaderImageOldSmall",13,"wpOgImage",13,"wpPromotedTeaserImage",13,"wpShareDescription",13,"wpShareTitle",13,"wpTeaserText",13,"wpYoastHead",171,"author",336],["null","__typename",83,"timestamp",84,"timezone",85,"offset",86,"time",87],["null","__typename",83,"timestamp",89,"timezone",85,"offset",86,"time",90],{"__ref":224},[316,318,320],["null","__typename",95,"tag",96,"attributes",317],["null","__typename",98,"name",99,"content",100],["null","__typename",102,"tag",103,"attributes",319],["null","__typename",105,"href",106,"hreflang",13,"rel",107,"media",13,"sizes",13,"type",13],["null","__typename",109,"tag",96,"attributes",321],["null","__typename",111,"property",112,"content",81],{"__ref":323},"TermCategories:7",[325,327,329,331],{"__ref":326},"TermTags:80",{"__ref":328},"TermTags:501",{"__ref":330},"TermTags:507",{"__ref":332},"TermTags:677",["null","__typename",157,"processed",158,"format",122,"summary",13],{"__ref":335},"MediaImage:2062",{"__ref":337},"User:23",["null","__typename",160,"id",186,"excludeFromScreenreader",13,"mediaImage",339,"name",193,"path",194,"status",20],["null","__typename",163,"url",188,"width",189,"height",190,"alt",191,"title",13,"size",192,"mime",169],["null","__typename",79,"id",181,"title",182,"path",183,"wpTeaserText",184,"wpPromotedTeaserImage",13,"wpHeaderImage",341],{"__ref":342},"MediaImage:3364",["null","__typename",160,"id",201,"excludeFromScreenreader",13,"mediaImage",344,"name",206,"path",207,"status",20],["null","__typename",163,"url",203,"width",189,"height",190,"alt",204,"title",13,"size",205,"mime",169],["null","__typename",79,"id",196,"title",197,"path",198,"wpTeaserText",199,"wpPromotedTeaserImage",13,"wpHeaderImage",346],{"__ref":347},"MediaImage:3355",["null","__typename",160,"id",213,"excludeFromScreenreader",21,"mediaImage",349,"name",218,"path",219,"status",20],["null","__typename",163,"url",215,"width",189,"height",190,"alt",216,"title",13,"size",217,"mime",169],["null","__typename",79,"id",209,"title",210,"path",211,"wpTeaserText",13,"wpPromotedTeaserImage",13,"wpHeaderImage",351],{"__ref":352},"MediaImage:3303"]