[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"9_t0YFtO844PW3-iCfPxRTbw8yv0-2zzu2bChZFenjo":3,"btz8hO-MXSFLpybqvfjYVBre4OvrEJO1wFySe3Zmv-s":49,"2j8UxntJAckg2a9V9TaTC69_v3NYASrQDn6WvFGf7qM":75,"Q-kwpUHO2PcFy0wykVA59yaULgq61_ecX4k1Nt5ZVGY":156,"_apollo:default":201},{"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":89,"path":90,"promote":21,"status":20,"sticky":21,"metatag":91,"postCategory":111,"postContentElements":13,"evergreen":13,"tags":136,"postWpBody":146,"wpHeaderImage":13,"wpHeaderImageOld":13,"wpHeaderImageOldSmall":13,"wpOgImage":13,"wpPromotedTeaserImage":13,"wpShareDescription":13,"wpShareTitle":13,"wpTeaserText":13,"wpYoastHead":149,"author":150},"NodeWpPost","1092","MVC - Was für ein Club?",{"__typename":83,"timestamp":84,"timezone":85,"offset":86,"time":87},"DateTime",1345114805,"UTC","+00:00","2012-08-16T11:00:05+00:00",{"__typename":83,"timestamp":84,"timezone":85,"offset":86,"time":87},{"__typename":16,"id":17,"name":18,"direction":19},"/blog/mvc-was-fur-ein-club",[92,99,106],{"__typename":93,"tag":94,"attributes":95},"MetaTagValue","meta",{"__typename":96,"name":97,"content":98},"MetaTagValueAttributes","title","MVC - Was für ein Club? | Liechtenecker UX Design Studio",{"__typename":100,"tag":101,"attributes":102},"MetaTagLink","link",{"__typename":103,"href":104,"hreflang":13,"rel":105,"media":13,"sizes":13,"type":13},"MetaTagLinkAttributes","http://liechtenecker-cms.liechtenecker-cms.svc.cluster.local/blog/mvc-was-fur-ein-club","canonical",{"__typename":107,"tag":94,"attributes":108},"MetaTagProperty",{"__typename":109,"property":110,"content":81},"MetaTagPropertyAttributes","og:title",{"__typename":112,"id":113,"name":114,"path":115,"status":20,"weight":116,"description":117,"langcode":121,"changed":122,"metatag":125},"TermCategories","8","UX/UI Design","/kategorie/design",0,{"__typename":118,"processed":119,"format":120},"Text","Themen aus dem Bereich Design &amp; User Experience","wp_html",{"__typename":16,"id":17,"name":18,"direction":19},{"__typename":83,"timestamp":123,"timezone":85,"offset":86,"time":124},1713772777,"2024-04-22T07:59:37+00:00",[126,129,133],{"__typename":93,"tag":94,"attributes":127},{"__typename":96,"name":97,"content":128},"UX/UI Design | Liechtenecker UX Design Studio",{"__typename":93,"tag":94,"attributes":130},{"__typename":96,"name":131,"content":132},"description","Themen aus dem Bereich Design & User Experience",{"__typename":100,"tag":101,"attributes":134},{"__typename":103,"href":135,"hreflang":13,"rel":105,"media":13,"sizes":13,"type":13},"http://liechtenecker-cms.liechtenecker-cms.svc.cluster.local/kategorie/design",[137,142],{"__typename":138,"id":139,"name":140,"path":141,"weight":116},"TermTags","854","MVC","/tag/mvc",{"__typename":138,"id":143,"name":144,"path":145,"weight":116},"965","php","/tag/php",{"__typename":147,"processed":148,"format":120,"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\u003Cp>In meinem letzten Blogartikel hab ich über \u003Ca title=\"Wie man Programmierer glücklicher macht\" href=\"/wie-man-programmierer-glucklicher-macht/\" target=\"_blank\" rel=\"noopener noreferrer\">Styleguides\u003C/a>&nbsp;berichtet, die das Leben eines Developers um einiges einfacher machen. Allerdings garantieren diese Guides keine komplette Happiness und Ordnung, denn der Code kann trotzdem noch sehr unübersichtlich sein.\u003Cbr>\nDeswegen gibt es heute einen kurzen Einblick in das sehr beliebte MVC (Model View Controller) Pattern und warum es unbedingt verwendet werden sollte.\u003C/p>\n\u003Ch4>\u003C/h4>\n\u003Ch4>Spaghetticode isn’t Yummie!\u003C/h4>\n\u003Cp>Wer kennt ihn nicht, diesen ekligen Spaghetticode? Da tut einem bei bloßem hinsehen schon die Programmierer Seele weh, auch wenn noch eher schlecht als recht versucht wird, den Code in mehrere Klassen aufzuteilen. Trotzdem noch ein ziemliches durcheinander und niemand kennt sich so recht aus, was, wo, wie funktioniert.\u003Cbr>\nAber wie schon gesagt, die Rettung ist nahe: MVC.\u003C/p>\n\u003Ch4>\u003C/h4>\n\u003Ch4>MVC – noch nie gehört?\u003C/h4>\n\u003Ca href=\"/sites/default/files/styles/full_width/public/wp-migration/wordpress-media-image/2012/08/mvc1-1.png?itok=arVwaZ3B\" data-rel=\"lightbox-gallery-Lff7qgPd\" data-rl_title data-rl_caption title class=\"js-image-link\">\u003Cdiv title=\"superschöne MVC Pattern Grafik\" data-entity-type=\"media\" data-entity-uuid=\"f85684e9-6840-4034-9e23-0bc1d8ea9173\" 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/2012/08/mvc1-1.png.webp?itok=VrqpNBHP 1x, /sites/default/files/styles/image_width_medium_x2/public/wp-migration/wordpress-media-image/2012/08/mvc1-1.png.webp?itok=F_042d25 2x\" media=\"all and (min-width: 1024px) and (max-width: 1439px)\" type=\"image/webp\" width=\"960\" height=\"720\">\n              \u003Csource srcset=\"/sites/default/files/styles/image_width_small/public/wp-migration/wordpress-media-image/2012/08/mvc1-1.png.webp?itok=SXTa9d85 1x, /sites/default/files/styles/image_width_small_x2/public/wp-migration/wordpress-media-image/2012/08/mvc1-1.png.webp?itok=eGQMWz8U 2x\" media=\"all and (min-width: 745px) and (max-width: 1023px)\" type=\"image/webp\" width=\"960\" height=\"720\">\n              \u003Csource srcset=\"/sites/default/files/styles/image_width_xsmall/public/wp-migration/wordpress-media-image/2012/08/mvc1-1.png.webp?itok=B26VH9MC 1x, /sites/default/files/styles/image_width_xsmall_x2/public/wp-migration/wordpress-media-image/2012/08/mvc1-1.png.webp?itok=aFl657EC 2x\" media=\"all and (min-width: 480px) and (max-width: 744px)\" type=\"image/webp\" width=\"745\" height=\"559\">\n              \u003Csource srcset=\"/sites/default/files/styles/image_width_xxsmall/public/wp-migration/wordpress-media-image/2012/08/mvc1-1.png.webp?itok=kyawQ2Ez 1x, /sites/default/files/styles/image_width_xxsmall_x2/public/wp-migration/wordpress-media-image/2012/08/mvc1-1.png.webp?itok=PHSa1wZb 2x\" media=\"all and (max-width: 479px)\" type=\"image/webp\" width=\"480\" height=\"360\">\n              \u003Csource srcset=\"/sites/default/files/styles/image_width_large/public/wp-migration/wordpress-media-image/2012/08/mvc1-1.png.webp?itok=ak1VOk7e 1x, /sites/default/files/styles/image_width_large_x2/public/wp-migration/wordpress-media-image/2012/08/mvc1-1.png.webp?itok=BH2l-Skw 2x\" type=\"image/webp\" width=\"960\" height=\"720\">\n                  \u003Cimg loading=\"lazy\" width=\"960\" height=\"720\" src=\"/sites/default/files/styles/image_width_large_x2/public/wp-migration/wordpress-media-image/2012/08/mvc1-1.png.jpg?itok=BH2l-Skw\" alt title=\"superschöne MVC Pattern Grafik\">\n\n  \u003C/picture>\n\n\u003C/div>\n          \u003C/div>\n\n\u003C/div>\n\u003C/div>\n\u003C/a>\u003Cp>Für alle die noch nicht wissen was MVC überhaupt ist kommt hier nun die Auflösung.\u003Cbr>\nUm die Übersicht über ein Programm zu behalten, kann dieses einfach in drei Komponenten geteilt werden:\u003Cbr>\n\u003Cstrong>Das M steht für Model (Modell)\u003C/strong>\u003Cbr>\nDieser Teil ist für die Geschäftslogik zuständig und verwaltet den Zustand von Objekten. Zumeist passiert hier die Kommunikation mit der Datenbank. Beispielsweise haben wir in unserer Anwendung ein User Model, das neue User in der Datenbank anlegt, die Daten aktualisiert und ausliest.\u003Cbr>\n\u003Cstrong>Das V steht für View (Ansicht)\u003C/strong>\u003Cbr>\nDieser Teil ist einfach zu verstehen und wahrscheinlich kann sich schon jeder vorstellen, wozu dieser Teil dient. Natürlich: für die Dartstellung der Daten aus beispielsweise der Datenbank. Allerdings ist das Model im normalfall nicht direkt mit der View verbunden, weswegen es noch den Controller gibt.\u003Cbr>\n\u003Cstrong>Das C steht für Controller (Steureung)\u003C/strong>\u003Cbr>\nDer Controller steht zwischen Model und View und ist grob gesagt für die Datenmanipulation zuständig.\u003Cbr>\nIn meiner super hübschen Grafik wird das ganze Prinzip nochmals dargestellt:\u003Cbr>\n\u003Cbr>\nUm es noch zu verdeutlichen ein kleines Beispiel:\u003Cbr>\n1. Priscilla kommt auf unsere Webapplikation. Der Controller überprüft jetzt, ob Priscilla eingeloggt ist. Wir nehmen an sie ist in unser System eingeloggt und sie soll direkt auf ihr Profil geleitet werden.\u003Cbr>\n2. Um Priscillas Userdaten in ihrem Profil anzeigen zu können, müssen wir diese Daten zunächst aus der Datenbank laden.\u003Cbr>\n3. Die ausgelesenen Daten gehen zurück an unseren Controller und werden wenn nötig noch verarbeitet.\u003Cbr>\n4. Nun, da die Daten passend aufbereitet wurden, werden diese an unsere Profil View geschickt und dort eingebaut.\u003Cbr>\n5. Schlussendlich kann Priscilla ihr persönliches Profil im Browser betrachten.\u003C/p>\n\u003Ch4>Noch nicht überzeugt?\u003C/h4>\n\u003Cp>Jetzt da wir wissen wie das ganze Prinzip funktioniert, können wir uns auch schon mit weiteren Vorteilen der MVC Struktur befassen.\u003Cbr>\nEs erspart einem eine Menge Sucharbeit, wenn man genau weiß in welchem Bereich was steht. Andererseits spart es auch Zeit wenn beim Programmieren schon klar ist, wo was hingehört.\u003Cbr>\nDurch die Einhaltung dieser Architektur wird die Anwendung sehr schlank, ist modular und somit leichter wartbar und erweiterbar.\u003Cbr>\nIn Verbindung mit den Coding und Style Guides schon fast perfekt.\u003C/p>\n\u003Ch4>“Fast” perfekt?\u003C/h4>\n\u003Cp>Nunja, klarerweise ist das nicht so einfach und effizient sich seine eigene MVC Architekturen für &nbsp;Anwendungen zu basteln.\u003Cbr>\nAber natürlich gibt es auch hier Lösungen – eine Vielzahl an unterschiedlichen Frameworks die auf dem MVC Prinzip basieren. Im PHP Bereich sind das beispielsweise \u003Ca title=\"CakePHP\" href=\"http://cakephp.org/\" target=\"_blank\" rel=\"noopener noreferrer\">CakePHP\u003C/a>, \u003Ca title=\"Symfony\" href=\"http://symfony.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Symfony\u003C/a>, \u003Ca title=\"CodeIgniter\" href=\"http://codeigniter.com/\" target=\"_blank\" rel=\"noopener noreferrer\">CodeIgniter\u003C/a> &nbsp;oder das neue Framework \u003Ca title=\"Laravel\" href=\"http://laravel.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Laravel\u003C/a>.\u003Cbr>\nDas allertollste hierbei ist, dass, wenn man einmal das MVC Prinzip verstanden hat und sich mit einem der Frameworks einigermaßen gut auskennt, die anderen Frameworks auch kein großes Problem mehr darstellen, da sie in einigen Bereichen sehr ähnlich funktionieren. Außerdem kann auch einfacher auf ein solches Framework einer anderen Programmiersprache gewechselt werden, wie zum Beispiel \u003Ca title=\"Ruby on Rails\" href=\"http://rubyonrails.org/\" target=\"_blank\" rel=\"noopener noreferrer\">Ruby on Rails\u003C/a>.\u003Cbr>\nEs ist mir wichtig diesen Punkt zu erwähnen, da einem Developer plötzlich so viele Möglichkeiten offen stehen und auch die Suche nach dem “perfekten” Framework für einen selbst erleichtert wird, wenn man die Basic Principles einmal versteht.\u003C/p>\n\u003Ch4>Wo ist der Haken?\u003C/h4>\n\u003Cp>Wie fast überall sonst auch gibt es hier natürlich auch Nachteile, die vor allem auftauchen wenn man noch nicht ganz so erfahren ist mit dem MVC Prinzip, oder aus Faulheit und/oder Zeitdruck.\u003Cbr>\nBeispielsweise bemängeln einige Developer, dass einfach viel zu viel Code in die Controller gestopft wird, da man nicht weiß wohin sonst mit dem Code. Das führt wiederum dazu, dass die Controller mit Spaghetticode vollgestopft sind, was man ja ursprünglich vermeiden wollte.\u003C/p>\n\u003Ch4>Zukunft?\u003C/h4>\n\u003Cp>Conrad Irwin hat einen netten Artikel verfasst, in dem er auf die Mängel des MVC Patterns hinweist und ein neues Prinzip vorstellt: “MVC is dead, it’s time to MOVE on.” \u003Ca href=\"http://cirw.in/blog/time-to-move-on\">http://cirw.in/blog/time-to-move-on\u003C/a>.\u003Cbr>\nDas MOVE Prinzip setzt sich aus folgendem zusammen:\u003Cbr>\n\u003Cstrong>Das M steht für Model\u003C/strong>\u003Cbr>\nHier wird alles gekapselt was die Anwendung weiß. Im Gegensatz zum MVC Model bietet dieses keine Funktionen, um beispielsweise Daten in die Datenbank zu speichern – das ist die Aufgabe der Operations.\u003Cbr>\n\u003Cstrong>Das O steht für Operations\u003C/strong>\u003Cbr>\nHier steht alles was die Anwendung so tut. Zum Beispiel wird hier überprüft, ob ein User eingeloggt ist, oder die Userdaten werden aus der Datenbank geladen etc.\u003Cbr>\n\u003Cstrong>Das V steht für Views\u003C/strong>\u003Cbr>\nHier hat sich nichts geändert im Vergleich zu den Views des MVC Patterns.\u003Cbr>\n\u003Cstrong>Das E steht für Events\u003C/strong>\u003Cbr>\nEvents verbinden alle diese Komponenten miteinander. Beispielsweise ist es ein Event, wenn der User in der View auf “log in” klickt – das Event teilt dies den Operations mit. Wenn der User dann vom System eingeloggt wurde und das User Model sich geändert hat (auch ein Event) wird die Applikation benachrichtigt.\u003Cbr>\nDas ganze klingt jetzt vielleicht noch ein bisschen nach “Hä?!”, aber wenn man näher darüber nachdenkt macht das schon Sinn.\u003C/p>\n\u003Ch4>Fazit\u003C/h4>\n\u003Cp>Ob MVC oder MOVE, Ordnung muss sein und mit so tollen Frameworks ist das alles auch gar kein Problem mehr.\u003Cbr>\nSetzt ihr MVC regelemäßig ein und findet ihr, dass es Zeit “to MOVE on” ist?\u003C/p>\n        \u003C/div>\n    \u003C/div>\n\u003C/div>\n\n\n","\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/mvc-was-fur-ein-club/\" />\n\u003Cmeta property=\"og:locale\" content=\"de_DE\" />\n\u003Cmeta property=\"og:type\" content=\"article\" />\n\u003Cmeta property=\"og:title\" content=\"MVC - Was für ein Club? - Liechtenecker\" />\n\u003Cmeta property=\"og:description\" content=\"In meinem letzten Blogartikel hab ich über Styleguides berichtet, die das Leben eines Developers um einiges einfacher machen. Allerdings garantieren diese Guides keine komplette Happiness und Ordnung, denn der Code kann trotzdem noch sehr unübersichtlich sein. Deswegen gibt es heute einen kurzen Einblick in das sehr beliebte MVC (Model View Controller) Pattern und warum es unbedingt [&hellip;]\" />\n\u003Cmeta property=\"og:url\" content=\"https://legacy.liechtenecker.dev/blog/mvc-was-fur-ein-club/\" />\n\u003Cmeta property=\"og:site_name\" content=\"Liechtenecker\" />\n\u003Cmeta property=\"article:published_time\" content=\"2012-08-16T13:00:05+00:00\" />\n\u003Cmeta property=\"og:image\" content=\"https://legacy.liechtenecker.dev/wp-content/uploads/2012/08/mvc1-1.png\" />\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=\"5 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/mvc-was-fur-ein-club/#primaryimage\",\"inLanguage\":\"de-DE\",\"url\":\"https://legacy.liechtenecker.dev/wp-content/uploads/2012/08/mvc1-1.png\",\"width\":960,\"height\":720},{\"@type\":\"WebPage\",\"@id\":\"https://legacy.liechtenecker.dev/blog/mvc-was-fur-ein-club/#webpage\",\"url\":\"https://legacy.liechtenecker.dev/blog/mvc-was-fur-ein-club/\",\"name\":\"MVC - Was f\\u00fcr ein Club? - Liechtenecker\",\"isPartOf\":{\"@id\":\"https://legacy.liechtenecker.dev/#website\"},\"primaryImageOfPage\":{\"@id\":\"https://legacy.liechtenecker.dev/blog/mvc-was-fur-ein-club/#primaryimage\"},\"datePublished\":\"2012-08-16T13:00:05+00:00\",\"dateModified\":\"2012-08-16T13:00:05+00:00\",\"author\":{\"@id\":\"https://legacy.liechtenecker.dev/#/schema/person/6b4f41c44e934653474ab67647eaa4e6\"},\"inLanguage\":\"de-DE\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https://legacy.liechtenecker.dev/blog/mvc-was-fur-ein-club/\"]}]},{\"@type\":\"Person\",\"@id\":\"https://legacy.liechtenecker.dev/#/schema/person/6b4f41c44e934653474ab67647eaa4e6\",\"name\":\"Sarah\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https://legacy.liechtenecker.dev/#personlogo\",\"inLanguage\":\"de-DE\",\"url\":\"https://secure.gravatar.com/avatar/f370faa99da7a5e86b0afa364854663c?s=96&d=mm&r=g\",\"caption\":\"Sarah\"}}]}\u003C/script>\n\u003C!-- / Yoast SEO plugin. -->",{"__typename":151,"id":152,"myRole":153,"name":154,"nickname":155},"User","21","-","s-mischinger","Sarah",{"latestKnowhow":157},[158,176,189],{"__typename":79,"id":159,"title":160,"path":161,"wpTeaserText":162,"wpPromotedTeaserImage":13,"wpHeaderImage":163},"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":164,"id":165,"excludeFromScreenreader":13,"mediaImage":166,"name":174,"path":175,"status":20},"MediaImage","3364",{"__typename":167,"url":168,"width":169,"height":170,"alt":171,"title":13,"size":172,"mime":173},"Image","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,"image/jpeg","Headerbilder Blogartikel Behind the scene Accessibility Audit.jpg","/media/3364/edit",{"__typename":79,"id":177,"title":178,"path":179,"wpTeaserText":180,"wpPromotedTeaserImage":13,"wpHeaderImage":181},"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":164,"id":182,"excludeFromScreenreader":13,"mediaImage":183,"name":187,"path":188,"status":20},"3355",{"__typename":167,"url":184,"width":169,"height":170,"alt":185,"title":13,"size":186,"mime":173},"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":190,"title":191,"path":192,"wpTeaserText":13,"wpPromotedTeaserImage":13,"wpHeaderImage":193},"1606","UI Trends 2026","/blog/ui-trends-2026",{"__typename":164,"id":194,"excludeFromScreenreader":21,"mediaImage":195,"name":199,"path":200,"status":20},"3303",{"__typename":167,"url":196,"width":169,"height":170,"alt":197,"title":13,"size":198,"mime":173},"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":202,"MenuItem:9ffc5019-cbd8-4b2e-8eb7-9feae486d4a1":203,"MenuItem:1c7a5430-8a42-4b24-9544-252adabc2f4c":207,"MenuItem:9c4feedc-79e4-4fbf-b68c-065f33ebfe4c":210,"MenuItem:3b77a27b-272a-489f-843e-53e23ed07741":213,"MenuItem:ce0bb82b-e1ee-4036-be95-f693a62e9f4a":216,"MenuItem:04a19381-81a9-4694-8653-182d8855d2b5":219,"Menu:nuxt-main-menu":222,"ROOT_QUERY":236,"MenuItem:e2873307-b50a-4aab-b6b2-1950fd99c72e":252,"MenuItem:2cd9b7c9-142a-4ea3-b898-a0952c54a195":255,"MenuItem:a5effba3-5a8c-4125-8d78-0cdba09824db":258,"MenuItem:114bf071-bdbb-44cf-85c1-69e9d9e0777d":261,"Menu:footer":264,"TermCategories:8":274,"TermTags:854":285,"TermTags:965":286,"User:21":287,"NodeWpPost:1092":288,"MediaImage:3364":309,"NodeWpPost:1619":311,"MediaImage:3355":314,"NodeWpPost:1616":316,"MediaImage:3303":319,"NodeWpPost:1606":321},["null","__typename",16,"id",17,"name",18,"direction",19],["null","__typename",10,"id",11,"title",12,"description",13,"url",14,"langcode",204,"internal",20,"expanded",21,"attributes",206],{"__ref":205},"Language:de",["null","__typename",23,"class",13],["null","__typename",10,"id",25,"title",26,"description",13,"url",27,"langcode",208,"internal",20,"expanded",21,"attributes",209],{"__ref":205},["null","__typename",23,"class",13],["null","__typename",10,"id",30,"title",31,"description",13,"url",32,"langcode",211,"internal",20,"expanded",21,"attributes",212],{"__ref":205},["null","__typename",23,"class",13],["null","__typename",10,"id",35,"title",36,"description",13,"url",37,"langcode",214,"internal",20,"expanded",21,"attributes",215],{"__ref":205},["null","__typename",23,"class",13],["null","__typename",10,"id",40,"title",41,"description",13,"url",42,"langcode",217,"internal",20,"expanded",21,"attributes",218],{"__ref":205},["null","__typename",23,"class",13],["null","__typename",10,"id",45,"title",46,"description",13,"url",47,"langcode",220,"internal",20,"expanded",21,"attributes",221],{"__ref":205},["null","__typename",23,"class",13],["null","__typename",5,"id",6,"name",7,"items",223],[224,226,228,230,232,234],{"__ref":225},"MenuItem:9ffc5019-cbd8-4b2e-8eb7-9feae486d4a1",{"__ref":227},"MenuItem:1c7a5430-8a42-4b24-9544-252adabc2f4c",{"__ref":229},"MenuItem:9c4feedc-79e4-4fbf-b68c-065f33ebfe4c",{"__ref":231},"MenuItem:3b77a27b-272a-489f-843e-53e23ed07741",{"__ref":233},"MenuItem:ce0bb82b-e1ee-4036-be95-f693a62e9f4a",{"__ref":235},"MenuItem:04a19381-81a9-4694-8653-182d8855d2b5",["null","__typename",237,"menu({\"name\":\"NUXT_MAIN_MENU\"})",238,"menu({\"name\":\"FOOTER\"})",240,"route({\"path\":\"/blog/mvc-was-fur-ein-club\"})",242,"latestKnowhow({\"excludeId\":\"1092\",\"limit\":3})",245],"Query",{"__ref":239},"Menu:nuxt-main-menu",{"__ref":241},"Menu:footer",["null","__typename",77,"entity",243],{"__ref":244},"NodeWpPost:1092",[246,248,250],{"__ref":247},"NodeWpPost:1619",{"__ref":249},"NodeWpPost:1616",{"__ref":251},"NodeWpPost:1606",["null","__typename",10,"id",55,"title",56,"description",13,"url",57,"langcode",253,"internal",20,"expanded",21,"attributes",254],{"__ref":205},["null","__typename",23,"class",13],["null","__typename",10,"id",61,"title",62,"description",13,"url",63,"langcode",256,"internal",20,"expanded",21,"attributes",257],{"__ref":205},["null","__typename",23,"class",13],["null","__typename",10,"id",66,"title",67,"description",13,"url",68,"langcode",259,"internal",20,"expanded",21,"attributes",260],{"__ref":205},["null","__typename",23,"class",13],["null","__typename",10,"id",71,"title",72,"description",13,"url",73,"langcode",262,"internal",21,"expanded",21,"attributes",263],{"__ref":205},["null","__typename",23,"class",13],["null","__typename",5,"id",51,"name",52,"items",265],[266,268,270,272],{"__ref":267},"MenuItem:e2873307-b50a-4aab-b6b2-1950fd99c72e",{"__ref":269},"MenuItem:2cd9b7c9-142a-4ea3-b898-a0952c54a195",{"__ref":271},"MenuItem:a5effba3-5a8c-4125-8d78-0cdba09824db",{"__ref":273},"MenuItem:114bf071-bdbb-44cf-85c1-69e9d9e0777d",["null","__typename",112,"id",113,"name",114,"path",115,"status",20,"weight",116,"description",275,"langcode",276,"changed",277,"metatag",278],["null","__typename",118,"processed",119,"format",120],{"__ref":205},["null","__typename",83,"timestamp",123,"timezone",85,"offset",86,"time",124],[279,281,283],["null","__typename",93,"tag",94,"attributes",280],["null","__typename",96,"name",97,"content",128],["null","__typename",93,"tag",94,"attributes",282],["null","__typename",96,"name",131,"content",132],["null","__typename",100,"tag",101,"attributes",284],["null","__typename",103,"href",135,"hreflang",13,"rel",105,"media",13,"sizes",13,"type",13],["null","__typename",138,"id",139,"name",140,"path",141,"weight",116],["null","__typename",138,"id",143,"name",144,"path",145,"weight",116],["null","__typename",151,"id",152,"myRole",153,"name",154,"nickname",155],["null","__typename",79,"id",80,"title",81,"changed",289,"created",290,"langcode",291,"path",90,"promote",21,"status",20,"sticky",21,"metatag",292,"category",299,"contentElements",13,"evergreen",13,"tags",301,"wpBody",306,"wpHeaderImage",13,"wpHeaderImageOld",13,"wpHeaderImageOldSmall",13,"wpOgImage",13,"wpPromotedTeaserImage",13,"wpShareDescription",13,"wpShareTitle",13,"wpTeaserText",13,"wpYoastHead",149,"author",307],["null","__typename",83,"timestamp",84,"timezone",85,"offset",86,"time",87],["null","__typename",83,"timestamp",84,"timezone",85,"offset",86,"time",87],{"__ref":205},[293,295,297],["null","__typename",93,"tag",94,"attributes",294],["null","__typename",96,"name",97,"content",98],["null","__typename",100,"tag",101,"attributes",296],["null","__typename",103,"href",104,"hreflang",13,"rel",105,"media",13,"sizes",13,"type",13],["null","__typename",107,"tag",94,"attributes",298],["null","__typename",109,"property",110,"content",81],{"__ref":300},"TermCategories:8",[302,304],{"__ref":303},"TermTags:854",{"__ref":305},"TermTags:965",["null","__typename",147,"processed",148,"format",120,"summary",13],{"__ref":308},"User:21",["null","__typename",164,"id",165,"excludeFromScreenreader",13,"mediaImage",310,"name",174,"path",175,"status",20],["null","__typename",167,"url",168,"width",169,"height",170,"alt",171,"title",13,"size",172,"mime",173],["null","__typename",79,"id",159,"title",160,"path",161,"wpTeaserText",162,"wpPromotedTeaserImage",13,"wpHeaderImage",312],{"__ref":313},"MediaImage:3364",["null","__typename",164,"id",182,"excludeFromScreenreader",13,"mediaImage",315,"name",187,"path",188,"status",20],["null","__typename",167,"url",184,"width",169,"height",170,"alt",185,"title",13,"size",186,"mime",173],["null","__typename",79,"id",177,"title",178,"path",179,"wpTeaserText",180,"wpPromotedTeaserImage",13,"wpHeaderImage",317],{"__ref":318},"MediaImage:3355",["null","__typename",164,"id",194,"excludeFromScreenreader",21,"mediaImage",320,"name",199,"path",200,"status",20],["null","__typename",167,"url",196,"width",169,"height",170,"alt",197,"title",13,"size",198,"mime",173],["null","__typename",79,"id",190,"title",191,"path",192,"wpTeaserText",13,"wpPromotedTeaserImage",13,"wpHeaderImage",322],{"__ref":323},"MediaImage:3303"]