{"id":12435,"date":"2024-04-16T09:54:00","date_gmt":"2024-04-16T07:54:00","guid":{"rendered":"https:\/\/apriko.com\/de\/?post_type=detail-page&#038;p=12435"},"modified":"2025-03-28T12:22:50","modified_gmt":"2025-03-28T10:22:50","slug":"codegenerierung","status":"publish","type":"detail-page","link":"https:\/\/apriko.com\/de\/blog\/codegenerierung\/","title":{"rendered":"Schneller und besser zum Ziel: Mit automatisierter Codegenerierung"},"content":{"rendered":"\n<section id=\"detail-main-block-66cc80dbd343b\" class=\"section section-detail\">\n<style>\r\n    @media only screen and (min-width: 768px) {\r\n        #detail-main-block-66cc80dbd343b{ padding-top:0px !important;padding-bottom:15px !important;}\r\n    }\r\n\r\n    @media only screen and (max-width: 767px) {\r\n        #detail-main-block-66cc80dbd343b{ padding-top:0px !important;padding-bottom:15px !important;}\r\n    }\r\n<\/style>\n\t<div class=\"container\">\n        <ul class=\"breadcrumbs\"><li><a href=\"https:\/\/apriko.com\/de\/\">Apriko<\/a><\/li><\/ul>\n\t\t<div>\n\t\t\t<div class=\"detail-info__content\">\n                \n                \n\t\t\t\t\n\t\t\t\t<div class=\"detail-article__title\">\n                    \n                    \t\t\t\t<\/div>\n\n                \t\t\t\t<div class=\"text-block\">\n                    <p>Auf fachlich relevanten Entit\u00e4ten k\u00f6nnen mit Attributen alle notwendigen Definitionen und Konfigurationen hinterlegt werden, ohne daf\u00fcr selbst Code schreiben zu m\u00fcssen. Alle Standard-Funktionen einer modernen Applikation werden dadurch automatisch durch einen eigens entwickelten Algorithmus generiert. Dazu geh\u00f6ren:<\/p>\n<ul>\n<li>CRUD-Operationen (Create, Read, Update, Delete)<\/li>\n<li>Data Transfer Objects (DTOs)<\/li>\n<li>Registrierungen f\u00fcr Dependency Injection (DI)<\/li>\n<li>Controller inklusive korrekter Routen<\/li>\n<li>Erg\u00e4nzungen der Data Definition Language (DDL)<\/li>\n<\/ul>\n<p>Die Codegenerierung bildet die Basis unseres REST-API und erm\u00f6glicht uns fehlerfrei und innerhalb von Minuten neue Anforderungen umzusetzen. In diesem Artikel fokussieren wir uns auf die automatische Generierung f\u00fcr die Entit\u00e4t Order und zeigen, wie erweiterte Funktionalit\u00e4ten durch Commands implementiert werden k\u00f6nnen.<\/p>\n\t\t\t\t<\/div>\n                \n                \t\t\t<\/div>\n\t\t<\/div>\n        \n        \r\n\t<\/div>\n<\/section>\n\n\n<section id=\"detail-main-block-66cc80dbd3554\" class=\"section section-detail\">\n<style>\r\n    @media only screen and (min-width: 768px) {\r\n        #detail-main-block-66cc80dbd3554{ padding-top:15px !important;padding-bottom:30px !important;}\r\n    }\r\n\r\n    @media only screen and (max-width: 767px) {\r\n        #detail-main-block-66cc80dbd3554{ padding-top:15px !important;padding-bottom:30px !important;}\r\n    }\r\n<\/style>\n\t<div class=\"container\">\n        \n\t\t<div>\n\t\t\t<div class=\"detail-info__content\">\n                \n                \n\t\t\t\t\n\t\t\t\t<div class=\"detail-article__title\">\n                                        <h3 class=\"title-4\">1. Die Grundlage: Die Entit\u00e4t Order<\/h3>\n                    \n                    \t\t\t\t<\/div>\n\n                \t\t\t\t<div class=\"text-block\">\n                    <p>Diese Definition zeigt, wie die Entit\u00e4t Order strukturiert ist:<\/p>\n<ul>\n<li>EntityCodeGeneration-Attribut: Dieses Attribut ist der Einstiegspunkt f\u00fcr unseren Codegenerator und enth\u00e4lt die notwendigen Informationen f\u00fcr die physische Order-Struktur und DI-Registry.<\/li>\n<li>MutableState-Attribut: Definiert, in welchem Zustand die Entit\u00e4t \u00fcber CRUD-Operationen ver\u00e4ndert werden kann.<\/li>\n<li>StrictRequired-Attribut: Die Felder OrderNumber, OrderDate und TotalAmount sind Pflichtfelder, die immer ausgef\u00fcllt sein m\u00fcssen.<\/li>\n<li>UniqueKey-Attribut: Das Feld OrderNumber muss einzigartig sein.<\/li>\n<li>NotSettableProperty-Attribut: Der Status der Bestellung (State) ist eine schreibgesch\u00fctzte Eigenschaft, die nur durch spezifische Logik, z.B. Commands, ge\u00e4ndert werden kann.<\/li>\n<\/ul>\n<picture> <img decoding=\"async\" class=\"attachment-full size-full\" src=\"https:\/\/apriko.com\/de\/wp-content\/uploads\/sites\/4\/2024\/08\/entity-codegen-engineering-apriko-1.svg\" alt=\"\" \/><\/picture>\n\t\t\t\t<\/div>\n                \n                \t\t\t<\/div>\n\t\t<\/div>\n        \n        \r\n\t<\/div>\n<\/section>\n\n\n<section id=\"detail-main-block-66cc80dbd360f\" class=\"section section-detail\">\n<style>\r\n    @media only screen and (min-width: 768px) {\r\n        #detail-main-block-66cc80dbd360f{ padding-top:0px !important;padding-bottom:15px !important;}\r\n    }\r\n\r\n    @media only screen and (max-width: 767px) {\r\n        #detail-main-block-66cc80dbd360f{ padding-top:0px !important;padding-bottom:15px !important;}\r\n    }\r\n<\/style>\n\t<div class=\"container\">\n        \n\t\t<div>\n\t\t\t<div class=\"detail-info__content\">\n                \n                \n\t\t\t\t\n\t\t\t\t<div class=\"detail-article__title\">\n                                        <h3 class=\"title-4\">2. Automatische Generierung von CRUD-Operationen<\/h3>\n                    \n                    \t\t\t\t<\/div>\n\n                \t\t\t\t<div class=\"text-block\">\n                    <p>Basierend auf der oben definierten Entit\u00e4t Order werden die entsprechenden CRUD-Operationen automatisch generiert. Dies umfasst das Erstellen, Lesen, Aktualisieren und L\u00f6schen von Bestellungen in der Datenbank. Zus\u00e4tzlich werden die dazugeh\u00f6rigen DTOs (Data Transfer Objects) und Controller-Routen erstellt, die es erm\u00f6glichen, die Entit\u00e4t direkt in den Microservice zu integrieren.<br \/>\nDie automatische Codegenerierung stellt sicher, dass die CRUD-Operationen konsistent und nach den besten Praktiken implementiert werden, ohne dass Entwickler Zeit mit der manuellen Erstellung dieser Standardfunktionen verbringen m\u00fcssen.<\/p>\n\t\t\t\t<\/div>\n                \n                \t\t\t<\/div>\n\t\t<\/div>\n        \n        \r\n\t<\/div>\n<\/section>\n\n\n<section id=\"detail-main-block-66cc80dbd36c1\" class=\"section section-detail\">\n<style>\r\n    @media only screen and (min-width: 768px) {\r\n        #detail-main-block-66cc80dbd36c1{ padding-top:15px !important;padding-bottom:30px !important;}\r\n    }\r\n\r\n    @media only screen and (max-width: 767px) {\r\n        #detail-main-block-66cc80dbd36c1{ padding-top:15px !important;padding-bottom:30px !important;}\r\n    }\r\n<\/style>\n\t<div class=\"container\">\n        \n\t\t<div>\n\t\t\t<div class=\"detail-info__content\">\n                \n                \n\t\t\t\t\n\t\t\t\t<div class=\"detail-article__title\">\n                                        <h3 class=\"title-4\">3. Erweiterung durch Commands: Gesch\u00e4ftslogik \u00fcber CRUD hinaus<\/h3>\n                    \n                    \t\t\t\t<\/div>\n\n                \t\t\t\t<div class=\"text-block\">\n                    <p>W\u00e4hrend CRUD-Operationen (Create, Read, Update, Delete) den Kern vieler Microservices-Anwendungen ausmachen, gibt es oft Anforderungen, die \u00fcber diese einfachen Operationen hinausgehen. Solche komplexen Anwendungsf\u00e4lle k\u00f6nnen mit dem Konzept der Commands abgebildet werden. Commands sind spezifische Anweisungen, die komplexere Gesch\u00e4ftslogik implementieren und dabei mehr tun, als nur Daten in einer Datenbank zu verwalten. Commands sind besonders n\u00fctzlich, wenn bestimmte Gesch\u00e4ftsregeln oder Bedingungen erf\u00fcllt sein m\u00fcssen, bevor eine Operation ausgef\u00fchrt werden kann. Die Automatisierung der Generierung solcher Commands reduziert nicht nur den Entwicklungsaufwand, sondern stellt auch sicher, dass die Implementierung konsistent und fehlerfrei erfolgt. Die Generierung der zus\u00e4tzlichen Routen im Controller und der Eintr\u00e4ge in der Dependency Injection (DI) Registry erfolgen automatisch.<br \/>\nNehmen wir ein einfaches Beispiel f\u00fcr einen Command, der eine Bestellung best\u00e4tigt:<\/p>\n<picture>\n    <img decoding=\"async\" src=\"https:\/\/apriko.com\/de\/wp-content\/uploads\/sites\/4\/2024\/08\/command-codegen-engineering-apriko.svg\" class=\"attachment-full size-full\" alt=\"\"><\/picture>\n\t\t\t\t<\/div>\n                \n                \t\t\t<\/div>\n\t\t<\/div>\n        \n        \r\n\t<\/div>\n<\/section>\n\n\n<section id=\"detail-main-block-66cc80dbd376f\" class=\"section section-detail\">\n<style>\r\n    @media only screen and (min-width: 768px) {\r\n        #detail-main-block-66cc80dbd376f{ padding-top:0px !important;padding-bottom:15px !important;}\r\n    }\r\n\r\n    @media only screen and (max-width: 767px) {\r\n        #detail-main-block-66cc80dbd376f{ padding-top:0px !important;padding-bottom:15px !important;}\r\n    }\r\n<\/style>\n\t<div class=\"container\">\n        \n\t\t<div>\n\t\t\t<div class=\"detail-info__content\">\n                \n                \n\t\t\t\t\n\t\t\t\t<div class=\"detail-article__title\">\n                                        <h3 class=\"title-4\">4. Erkl\u00e4rung des Command-Beispiels<\/h3>\n                    \n                    \t\t\t\t<\/div>\n\n                \t\t\t\t<div class=\"text-block\">\n                    <p>Der OrderConfirmCommand ist ein einfaches Beispiel f\u00fcr die Erweiterung der Gesch\u00e4ftslogik:<\/p>\n<ul>\n<li>CommandCodeGeneration-Attribut: Dieses Attribut definiert den Command Confirm, der \u00fcber die Route {id}\/confirm aufgerufen wird. Es definiert ausserdem den Basistyp der Zielentit\u00e4t (Order) und das dazugeh\u00f6rige Modell (OrderConfirmModel).<\/li>\n<li>StatePrecondition-Attribut: Dieser Command kann nur ausgef\u00fchrt werden, wenn die Bestellung sich im Zustand Pending befindet.<\/li>\n<li>TargetState-Attribut: Der Zielzustand nach der Ausf\u00fchrung des Commands ist Confirmed.<\/li>\n<li>CheckPreconditions-Methode: Hier wird \u00fcberpr\u00fcft, ob die Bestellung einen g\u00fcltigen TotalAmount hat, bevor sie best\u00e4tigt wird.<\/li>\n<li>ExecuteAsync-Methode: Diese Methode setzt den Status der Bestellung auf Confirmed.<\/li>\n<\/ul>\n\t\t\t\t<\/div>\n                \n                \t\t\t<\/div>\n\t\t<\/div>\n        \n        \r\n\t<\/div>\n<\/section>\n\n\n<section id=\"detail-main-block-66cc80dbd381a\" class=\"section section-detail\">\n<style>\r\n    @media only screen and (min-width: 768px) {\r\n        #detail-main-block-66cc80dbd381a{ padding-top:0px !important;padding-bottom:15px !important;}\r\n    }\r\n\r\n    @media only screen and (max-width: 767px) {\r\n        #detail-main-block-66cc80dbd381a{ padding-top:0px !important;padding-bottom:15px !important;}\r\n    }\r\n<\/style>\n\t<div class=\"container\">\n        \n\t\t<div>\n\t\t\t<div class=\"detail-info__content\">\n                \n                \n\t\t\t\t\n\t\t\t\t<div class=\"detail-article__title\">\n                                        <h3 class=\"title-4\">5. Integration in die Microservices-Architektur<\/h3>\n                    \n                    \t\t\t\t<\/div>\n\n                \t\t\t\t<div class=\"text-block\">\n                    <p>Die Generierung von Commands erweitert die Funktionalit\u00e4t der Entit\u00e4t und erm\u00f6glicht die Implementierung spezifischer Gesch\u00e4ftslogik. Gleichzeitig werden die notwendigen Routen im Controller und die Eintr\u00e4ge in der DI-Registry automatisch hinzugef\u00fcgt. Dadurch wird sichergestellt, dass neue Funktionen nahtlos in die bestehende Architektur integriert werden k\u00f6nnen.<\/p>\n\t\t\t\t<\/div>\n                \n                \t\t\t<\/div>\n\t\t<\/div>\n        \n        \r\n\t<\/div>\n<\/section>\n\n\n<section id=\"detail-main-block-66cc80dbd38c3\" class=\"section section-detail\">\n<style>\r\n    @media only screen and (min-width: 768px) {\r\n        #detail-main-block-66cc80dbd38c3{ padding-top:0px !important;padding-bottom:15px !important;}\r\n    }\r\n\r\n    @media only screen and (max-width: 767px) {\r\n        #detail-main-block-66cc80dbd38c3{ padding-top:0px !important;padding-bottom:15px !important;}\r\n    }\r\n<\/style>\n\t<div class=\"container\">\n        \n\t\t<div>\n\t\t\t<div class=\"detail-info__content\">\n                \n                \n\t\t\t\t\n\t\t\t\t<div class=\"detail-article__title\">\n                                        <h3 class=\"title-4\">6. Vorteile der kombinierten Nutzung von Entit\u00e4ten und Commands<\/h3>\n                    \n                    \t\t\t\t<\/div>\n\n                \t\t\t\t<div class=\"text-block\">\n                    <ul>\n<li>Effizienz und Konsistenz: Die automatische Generierung spart Zeit und gew\u00e4hrleistet konsistente Implementierungen.<\/li>\n<li>Erweiterbarkeit: Neue Gesch\u00e4ftslogik kann einfach durch Hinzuf\u00fcgen von Commands integriert werden.<\/li>\n<li>Bessere Wartbarkeit: Die klare Trennung von Standard-CRUD-Operationen und spezifischen Commands erleichtert die Wartung und Weiterentwicklung der Anwendung.<\/li>\n<\/ul>\n\t\t\t\t<\/div>\n                \n                \t\t\t<\/div>\n\t\t<\/div>\n        \n        \r\n\t<\/div>\n<\/section>\n\n\n<section id=\"detail-main-block-66cc80dbd396e\" class=\"section section-detail\">\n<style>\r\n    @media only screen and (min-width: 768px) {\r\n        #detail-main-block-66cc80dbd396e{ padding-top:0px !important;padding-bottom:15px !important;}\r\n    }\r\n\r\n    @media only screen and (max-width: 767px) {\r\n        #detail-main-block-66cc80dbd396e{ padding-top:0px !important;padding-bottom:15px !important;}\r\n    }\r\n<\/style>\n\t<div class=\"container\">\n        \n\t\t<div>\n\t\t\t<div class=\"detail-info__content\">\n                \n                \n\t\t\t\t\n\t\t\t\t<div class=\"detail-article__title\">\n                                        <h3 class=\"title-4\">7. Fazit<\/h3>\n                    \n                    \t\t\t\t<\/div>\n\n                \t\t\t\t<div class=\"text-block\">\n                    <p>Die Kombination aus der automatisierten Generierung von CRUD-Operationen f\u00fcr Entit\u00e4ten und der Erweiterung durch Commands bietet eine robuste L\u00f6sung f\u00fcr die Entwicklung von Microservices in .NET. Diese Ans\u00e4tze erm\u00f6glichen es uns, sowohl einfache als auch komplexe Gesch\u00e4ftslogik effizient und skalierbar zu implementieren, wodurch Entwickler sich st\u00e4rker auf die Kernlogik ihrer Anwendung konzentrieren k\u00f6nnen. Die so gewonnene Zeit und Konsistenz tr\u00e4gt massgeblich zu einer h\u00f6heren Qualit\u00e4t und Wartbarkeit der gesamten Codebasis bei.<\/p>\n\t\t\t\t<\/div>\n                \n                \t\t\t<\/div>\n\t\t<\/div>\n        \n        \r\n\t<\/div>\n<\/section>\n\n\n<section id=\"contact-66cc80dbd3d4a\" class=\"section\">\n<style>\r\n    @media only screen and (min-width: 768px) {\r\n        #contact-66cc80dbd3d4a{ padding-top:70px !important;padding-bottom:px !important;}\r\n    }\r\n\r\n    @media only screen and (max-width: 767px) {\r\n        #contact-66cc80dbd3d4a{ padding-top:70px !important;padding-bottom:px !important;}\r\n    }\r\n<\/style>\n\t<div class=\"container\">\n                \n\t\t<div class=\"contact-block\">\n\t\t\t<div class=\"contact-block__cont contact-info\">\n                \t\t\t\t<h3 class=\"contact-info__title\">Hast du Fragen? Schreib uns \u2013 wir sind gespannt!<\/h3>\n                                \t\t\t\t<div class=\"contact-info__name\">Michael Vogler<\/div>\n                                \t\t\t\t<div class=\"contact-info__sub-title\">Software Architect<\/div>\n                \n\t\t\t\t<div class=\"contact-info__links\">\n                    \t\t\t\t\t<a href=\"mailto:michael&#064;aprik&#111;&#046;c&#111;m\">michael&#64;aprik&#111;&#46;c&#111;m<\/a>\n                                        \t\t\t\t<\/div>\n\n                \t\t\t<\/div>\n\n\t\t\t<div class=\"contact-block__media\">\n                \n<div  class=\"contact-block__img\">\n\n<picture>\n    <img decoding=\"async\" width=\"1500\" height=\"1222\" src=\"https:\/\/apriko.com\/de\/wp-content\/uploads\/sites\/4\/2024\/08\/Michael-Vogler-Contact.jpg\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/apriko.com\/de\/wp-content\/uploads\/sites\/4\/2024\/08\/Michael-Vogler-Contact.jpg 1500w, https:\/\/apriko.com\/de\/wp-content\/uploads\/sites\/4\/2024\/08\/Michael-Vogler-Contact-768x626.jpg 768w\" sizes=\"(max-width: 1500px) 100vw, 1500px\" \/><\/picture>\n\n\n\n<\/div>\n\n\t\t\t\t<div class=\"contact-block__decore\">\n\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/apriko.com\/de\/wp-content\/themes\/general\/frontend\/assets\/img\/contacts-decore.svg\" alt=\"\">\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/section>\n\n\n<section id=\"card-slider-66cc80dbd41da\" class=\"section section-full\">\n<style>\r\n    @media only screen and (min-width: 768px) {\r\n        #card-slider-66cc80dbd41da{ padding-top:100px !important;padding-bottom:px !important;}\r\n    }\r\n\r\n    @media only screen and (max-width: 767px) {\r\n        #card-slider-66cc80dbd41da{ padding-top:100px !important;padding-bottom:px !important;}\r\n    }\r\n<\/style>\n\t<div class=\"container\">\n\t\t\t\t\n\t\t<div class=\"cards-slider js-cards-slider\">\n\t\t\t<div class=\"cards-slider-head\">\n\t\t\t\t<div class=\"cards-slider-head__body\">\n                    \n                                        <h2 class=\"title-3\">Mehr gute Gr\u00fcnde f\u00fcr Apriko<\/h2>\n                    \t\t\t\t<\/div>\n\t\t\t\t<div class=\"arrows cards-slider-arrows\">\n\t\t\t\t\t<button type=\"button\" class=\"arrow-btn arrow-btn-prev\">\n\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/apriko.com\/de\/wp-content\/themes\/general\/frontend\/assets\/img\/arrow-left.svg\" alt=\"\">\n\t\t\t\t\t<\/button>\n\t\t\t\t\t<button type=\"button\" class=\"arrow-btn arrow-btn-next\">\n\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/apriko.com\/de\/wp-content\/themes\/general\/frontend\/assets\/img\/arrow-right.svg\" alt=\"\">\n\t\t\t\t\t<\/button>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n            \t\t\t<div class=\"swiper\">\n\t\t\t\t<div class=\"swiper-wrapper\">\n                                    <div class=\"swiper-slide\">\n\t\t\t\t\t\t\t\t\t\t\n<div class=\"card-container \">\n    <div class=\"card \">\n        <div class=\"card__top\">\n            \n                            \n<div  class=\"card__media\">\n\n<picture>\n    <img decoding=\"async\" width=\"3840\" height=\"2160\" src=\"https:\/\/apriko.com\/de\/wp-content\/uploads\/sites\/4\/2024\/04\/bdd.png\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/apriko.com\/de\/wp-content\/uploads\/sites\/4\/2024\/04\/bdd.png 3840w, https:\/\/apriko.com\/de\/wp-content\/uploads\/sites\/4\/2024\/04\/bdd-768x432.png 768w, https:\/\/apriko.com\/de\/wp-content\/uploads\/sites\/4\/2024\/04\/bdd-1536x864.png 1536w, https:\/\/apriko.com\/de\/wp-content\/uploads\/sites\/4\/2024\/04\/bdd-2048x1152.png 2048w\" sizes=\"(max-width: 3840px) 100vw, 3840px\" \/><\/picture>\n\n\n\n<\/div>\n                    <\/div>\n        <div class=\"card__body\">\n            <div class=\"card__head\">\n                <div class=\"card__head-left\">\n                                            <div class=\"card__category\">Engineering<\/div>\n                    \n                                        <h3 class=\"card__title\">Behavior Driven Development <\/h3>\n                                    <\/div>\n                                    \r\n<div  class=\"icon icon-35\">\r\n    <img decoding=\"async\" src=\"https:\/\/apriko.com\/de\/wp-content\/uploads\/sites\/4\/2024\/08\/Engineering-1.svg\" class=\"attachment-35x35 size-35x35\" alt=\"\" \/><\/div>                            <\/div>\n\n            <div class=\"card__ligt-text\">15. April 2024<\/div>\n\n            <div class=\"card__text\">\n                <p>Bei Apriko streben wir nach einem hohen Automatisierungsgrad der Kundenprozesse, einer schnellen Markteinf\u00fchrung und einer kontinuierlichen Verbesserung unserer Software. Um dies in einer anspruchsvollen Dom\u00e4ne und komplexen Softwarearchitektur sicherzustellen, ist eine pr\u00e4zise Planung und konsequente Umsetzung von Anfang an unverzichtbar.<\/p>\n            <\/div>\n\n            <div class=\"card__footer\">\n                <div class=\"card__action\">\n                    <button type=\"button\" class=\"action-btn js-card-flip\">\n                        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"13\" height=\"15\" viewBox=\"0 0 13 15\" fill=\"none\">\r\n    <path d=\"M10.8333 15C10.2315 15 9.71991 14.7813 9.29861 14.3438C8.87732 13.9063 8.66667 13.375 8.66667 12.75C8.66667 12.6625 8.67269 12.5719 8.68472 12.4781C8.69676 12.3844 8.71482 12.3 8.73889 12.225L3.64722 9.15C3.44259 9.3375 3.21389 9.48438 2.96111 9.59063C2.70833 9.69688 2.44352 9.75 2.16667 9.75C1.56481 9.75 1.05324 9.53125 0.631944 9.09375C0.210648 8.65625 0 8.125 0 7.5C0 6.875 0.210648 6.34375 0.631944 5.90625C1.05324 5.46875 1.56481 5.25 2.16667 5.25C2.44352 5.25 2.70833 5.30313 2.96111 5.40938C3.21389 5.51562 3.44259 5.6625 3.64722 5.85L8.73889 2.775C8.71482 2.7 8.69676 2.61563 8.68472 2.52188C8.67269 2.42813 8.66667 2.3375 8.66667 2.25C8.66667 1.625 8.87732 1.09375 9.29861 0.65625C9.71991 0.21875 10.2315 0 10.8333 0C11.4352 0 11.9468 0.21875 12.3681 0.65625C12.7894 1.09375 13 1.625 13 2.25C13 2.875 12.7894 3.40625 12.3681 3.84375C11.9468 4.28125 11.4352 4.5 10.8333 4.5C10.5565 4.5 10.2917 4.44688 10.0389 4.34063C9.78611 4.23438 9.55741 4.0875 9.35278 3.9L4.26111 6.975C4.28519 7.05 4.30324 7.13438 4.31528 7.22813C4.32731 7.32188 4.33333 7.4125 4.33333 7.5C4.33333 7.5875 4.32731 7.67813 4.31528 7.77188C4.30324 7.86563 4.28519 7.95 4.26111 8.025L9.35278 11.1C9.55741 10.9125 9.78611 10.7656 10.0389 10.6594C10.2917 10.5531 10.5565 10.5 10.8333 10.5C11.4352 10.5 11.9468 10.7188 12.3681 11.1562C12.7894 11.5938 13 12.125 13 12.75C13 13.375 12.7894 13.9063 12.3681 14.3438C11.9468 14.7813 11.4352 15 10.8333 15Z\" fill=\"none\"\/>\r\n<\/svg>                    <\/button>\n                                        <button type=\"button\" class=\"action-btn bookmark\" data-id=\"12515\">\n                        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"13\" height=\"17\" viewBox=\"0 0 13 17\" fill=\"none\">\r\n    <path d=\"M0.5 17V1.88889C0.5 1.36944 0.667857 0.924769 1.00357 0.554861C1.33929 0.184954 1.74286 0 2.21429 0H10.7857C11.2571 0 11.6607 0.184954 11.9964 0.554861C12.3321 0.924769 12.5 1.36944 12.5 1.88889V17L6.5 13.4111L0.5 17ZM2.21429 14.1194L6.5 11.3333L10.7857 14.1194V1.88889H2.21429V14.1194Z\" fill=\"none\"\/>\r\n<\/svg>                    <\/button>\n                                    <\/div>\n                <a href=\"https:\/\/apriko.com\/de\/blog\/behavior-driven-development\/\" class=\"link-text\">Mehr erfahren<\/a>\n            <\/div>\n        <\/div>\n    <\/div>\n\n            \n<div class=\"card-back card-back--blue share-data\" data-id=\"12515\" data-url=\"https:\/\/apriko.com\/de\/blog\/behavior-driven-development\/\" >\n            <h3 class=\"card-back__title\">Artikel teilen<\/h3>\n    \n    <div class=\"share-container\">\n        <ul class=\"share-nav share-step active\">\n            <li>\n                <a href=\"#\" class=\"js-share-copy\">\n                                        <div class=\"icon icon-35\">\n                        <img decoding=\"async\" src=\"https:\/\/apriko.com\/de\/wp-content\/uploads\/sites\/4\/2024\/06\/url-3.svg\" class=\"attachment-35x35 size-35x35\" alt=\"\" \/>                    <\/div>\n                                        Link kopieren                <\/a>\n            <\/li>\n            <li>\n                <a href=\"#\" class=\"js-share-next\" data-share=\"email\">\n                                        <div class=\"icon icon-35\">\n                        <img decoding=\"async\" src=\"https:\/\/apriko.com\/de\/wp-content\/uploads\/sites\/4\/2024\/06\/mail-2.svg\" class=\"attachment-35x35 size-35x35\" alt=\"\" \/>                    <\/div>\n                                        Per E-Mail senden                <\/a>\n            <\/li>\n            <li>\n                <a class=\"js-share-linkedin\" href=\"#\" target=\"_blank\">\n                                        <div class=\"icon icon-35\">\n                        <img decoding=\"async\" src=\"https:\/\/apriko.com\/de\/wp-content\/uploads\/sites\/4\/2024\/06\/logo-linkedin-2.svg\" class=\"attachment-35x35 size-35x35\" alt=\"\" \/>                    <\/div>\n                                        Auf LinkedIn teilen                <\/a>\n            <\/li>\n        <\/ul>\n\n        <div class=\"share-step share-step-email\" data-share-target=\"email\">\n            <form class=\"share-email\">\n                                <h3 class=\"title-sm\">Per E-Mail senden<\/h3>\n                                <div class=\"form-control\">\n                    <input type=\"email\" name=\"email\" class=\"form-control-input\" placeholder=\"E-Mail\">\n                <\/div>\n                <span class=\"valid-message\" style=\"display: none;\">Pflichtfeld<\/span>\n                <span class=\"valid-message invalid-email\" style=\"display: none;\">Bitte korrekte E-Mail angeben<\/span>\n                <div class=\"share-email__bottom\">\n                    <div>\n                        <label class=\"agree\">\n                            <input type=\"checkbox\" class=\"agree__input\">\n                            <span class=\"agree__box\">\n                                Ich akzeptiere die Datenschutzvereinbarung und AGB.                            <\/span>\n                        <\/label>\n                        <span class=\"valid-message\" style=\"display: none;\">Pflichtfeld<\/span>\n                    <\/div>\n                    <div>\n                        <button type=\"button\" class=\"btn btn-secondary js-share-email\"  data-share=\"subscribe\">Senden<\/button>\n                    <\/div>\n                    <span class=\"invalid-message\" style=\"display: none;\">Etwas ist schief gelaufen, versuche es erneut<\/span>\n                <\/div>\n            <\/form>\n        <\/div>\n\n        <div class=\"share-step share-step-subscribe\" data-share-target=\"subscribe\">\n                            <div class=\"share-modal__text\"><p>Der Artikel wurde erfolgreich versendet. M\u00f6chtest du in Zukunft keine Apriko-Inhalte verpassen? Dann melde dich f\u00fcr unseren Newsletter an. <\/p>\n<\/div>\n                                        <h3 class=\"title-sm\">Jetzt zum Newsletter anmelden<\/h3>\n            \n            <form class=\"subscribe\">\n    <div class=\"subscribe-step active\">\n        <div class=\"form-control form-control-w-btn\">\n            <button tupe=\"button\" class=\"form-control-submit apply-btn js-subscribe-step\">\n                <img decoding=\"async\" src=\"https:\/\/apriko.com\/de\/wp-content\/themes\/general\/frontend\/assets\/img\/arrow-right.svg\" alt=\"applay\">\n            <\/button>\n            <input type=\"email\" name=\"email\" class=\"form-control-input required\" placeholder=\"e-mail\">\n        <\/div>\n        <label class=\"agree form-control\">\n            <input type=\"checkbox\" name=\"agree\" class=\"agree__input required\">\n            <span class=\"agree__box\">\n                Ich akzeptiere die Datenschutzbestimmungen.            <\/span>\n        <\/label>\n        <div class=\"step-errors\">\n            <span class=\"valid-message general\" style=\"display: none;\">Pflichtfeld<\/span>\n            <span class=\"valid-message invalid-email\" style=\"display: none;\">Bitte korrekte E-Mail angeben<\/span>\n        <\/div>\n    <\/div>\n\n    <div class=\"subscribe-step\">\n        <div class=\"form-control\">\n            <select class=\"js-select select\" name=\"gender\">\n                <option value=\"0\">Anrede<\/option>\n                <option value=\"Female\">Frau<\/option>\n                <option value=\"Male\">Herr<\/option>\n                <option value=\"Other\">Keine<\/option>\n            <\/select>\n        <\/div>\n        <span class=\"valid-message\" style=\"display: none;\">Pflichtfeld<\/span>\n        <div class=\"form-control\">\n            <input type=\"text\" name=\"name\" class=\"form-control-input\" placeholder=\"First name\">\n        <\/div>\n        <span class=\"valid-message\" style=\"display: none;\">Pflichtfeld<\/span>\n        <div class=\"form-control form-control-w-btn\">\n            <button tupe=\"button\" class=\"form-control-submit apply-btn js-subscribe-step form-mailchimp-subscribe\">\n                <img decoding=\"async\" src=\"https:\/\/apriko.com\/de\/wp-content\/themes\/general\/frontend\/assets\/img\/arrow-right.svg\" alt=\"applay\">\n            <\/button>\n            <input type=\"text\" name=\"surname\" class=\"form-control-input\" placeholder=\"Last Name\">\n        <\/div>\n        <span class=\"valid-message\" style=\"display: none;\">Pflichtfeld<\/span>\n        <span class=\"invalid-message all\" style=\"display: none;\">Etwas ist schief gelaufen, versuche es erneut<\/span>\n        <span class=\"invalid-message pending\" style=\"display: none;\">Wir haben die Best\u00e4tigungs-E-Mail bereits verschickt &#8211; bitte best\u00e4tige deine Anmeldung<\/span>\n        <span class=\"invalid-message registered\" style=\"display: none;\">E-Mail ist bereits registriert, danke<\/span>\n    <\/div>\n\n    <div class=\"subscribe-step\">\n            <div class=\"subscribe__text\">\n            <h4>Herzlichen Dank<\/h4>\n<p>\u00dcberpr\u00fcfe dein E-Mail-Postfach und klicke auf den Best\u00e4tigungslink, den wir dir geschickt haben, um deine Anmeldung abzuschliessen.<\/p>\n        <\/div>\n        <\/div>\n<\/form>        <\/div>\n    <\/div>\n\n    <div class=\"card-back__bottom\">\n        <button class=\"btn btn-outline-w js-card-flip-back\">Schliessen<\/button>\n    <\/div>\n<\/div>    \n    \n    <\/div>\t\t\t\t\t                    <\/div>\n\t\t\t\t                    <div class=\"swiper-slide\">\n\t\t\t\t\t\t\t\t\t\t\n<div class=\"card-container \">\n    <div class=\"card \">\n        <div class=\"card__top\">\n            \n                            \n<div  class=\"card__media\">\n\n<picture>\n    <img decoding=\"async\" width=\"1920\" height=\"1080\" src=\"https:\/\/apriko.com\/de\/wp-content\/uploads\/sites\/4\/2024\/08\/software-engineer-job.png\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/apriko.com\/de\/wp-content\/uploads\/sites\/4\/2024\/08\/software-engineer-job.png 1920w, https:\/\/apriko.com\/de\/wp-content\/uploads\/sites\/4\/2024\/08\/software-engineer-job-768x432.png 768w, https:\/\/apriko.com\/de\/wp-content\/uploads\/sites\/4\/2024\/08\/software-engineer-job-1536x864.png 1536w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/picture>\n\n\n\n<\/div>\n                    <\/div>\n        <div class=\"card__body\">\n            <div class=\"card__head\">\n                <div class=\"card__head-left\">\n                                            <div class=\"card__category\">Job<\/div>\n                    \n                                        <h3 class=\"card__title\">Senior\u00a0Full Stack Engineer<\/h3>\n                                    <\/div>\n                                    \r\n<div  class=\"icon icon-35\">\r\n    <img decoding=\"async\" src=\"https:\/\/apriko.com\/de\/wp-content\/uploads\/sites\/4\/2024\/04\/jobposting.svg\" class=\"attachment-35x35 size-35x35\" alt=\"\" \/><\/div>                            <\/div>\n\n            <div class=\"card__ligt-text\">12. August 2024<\/div>\n\n            <div class=\"card__text\">\n                <p>Als Mitglied eines agilen Kanban Teams treibst du die Dom\u00e4ne voran und pr\u00e4gst Vision, Roadmap und Features. Du implementierst Features vom Backend bis zum Frontend, gestaltest den Prozess aktiv mit und entwickelst Services, APIs und die Engine f\u00fcr Backend, API und Web UI Generierung weiter. Konzeption und Umsetzung von Software-Infrastruktur-Anforderungen mit Fokus auf Clean Code, gute Performance und hohe Testabdeckung.<\/p>\n            <\/div>\n\n            <div class=\"card__footer\">\n                <div class=\"card__action\">\n                    <button type=\"button\" class=\"action-btn js-card-flip\">\n                        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"13\" height=\"15\" viewBox=\"0 0 13 15\" fill=\"none\">\r\n    <path d=\"M10.8333 15C10.2315 15 9.71991 14.7813 9.29861 14.3438C8.87732 13.9063 8.66667 13.375 8.66667 12.75C8.66667 12.6625 8.67269 12.5719 8.68472 12.4781C8.69676 12.3844 8.71482 12.3 8.73889 12.225L3.64722 9.15C3.44259 9.3375 3.21389 9.48438 2.96111 9.59063C2.70833 9.69688 2.44352 9.75 2.16667 9.75C1.56481 9.75 1.05324 9.53125 0.631944 9.09375C0.210648 8.65625 0 8.125 0 7.5C0 6.875 0.210648 6.34375 0.631944 5.90625C1.05324 5.46875 1.56481 5.25 2.16667 5.25C2.44352 5.25 2.70833 5.30313 2.96111 5.40938C3.21389 5.51562 3.44259 5.6625 3.64722 5.85L8.73889 2.775C8.71482 2.7 8.69676 2.61563 8.68472 2.52188C8.67269 2.42813 8.66667 2.3375 8.66667 2.25C8.66667 1.625 8.87732 1.09375 9.29861 0.65625C9.71991 0.21875 10.2315 0 10.8333 0C11.4352 0 11.9468 0.21875 12.3681 0.65625C12.7894 1.09375 13 1.625 13 2.25C13 2.875 12.7894 3.40625 12.3681 3.84375C11.9468 4.28125 11.4352 4.5 10.8333 4.5C10.5565 4.5 10.2917 4.44688 10.0389 4.34063C9.78611 4.23438 9.55741 4.0875 9.35278 3.9L4.26111 6.975C4.28519 7.05 4.30324 7.13438 4.31528 7.22813C4.32731 7.32188 4.33333 7.4125 4.33333 7.5C4.33333 7.5875 4.32731 7.67813 4.31528 7.77188C4.30324 7.86563 4.28519 7.95 4.26111 8.025L9.35278 11.1C9.55741 10.9125 9.78611 10.7656 10.0389 10.6594C10.2917 10.5531 10.5565 10.5 10.8333 10.5C11.4352 10.5 11.9468 10.7188 12.3681 11.1562C12.7894 11.5938 13 12.125 13 12.75C13 13.375 12.7894 13.9063 12.3681 14.3438C11.9468 14.7813 11.4352 15 10.8333 15Z\" fill=\"none\"\/>\r\n<\/svg>                    <\/button>\n                                        <button type=\"button\" class=\"action-btn bookmark\" data-id=\"12326\">\n                        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"13\" height=\"17\" viewBox=\"0 0 13 17\" fill=\"none\">\r\n    <path d=\"M0.5 17V1.88889C0.5 1.36944 0.667857 0.924769 1.00357 0.554861C1.33929 0.184954 1.74286 0 2.21429 0H10.7857C11.2571 0 11.6607 0.184954 11.9964 0.554861C12.3321 0.924769 12.5 1.36944 12.5 1.88889V17L6.5 13.4111L0.5 17ZM2.21429 14.1194L6.5 11.3333L10.7857 14.1194V1.88889H2.21429V14.1194Z\" fill=\"none\"\/>\r\n<\/svg>                    <\/button>\n                                    <\/div>\n                <a href=\"https:\/\/apriko.com\/de\/blog\/senior-full-stack-engineer\/\" class=\"link-text\">Mehr erfahren<\/a>\n            <\/div>\n        <\/div>\n    <\/div>\n\n            \n<div class=\"card-back card-back--blue share-data\" data-id=\"12326\" data-url=\"https:\/\/apriko.com\/de\/blog\/senior-full-stack-engineer\/\" >\n            <h3 class=\"card-back__title\">Artikel teilen<\/h3>\n    \n    <div class=\"share-container\">\n        <ul class=\"share-nav share-step active\">\n            <li>\n                <a href=\"#\" class=\"js-share-copy\">\n                                        <div class=\"icon icon-35\">\n                        <img decoding=\"async\" src=\"https:\/\/apriko.com\/de\/wp-content\/uploads\/sites\/4\/2024\/06\/url-3.svg\" class=\"attachment-35x35 size-35x35\" alt=\"\" \/>                    <\/div>\n                                        Link kopieren                <\/a>\n            <\/li>\n            <li>\n                <a href=\"#\" class=\"js-share-next\" data-share=\"email\">\n                                        <div class=\"icon icon-35\">\n                        <img decoding=\"async\" src=\"https:\/\/apriko.com\/de\/wp-content\/uploads\/sites\/4\/2024\/06\/mail-2.svg\" class=\"attachment-35x35 size-35x35\" alt=\"\" \/>                    <\/div>\n                                        Per E-Mail senden                <\/a>\n            <\/li>\n            <li>\n                <a class=\"js-share-linkedin\" href=\"#\" target=\"_blank\">\n                                        <div class=\"icon icon-35\">\n                        <img decoding=\"async\" src=\"https:\/\/apriko.com\/de\/wp-content\/uploads\/sites\/4\/2024\/06\/logo-linkedin-2.svg\" class=\"attachment-35x35 size-35x35\" alt=\"\" \/>                    <\/div>\n                                        Auf LinkedIn teilen                <\/a>\n            <\/li>\n        <\/ul>\n\n        <div class=\"share-step share-step-email\" data-share-target=\"email\">\n            <form class=\"share-email\">\n                                <h3 class=\"title-sm\">Per E-Mail senden<\/h3>\n                                <div class=\"form-control\">\n                    <input type=\"email\" name=\"email\" class=\"form-control-input\" placeholder=\"E-Mail\">\n                <\/div>\n                <span class=\"valid-message\" style=\"display: none;\">Pflichtfeld<\/span>\n                <span class=\"valid-message invalid-email\" style=\"display: none;\">Bitte korrekte E-Mail angeben<\/span>\n                <div class=\"share-email__bottom\">\n                    <div>\n                        <label class=\"agree\">\n                            <input type=\"checkbox\" class=\"agree__input\">\n                            <span class=\"agree__box\">\n                                Ich akzeptiere die Datenschutzvereinbarung und AGB.                            <\/span>\n                        <\/label>\n                        <span class=\"valid-message\" style=\"display: none;\">Pflichtfeld<\/span>\n                    <\/div>\n                    <div>\n                        <button type=\"button\" class=\"btn btn-secondary js-share-email\"  data-share=\"subscribe\">Senden<\/button>\n                    <\/div>\n                    <span class=\"invalid-message\" style=\"display: none;\">Etwas ist schief gelaufen, versuche es erneut<\/span>\n                <\/div>\n            <\/form>\n        <\/div>\n\n        <div class=\"share-step share-step-subscribe\" data-share-target=\"subscribe\">\n                            <div class=\"share-modal__text\"><p>Der Artikel wurde erfolgreich versendet. M\u00f6chtest du in Zukunft keine Apriko-Inhalte verpassen? Dann melde dich f\u00fcr unseren Newsletter an. <\/p>\n<\/div>\n                                        <h3 class=\"title-sm\">Jetzt zum Newsletter anmelden<\/h3>\n            \n            <form class=\"subscribe\">\n    <div class=\"subscribe-step active\">\n        <div class=\"form-control form-control-w-btn\">\n            <button tupe=\"button\" class=\"form-control-submit apply-btn js-subscribe-step\">\n                <img decoding=\"async\" src=\"https:\/\/apriko.com\/de\/wp-content\/themes\/general\/frontend\/assets\/img\/arrow-right.svg\" alt=\"applay\">\n            <\/button>\n            <input type=\"email\" name=\"email\" class=\"form-control-input required\" placeholder=\"e-mail\">\n        <\/div>\n        <label class=\"agree form-control\">\n            <input type=\"checkbox\" name=\"agree\" class=\"agree__input required\">\n            <span class=\"agree__box\">\n                Ich akzeptiere die Datenschutzbestimmungen.            <\/span>\n        <\/label>\n        <div class=\"step-errors\">\n            <span class=\"valid-message general\" style=\"display: none;\">Pflichtfeld<\/span>\n            <span class=\"valid-message invalid-email\" style=\"display: none;\">Bitte korrekte E-Mail angeben<\/span>\n        <\/div>\n    <\/div>\n\n    <div class=\"subscribe-step\">\n        <div class=\"form-control\">\n            <select class=\"js-select select\" name=\"gender\">\n                <option value=\"0\">Anrede<\/option>\n                <option value=\"Female\">Frau<\/option>\n                <option value=\"Male\">Herr<\/option>\n                <option value=\"Other\">Keine<\/option>\n            <\/select>\n        <\/div>\n        <span class=\"valid-message\" style=\"display: none;\">Pflichtfeld<\/span>\n        <div class=\"form-control\">\n            <input type=\"text\" name=\"name\" class=\"form-control-input\" placeholder=\"First name\">\n        <\/div>\n        <span class=\"valid-message\" style=\"display: none;\">Pflichtfeld<\/span>\n        <div class=\"form-control form-control-w-btn\">\n            <button tupe=\"button\" class=\"form-control-submit apply-btn js-subscribe-step form-mailchimp-subscribe\">\n                <img decoding=\"async\" src=\"https:\/\/apriko.com\/de\/wp-content\/themes\/general\/frontend\/assets\/img\/arrow-right.svg\" alt=\"applay\">\n            <\/button>\n            <input type=\"text\" name=\"surname\" class=\"form-control-input\" placeholder=\"Last Name\">\n        <\/div>\n        <span class=\"valid-message\" style=\"display: none;\">Pflichtfeld<\/span>\n        <span class=\"invalid-message all\" style=\"display: none;\">Etwas ist schief gelaufen, versuche es erneut<\/span>\n        <span class=\"invalid-message pending\" style=\"display: none;\">Wir haben die Best\u00e4tigungs-E-Mail bereits verschickt &#8211; bitte best\u00e4tige deine Anmeldung<\/span>\n        <span class=\"invalid-message registered\" style=\"display: none;\">E-Mail ist bereits registriert, danke<\/span>\n    <\/div>\n\n    <div class=\"subscribe-step\">\n            <div class=\"subscribe__text\">\n            <h4>Herzlichen Dank<\/h4>\n<p>\u00dcberpr\u00fcfe dein E-Mail-Postfach und klicke auf den Best\u00e4tigungslink, den wir dir geschickt haben, um deine Anmeldung abzuschliessen.<\/p>\n        <\/div>\n        <\/div>\n<\/form>        <\/div>\n    <\/div>\n\n    <div class=\"card-back__bottom\">\n        <button class=\"btn btn-outline-w js-card-flip-back\">Schliessen<\/button>\n    <\/div>\n<\/div>    \n    \n    <\/div>\t\t\t\t\t                    <\/div>\n\t\t\t\t                    <div class=\"swiper-slide\">\n\t\t\t\t\t\t\t\t\t\t\n<div class=\"card-container \">\n    <div class=\"card \">\n        <div class=\"card__top\">\n            \n                            \n<div  class=\"card__media\">\n\n<picture>\n    <img decoding=\"async\" width=\"3840\" height=\"2160\" src=\"https:\/\/apriko.com\/de\/wp-content\/uploads\/sites\/4\/2024\/04\/software-artchitecture-main-image.png\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/apriko.com\/de\/wp-content\/uploads\/sites\/4\/2024\/04\/software-artchitecture-main-image.png 3840w, https:\/\/apriko.com\/de\/wp-content\/uploads\/sites\/4\/2024\/04\/software-artchitecture-main-image-768x432.png 768w, https:\/\/apriko.com\/de\/wp-content\/uploads\/sites\/4\/2024\/04\/software-artchitecture-main-image-1536x864.png 1536w, https:\/\/apriko.com\/de\/wp-content\/uploads\/sites\/4\/2024\/04\/software-artchitecture-main-image-2048x1152.png 2048w\" sizes=\"(max-width: 3840px) 100vw, 3840px\" \/><\/picture>\n\n\n\n<\/div>\n                    <\/div>\n        <div class=\"card__body\">\n            <div class=\"card__head\">\n                <div class=\"card__head-left\">\n                                            <div class=\"card__category\">Engineering<\/div>\n                    \n                                        <h3 class=\"card__title\">Plattform f\u00fcr moderne Enterprise-Anwendungen<\/h3>\n                                    <\/div>\n                                    \r\n<div  class=\"icon icon-35\">\r\n    <img decoding=\"async\" src=\"https:\/\/apriko.com\/de\/wp-content\/uploads\/sites\/4\/2024\/08\/Engineering-1.svg\" class=\"attachment-35x35 size-35x35\" alt=\"\" \/><\/div>                            <\/div>\n\n            <div class=\"card__ligt-text\">5. April 2024<\/div>\n\n            <div class=\"card__text\">\n                <p>Apriko wurde als Microservice-Applikation entwickelt, um den steigenden Anforderungen an moderne Enterprise-Anwendungen gerecht zu werden.<\/p>\n            <\/div>\n\n            <div class=\"card__footer\">\n                <div class=\"card__action\">\n                    <button type=\"button\" class=\"action-btn js-card-flip\">\n                        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"13\" height=\"15\" viewBox=\"0 0 13 15\" fill=\"none\">\r\n    <path d=\"M10.8333 15C10.2315 15 9.71991 14.7813 9.29861 14.3438C8.87732 13.9063 8.66667 13.375 8.66667 12.75C8.66667 12.6625 8.67269 12.5719 8.68472 12.4781C8.69676 12.3844 8.71482 12.3 8.73889 12.225L3.64722 9.15C3.44259 9.3375 3.21389 9.48438 2.96111 9.59063C2.70833 9.69688 2.44352 9.75 2.16667 9.75C1.56481 9.75 1.05324 9.53125 0.631944 9.09375C0.210648 8.65625 0 8.125 0 7.5C0 6.875 0.210648 6.34375 0.631944 5.90625C1.05324 5.46875 1.56481 5.25 2.16667 5.25C2.44352 5.25 2.70833 5.30313 2.96111 5.40938C3.21389 5.51562 3.44259 5.6625 3.64722 5.85L8.73889 2.775C8.71482 2.7 8.69676 2.61563 8.68472 2.52188C8.67269 2.42813 8.66667 2.3375 8.66667 2.25C8.66667 1.625 8.87732 1.09375 9.29861 0.65625C9.71991 0.21875 10.2315 0 10.8333 0C11.4352 0 11.9468 0.21875 12.3681 0.65625C12.7894 1.09375 13 1.625 13 2.25C13 2.875 12.7894 3.40625 12.3681 3.84375C11.9468 4.28125 11.4352 4.5 10.8333 4.5C10.5565 4.5 10.2917 4.44688 10.0389 4.34063C9.78611 4.23438 9.55741 4.0875 9.35278 3.9L4.26111 6.975C4.28519 7.05 4.30324 7.13438 4.31528 7.22813C4.32731 7.32188 4.33333 7.4125 4.33333 7.5C4.33333 7.5875 4.32731 7.67813 4.31528 7.77188C4.30324 7.86563 4.28519 7.95 4.26111 8.025L9.35278 11.1C9.55741 10.9125 9.78611 10.7656 10.0389 10.6594C10.2917 10.5531 10.5565 10.5 10.8333 10.5C11.4352 10.5 11.9468 10.7188 12.3681 11.1562C12.7894 11.5938 13 12.125 13 12.75C13 13.375 12.7894 13.9063 12.3681 14.3438C11.9468 14.7813 11.4352 15 10.8333 15Z\" fill=\"none\"\/>\r\n<\/svg>                    <\/button>\n                                        <button type=\"button\" class=\"action-btn bookmark\" data-id=\"12353\">\n                        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"13\" height=\"17\" viewBox=\"0 0 13 17\" fill=\"none\">\r\n    <path d=\"M0.5 17V1.88889C0.5 1.36944 0.667857 0.924769 1.00357 0.554861C1.33929 0.184954 1.74286 0 2.21429 0H10.7857C11.2571 0 11.6607 0.184954 11.9964 0.554861C12.3321 0.924769 12.5 1.36944 12.5 1.88889V17L6.5 13.4111L0.5 17ZM2.21429 14.1194L6.5 11.3333L10.7857 14.1194V1.88889H2.21429V14.1194Z\" fill=\"none\"\/>\r\n<\/svg>                    <\/button>\n                                    <\/div>\n                <a href=\"https:\/\/apriko.com\/de\/blog\/plattform-fuer-moderne-enterprise-anwendungen\/\" class=\"link-text\">Mehr erfahren<\/a>\n            <\/div>\n        <\/div>\n    <\/div>\n\n            \n<div class=\"card-back card-back--blue share-data\" data-id=\"12353\" data-url=\"https:\/\/apriko.com\/de\/blog\/plattform-fuer-moderne-enterprise-anwendungen\/\" >\n            <h3 class=\"card-back__title\">Artikel teilen<\/h3>\n    \n    <div class=\"share-container\">\n        <ul class=\"share-nav share-step active\">\n            <li>\n                <a href=\"#\" class=\"js-share-copy\">\n                                        <div class=\"icon icon-35\">\n                        <img decoding=\"async\" src=\"https:\/\/apriko.com\/de\/wp-content\/uploads\/sites\/4\/2024\/06\/url-3.svg\" class=\"attachment-35x35 size-35x35\" alt=\"\" \/>                    <\/div>\n                                        Link kopieren                <\/a>\n            <\/li>\n            <li>\n                <a href=\"#\" class=\"js-share-next\" data-share=\"email\">\n                                        <div class=\"icon icon-35\">\n                        <img decoding=\"async\" src=\"https:\/\/apriko.com\/de\/wp-content\/uploads\/sites\/4\/2024\/06\/mail-2.svg\" class=\"attachment-35x35 size-35x35\" alt=\"\" \/>                    <\/div>\n                                        Per E-Mail senden                <\/a>\n            <\/li>\n            <li>\n                <a class=\"js-share-linkedin\" href=\"#\" target=\"_blank\">\n                                        <div class=\"icon icon-35\">\n                        <img decoding=\"async\" src=\"https:\/\/apriko.com\/de\/wp-content\/uploads\/sites\/4\/2024\/06\/logo-linkedin-2.svg\" class=\"attachment-35x35 size-35x35\" alt=\"\" \/>                    <\/div>\n                                        Auf LinkedIn teilen                <\/a>\n            <\/li>\n        <\/ul>\n\n        <div class=\"share-step share-step-email\" data-share-target=\"email\">\n            <form class=\"share-email\">\n                                <h3 class=\"title-sm\">Per E-Mail senden<\/h3>\n                                <div class=\"form-control\">\n                    <input type=\"email\" name=\"email\" class=\"form-control-input\" placeholder=\"E-Mail\">\n                <\/div>\n                <span class=\"valid-message\" style=\"display: none;\">Pflichtfeld<\/span>\n                <span class=\"valid-message invalid-email\" style=\"display: none;\">Bitte korrekte E-Mail angeben<\/span>\n                <div class=\"share-email__bottom\">\n                    <div>\n                        <label class=\"agree\">\n                            <input type=\"checkbox\" class=\"agree__input\">\n                            <span class=\"agree__box\">\n                                Ich akzeptiere die Datenschutzvereinbarung und AGB.                            <\/span>\n                        <\/label>\n                        <span class=\"valid-message\" style=\"display: none;\">Pflichtfeld<\/span>\n                    <\/div>\n                    <div>\n                        <button type=\"button\" class=\"btn btn-secondary js-share-email\"  data-share=\"subscribe\">Senden<\/button>\n                    <\/div>\n                    <span class=\"invalid-message\" style=\"display: none;\">Etwas ist schief gelaufen, versuche es erneut<\/span>\n                <\/div>\n            <\/form>\n        <\/div>\n\n        <div class=\"share-step share-step-subscribe\" data-share-target=\"subscribe\">\n                            <div class=\"share-modal__text\"><p>Der Artikel wurde erfolgreich versendet. M\u00f6chtest du in Zukunft keine Apriko-Inhalte verpassen? Dann melde dich f\u00fcr unseren Newsletter an. <\/p>\n<\/div>\n                                        <h3 class=\"title-sm\">Jetzt zum Newsletter anmelden<\/h3>\n            \n            <form class=\"subscribe\">\n    <div class=\"subscribe-step active\">\n        <div class=\"form-control form-control-w-btn\">\n            <button tupe=\"button\" class=\"form-control-submit apply-btn js-subscribe-step\">\n                <img decoding=\"async\" src=\"https:\/\/apriko.com\/de\/wp-content\/themes\/general\/frontend\/assets\/img\/arrow-right.svg\" alt=\"applay\">\n            <\/button>\n            <input type=\"email\" name=\"email\" class=\"form-control-input required\" placeholder=\"e-mail\">\n        <\/div>\n        <label class=\"agree form-control\">\n            <input type=\"checkbox\" name=\"agree\" class=\"agree__input required\">\n            <span class=\"agree__box\">\n                Ich akzeptiere die Datenschutzbestimmungen.            <\/span>\n        <\/label>\n        <div class=\"step-errors\">\n            <span class=\"valid-message general\" style=\"display: none;\">Pflichtfeld<\/span>\n            <span class=\"valid-message invalid-email\" style=\"display: none;\">Bitte korrekte E-Mail angeben<\/span>\n        <\/div>\n    <\/div>\n\n    <div class=\"subscribe-step\">\n        <div class=\"form-control\">\n            <select class=\"js-select select\" name=\"gender\">\n                <option value=\"0\">Anrede<\/option>\n                <option value=\"Female\">Frau<\/option>\n                <option value=\"Male\">Herr<\/option>\n                <option value=\"Other\">Keine<\/option>\n            <\/select>\n        <\/div>\n        <span class=\"valid-message\" style=\"display: none;\">Pflichtfeld<\/span>\n        <div class=\"form-control\">\n            <input type=\"text\" name=\"name\" class=\"form-control-input\" placeholder=\"First name\">\n        <\/div>\n        <span class=\"valid-message\" style=\"display: none;\">Pflichtfeld<\/span>\n        <div class=\"form-control form-control-w-btn\">\n            <button tupe=\"button\" class=\"form-control-submit apply-btn js-subscribe-step form-mailchimp-subscribe\">\n                <img decoding=\"async\" src=\"https:\/\/apriko.com\/de\/wp-content\/themes\/general\/frontend\/assets\/img\/arrow-right.svg\" alt=\"applay\">\n            <\/button>\n            <input type=\"text\" name=\"surname\" class=\"form-control-input\" placeholder=\"Last Name\">\n        <\/div>\n        <span class=\"valid-message\" style=\"display: none;\">Pflichtfeld<\/span>\n        <span class=\"invalid-message all\" style=\"display: none;\">Etwas ist schief gelaufen, versuche es erneut<\/span>\n        <span class=\"invalid-message pending\" style=\"display: none;\">Wir haben die Best\u00e4tigungs-E-Mail bereits verschickt &#8211; bitte best\u00e4tige deine Anmeldung<\/span>\n        <span class=\"invalid-message registered\" style=\"display: none;\">E-Mail ist bereits registriert, danke<\/span>\n    <\/div>\n\n    <div class=\"subscribe-step\">\n            <div class=\"subscribe__text\">\n            <h4>Herzlichen Dank<\/h4>\n<p>\u00dcberpr\u00fcfe dein E-Mail-Postfach und klicke auf den Best\u00e4tigungslink, den wir dir geschickt haben, um deine Anmeldung abzuschliessen.<\/p>\n        <\/div>\n        <\/div>\n<\/form>        <\/div>\n    <\/div>\n\n    <div class=\"card-back__bottom\">\n        <button class=\"btn btn-outline-w js-card-flip-back\">Schliessen<\/button>\n    <\/div>\n<\/div>    \n    \n    <\/div>\t\t\t\t\t                    <\/div>\n\t\t\t\t\n\t\t\t\t\t\t\t<\/div>\n            \t\t<\/div>\n\t<\/div>\n<\/section>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":5,"featured_media":0,"menu_order":0,"template":"","meta":{"_acf_changed":false,"footnotes":""},"categories":[79],"tags":[80],"authors":[],"visual-tag":[],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v23.3 (Yoast SEO v23.3) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Schneller und besser zum Ziel: Mit automatisierter Codegenerierung - Apriko<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/apriko.com\/de\/blog\/codegenerierung\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Schneller und besser zum Ziel: Mit automatisierter Codegenerierung\" \/>\n<meta property=\"og:url\" content=\"https:\/\/apriko.com\/de\/blog\/codegenerierung\/\" \/>\n<meta property=\"og:site_name\" content=\"Apriko\" \/>\n<meta property=\"article:modified_time\" content=\"2025-03-28T10:22:50+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data1\" content=\"6\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/apriko.com\/de\/blog\/codegenerierung\/\",\"url\":\"https:\/\/apriko.com\/de\/blog\/codegenerierung\/\",\"name\":\"Schneller und besser zum Ziel: Mit automatisierter Codegenerierung - Apriko\",\"isPartOf\":{\"@id\":\"https:\/\/apriko.com\/de\/#website\"},\"datePublished\":\"2024-04-16T07:54:00+00:00\",\"dateModified\":\"2025-03-28T10:22:50+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/apriko.com\/de\/blog\/codegenerierung\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/apriko.com\/de\/blog\/codegenerierung\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/apriko.com\/de\/blog\/codegenerierung\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Apriko\",\"item\":\"https:\/\/apriko.com\/de\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Schneller und besser zum Ziel: Mit automatisierter Codegenerierung\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/apriko.com\/de\/#website\",\"url\":\"https:\/\/apriko.com\/de\/\",\"name\":\"Apriko\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/apriko.com\/de\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"de\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Schneller und besser zum Ziel: Mit automatisierter Codegenerierung - Apriko","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:\/\/apriko.com\/de\/blog\/codegenerierung\/","og_locale":"de_DE","og_type":"article","og_title":"Schneller und besser zum Ziel: Mit automatisierter Codegenerierung","og_url":"https:\/\/apriko.com\/de\/blog\/codegenerierung\/","og_site_name":"Apriko","article_modified_time":"2025-03-28T10:22:50+00:00","twitter_card":"summary_large_image","twitter_misc":{"Gesch\u00e4tzte Lesezeit":"6\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/apriko.com\/de\/blog\/codegenerierung\/","url":"https:\/\/apriko.com\/de\/blog\/codegenerierung\/","name":"Schneller und besser zum Ziel: Mit automatisierter Codegenerierung - Apriko","isPartOf":{"@id":"https:\/\/apriko.com\/de\/#website"},"datePublished":"2024-04-16T07:54:00+00:00","dateModified":"2025-03-28T10:22:50+00:00","breadcrumb":{"@id":"https:\/\/apriko.com\/de\/blog\/codegenerierung\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/apriko.com\/de\/blog\/codegenerierung\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/apriko.com\/de\/blog\/codegenerierung\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Apriko","item":"https:\/\/apriko.com\/de\/"},{"@type":"ListItem","position":2,"name":"Schneller und besser zum Ziel: Mit automatisierter Codegenerierung"}]},{"@type":"WebSite","@id":"https:\/\/apriko.com\/de\/#website","url":"https:\/\/apriko.com\/de\/","name":"Apriko","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/apriko.com\/de\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"de"}]}},"_links":{"self":[{"href":"https:\/\/apriko.com\/de\/wp-json\/wp\/v2\/detail-page\/12435"}],"collection":[{"href":"https:\/\/apriko.com\/de\/wp-json\/wp\/v2\/detail-page"}],"about":[{"href":"https:\/\/apriko.com\/de\/wp-json\/wp\/v2\/types\/detail-page"}],"author":[{"embeddable":true,"href":"https:\/\/apriko.com\/de\/wp-json\/wp\/v2\/users\/5"}],"version-history":[{"count":35,"href":"https:\/\/apriko.com\/de\/wp-json\/wp\/v2\/detail-page\/12435\/revisions"}],"predecessor-version":[{"id":13567,"href":"https:\/\/apriko.com\/de\/wp-json\/wp\/v2\/detail-page\/12435\/revisions\/13567"}],"wp:attachment":[{"href":"https:\/\/apriko.com\/de\/wp-json\/wp\/v2\/media?parent=12435"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/apriko.com\/de\/wp-json\/wp\/v2\/categories?post=12435"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/apriko.com\/de\/wp-json\/wp\/v2\/tags?post=12435"},{"taxonomy":"authors","embeddable":true,"href":"https:\/\/apriko.com\/de\/wp-json\/wp\/v2\/authors?post=12435"},{"taxonomy":"visual-tag","embeddable":true,"href":"https:\/\/apriko.com\/de\/wp-json\/wp\/v2\/visual-tag?post=12435"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}