{"id":3152,"date":"2024-04-12T09:53:03","date_gmt":"2024-04-12T09:53:03","guid":{"rendered":"https:\/\/apriko.com\/en\/?post_type=detail-page&#038;p=3152"},"modified":"2025-02-10T10:45:18","modified_gmt":"2025-02-10T10:45:18","slug":"automatic-generation-of-the-graphic-user-interface-ui","status":"publish","type":"detail-page","link":"https:\/\/apriko.com\/en\/blog\/automatic-generation-of-the-graphic-user-interface-ui\/","title":{"rendered":"Automatic generation of the graphic user interface (UI)"},"content":{"rendered":"\n<section id=\"detail-main-block-66cc7fefc32a4\" class=\"section section-detail\">\n<style>\r\n    @media only screen and (min-width: 768px) {\r\n        #detail-main-block-66cc7fefc32a4{ 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-66cc7fefc32a4{ 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\/en\/\">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                                        <h3 class=\"title-4\">The design process<\/h3>\n                    \n                    \t\t\t\t<\/div>\n\n                \t\t\t\t<div class=\"text-block\">\n                    <p>For example: In the design process, a Person entity is defined that contains various characteristics such as first and last name. Each of these characteristics can also be subject to validation rules \u2013 for example, first and last name are mandatory fields. The \u201cwhat\u201d refers to the external perspective of the application, i.e. to the modelling of entities and the definition of business rules. Declarative approaches offer many advantages, especially as they reduce complexity. Internal mechanisms are implemented faster and are immediately visible without the need to analyse large amounts of code first.<\/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-66cc7fefc33da\" class=\"section section-detail\">\n<style>\r\n    @media only screen and (min-width: 768px) {\r\n        #detail-main-block-66cc7fefc33da{ 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-66cc7fefc33da{ 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\">Problems with manual boilerplate management<\/h3>\n                    \n                    \t\t\t\t<\/div>\n\n                \t\t\t\t<div class=\"text-block\">\n                    <p>Typically, the \u201chow\u201d is implemented manually. While this provides flexibility, it quickly leads to vertical expansion across all layers of the software architecture. The main problem is to ensure consistency. Similar problems must be addressed with similar solution approaches to ensure stylistic and functional completeness and consistency. If changes are made afterwards, there is a risk that important adjustments are missed, which can lead to bugs and software regressions.<\/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-66cc7fefc34b5\" class=\"section section-detail\">\n<style>\r\n    @media only screen and (min-width: 768px) {\r\n        #detail-main-block-66cc7fefc34b5{ 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-66cc7fefc34b5{ 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\">Inference<\/h3>\n                    \n                    \t\t\t\t<\/div>\n\n                \t\t\t\t<div class=\"text-block\">\n                    <p>Further logic is automatically derived from the centrally defined entities, characteristics, actions, and business rules. On the one hand, backwards in deeper layers by automatically generating the database structure and migrating it if necessary. On the other hand, forwards in higher layers, e.g. <a href=\"https:\/\/apriko.com\/en\/blog\/codegeneration\/\">by generating infrastructure components and web service interfaces (API\/REST)<\/a>.<\/p>\n<p>These <a href=\"https:\/\/apriko.com\/en\/blog\/codegeneration\/\">declarations<\/a>, i.e. layout definitions, are transferred to the UI\/frontend. A specially developed UI engine processes these to generate the graphic user interface.<\/p>\n<p>As this architecture requires strong standardisation, many requirements need to be unified to achieve the full potential. However, the robustness of the architecture lies in allowing deviations from the standard in order to implement specific business logic in a targeted manner without creating inconsistencies.<\/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-66cc7fefc3583\" class=\"section section-detail\">\n<style>\r\n    @media only screen and (min-width: 768px) {\r\n        #detail-main-block-66cc7fefc3583{ 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-66cc7fefc3583{ 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                \t\t\t\t<h2 class=\"title-3\">Front-end engine<\/h2>\n                \n\t\t\t\t\n\t\t\t\t<div class=\"detail-article__title\">\n                                        <h3 class=\"title-4\">Layout definitions<\/h3>\n                    \n                    \t\t\t\t<\/div>\n\n                \t\t\t\t<div class=\"text-block\">\n                    <p>Each service provides its declarations in the form of JSON files as layout definitions for the front-end UI engine. These layout definitions contain all entities, features, actions, and business rules in a structured form. On this basis, the frontend can represent the majority of use cases without the need for additional programming. This enables a largely independent and self-sufficient frontend that is only loosely coupled with the backend.<\/p>\n<picture><img decoding=\"async\" class=\"attachment-full size-full\" src=\"https:\/\/apriko.com\/de\/wp-content\/uploads\/sites\/4\/2024\/08\/UI-Gen-Fig1-1.png\" sizes=\"(max-width: 3840px) 100vw, 3840px\" alt=\"\" width=\"3840\" height=\"2160\" \/><\/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-66cc7fefc364a\" class=\"section section-detail\">\n<style>\r\n    @media only screen and (min-width: 768px) {\r\n        #detail-main-block-66cc7fefc364a{ 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-66cc7fefc364a{ 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\">Generating views<\/h3>\n                    \n                    \t\t\t\t<\/div>\n\n                \t\t\t\t<div class=\"text-block\">\n                    <p>Different views can be generated dynamically from the layout definitions. The basic structure of a view, e.g. a form, is explicitly implemented. On the other hand, the content \u2013 i.e. the type of action, the fields, and the entity types \u2013 is determined dynamically based on the context and configured from the layout definitions. For example, the form view receives the instruction to \u201ccreate a person\u201d and automatically generates the necessary fields including validation rules and business logic in order to be able to send a finished request to the backend.<\/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-66cc7fefc370c\" class=\"section section-detail\">\n<style>\r\n    @media only screen and (min-width: 768px) {\r\n        #detail-main-block-66cc7fefc370c{ 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-66cc7fefc370c{ 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\">Event-based approach<\/h3>\n                    \n                    \t\t\t\t<\/div>\n\n                \t\t\t\t<div class=\"text-block\">\n                    <p>The individual views and their components not only obtain their information from the layout definitions but must also take into account the current data status. In a dynamic system, components must react to events, for example, a change of a field value, and display these changes in real time. This is implemented by a mix of model-view-controller (MVC) patterns and a virtual database in the frontend. This virtual database acts as a model in the sense of the MVC principle and synchronises changes and generates corresponding events. The model also corresponds to a cache for queries to the backend.<\/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-66cc7fefc37f0\" class=\"section section-detail\">\n<style>\r\n    @media only screen and (min-width: 768px) {\r\n        #detail-main-block-66cc7fefc37f0{ 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-66cc7fefc37f0{ 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\">Model Messages<\/h3>\n                    \n                    \t\t\t\t<\/div>\n\n                \t\t\t\t<div class=\"text-block\">\n                    <p>The standardised exchange of changes (create, update, delete) to data takes place via so-called model messages. These are exchanged both between the system units (services) and with the frontend. Model messages show changes to entities as well as changes to relationships between entities or data shared between entities. This semantic knowledge, together with the layout definitions, enables the dynamics of the frontend and contributes to the decoupling from the backend.<\/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-66cc7fefc38af\" class=\"section section-detail\">\n<style>\r\n    @media only screen and (min-width: 768px) {\r\n        #detail-main-block-66cc7fefc38af{ 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-66cc7fefc38af{ 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\">Model Service<\/h3>\n                    \n                    \t\t\t\t<\/div>\n\n                \t\t\t\t<div class=\"text-block\">\n                    <p>Due to <a href=\"https:\/\/apriko.com\/en\/blog\/platform-for-modern-enterprise-applications\/\">the dispersed nature of the application<\/a>, in which different services manage different data, it is not possible for an individual service to perform a complete query of all the data. A Model service has been developed so that the frontend can still efficiently receive data from several services in a single query. It processes the model messages and creates an aggregated view of the data of all the services. The Model service thus acts as the preliminary stage of a data warehouse and enables comprehensive queries \u2013 including graph-based ones \u2013 on this hierarchical data structure.<\/p>\n<picture><img decoding=\"async\" class=\"attachment-full size-full\" src=\"https:\/\/apriko.com\/de\/wp-content\/uploads\/sites\/4\/2024\/08\/UI-Gen-Fig1-1-1.png\" sizes=\"(max-width: 3840px) 100vw, 3840px\" alt=\"\" width=\"3840\" height=\"2160\" \/><\/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-66cc7fefc396f\" class=\"section section-detail\">\n<style>\r\n    @media only screen and (min-width: 768px) {\r\n        #detail-main-block-66cc7fefc396f{ 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-66cc7fefc396f{ 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\">Localisation<\/h3>\n                    \n                    \t\t\t\t<\/div>\n\n                \t\t\t\t<div class=\"text-block\">\n                    <p>Another central component of the front-end engine is localisation, which includes the translation and formatting of the content.<\/p>\n<p>Since Apriko is multilingual, texts and data must be available in a generic, untranslated form or provided by the backend. The actual translation only takes place in the last step of generating the interface.<\/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-66cc7fefc3a2c\" class=\"section section-detail\">\n<style>\r\n    @media only screen and (min-width: 768px) {\r\n        #detail-main-block-66cc7fefc3a2c{ 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-66cc7fefc3a2c{ 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\">Conclusion<\/h3>\n                    \n                    \t\t\t\t<\/div>\n\n                \t\t\t\t<div class=\"text-block\">\n                    <p>The decoupling of backend and frontend and the declarative approach in backend development enable a better focus on the implementation of business logic. At the same time, the creation of unnecessary boilerplate code as well as its erosion is minimised, and consistency is increased through all layers of the software architecture.<\/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-66cc7fefc3dfb\" class=\"section\">\n<style>\r\n    @media only screen and (min-width: 768px) {\r\n        #contact-66cc7fefc3dfb{ padding-top:70px !important;padding-bottom:px !important;}\r\n    }\r\n\r\n    @media only screen and (max-width: 767px) {\r\n        #contact-66cc7fefc3dfb{ 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\">Have we sparked your interest? We look forward to hearing from you!<\/h3>\n                                \t\t\t\t<div class=\"contact-info__name\">Seth Zollinger<\/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:seth&#064;aprik&#111;&#046;c&#111;m\">seth&#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\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/Seth-Zollinger-Contact.jpg\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/Seth-Zollinger-Contact.jpg 1500w, https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/Seth-Zollinger-Contact-300x244.jpg 300w, https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/Seth-Zollinger-Contact-1024x834.jpg 1024w, https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/Seth-Zollinger-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\/en\/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-66cc7fefc4322\" class=\"section section-full\">\n<style>\r\n    @media only screen and (min-width: 768px) {\r\n        #card-slider-66cc7fefc4322{ padding-top:100px !important;padding-bottom:100px !important;}\r\n    }\r\n\r\n    @media only screen and (max-width: 767px) {\r\n        #card-slider-66cc7fefc4322{ padding-top:px !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\">More good reasons for 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\/en\/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\/en\/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 card-glossar\">\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\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/backend-code-gen-main-image.png\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/backend-code-gen-main-image.png 3840w, https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/backend-code-gen-main-image-300x169.png 300w, https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/backend-code-gen-main-image-1024x576.png 1024w, https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/backend-code-gen-main-image-768x432.png 768w, https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/backend-code-gen-main-image-1536x864.png 1536w, https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/backend-code-gen-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\">Reach your target faster and better: With automated code generation<\/h3>\n                                    <\/div>\n                                    \r\n<div  class=\"icon icon-35\">\r\n    <img decoding=\"async\" src=\"https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/Engineering-1.svg\" class=\"attachment-35x35 size-35x35\" alt=\"\" \/><\/div>                            <\/div>\n\n            <div class=\"card__ligt-text\">April 12, 2024<\/div>\n\n            <div class=\"card__text\">\n                <p>Complexity is high in modern software development, especially in microservices architectures. But what do you do to avoid errors in simple and repetitive tasks?<\/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=\"3138\">\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\/en\/blog\/codegeneration\/\" class=\"link-text\">Read more<\/a>\n            <\/div>\n        <\/div>\n    <\/div>\n\n            \n<div class=\"card-back card-back--blue share-data\" data-id=\"3138\" data-url=\"https:\/\/apriko.com\/en\/blog\/codegeneration\/\" >\n            <h3 class=\"card-back__title\">Share Options<\/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\/en\/wp-content\/uploads\/sites\/3\/2024\/06\/url-3.svg\" class=\"attachment-35x35 size-35x35\" alt=\"\" \/>                    <\/div>\n                                        Copy link                <\/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\/en\/wp-content\/uploads\/sites\/3\/2024\/06\/mail-2.svg\" class=\"attachment-35x35 size-35x35\" alt=\"\" \/>                    <\/div>\n                                        Send by email                <\/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\/en\/wp-content\/uploads\/sites\/3\/2024\/06\/logo-linkedin-2.svg\" class=\"attachment-35x35 size-35x35\" alt=\"\" \/>                    <\/div>\n                                        Share on linkedIn                <\/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\">Send by email<\/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;\">Required field<\/span>\n                <span class=\"valid-message invalid-email\" style=\"display: none;\">Please provide correct e-mail<\/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                                I accept the privacy policy                            <\/span>\n                        <\/label>\n                        <span class=\"valid-message\" style=\"display: none;\">Required field<\/span>\n                    <\/div>\n                    <div>\n                        <button type=\"button\" class=\"btn btn-secondary js-share-email\"  data-share=\"subscribe\">Send<\/button>\n                    <\/div>\n                    <span class=\"invalid-message\" style=\"display: none;\">Something went wrong, try again<\/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>The article has been sent successfully. Don&#8217;t want to miss any Apriko content in the future? Then subscribe to our newsletter. <\/p>\n<\/div>\n                                        <h3 class=\"title-sm\">Subscribe to our Newsletter<\/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\/en\/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                I accept the privacy policy            <\/span>\n        <\/label>\n        <div class=\"step-errors\">\n            <span class=\"valid-message general\" style=\"display: none;\">Required field<\/span>\n            <span class=\"valid-message invalid-email\" style=\"display: none;\">Please provide correct e-mail<\/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\">Salutation<\/option>\n                <option value=\"Female\">Female<\/option>\n                <option value=\"Male\">Male<\/option>\n                <option value=\"Other\">Other<\/option>\n            <\/select>\n        <\/div>\n        <span class=\"valid-message\" style=\"display: none;\">Required field<\/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;\">Required field<\/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\/en\/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;\">Required field<\/span>\n        <span class=\"invalid-message all\" style=\"display: none;\">Something went wrong, try again<\/span>\n        <span class=\"invalid-message pending\" style=\"display: none;\">We have already sent the confirmation email &#8211; please confirm subscription<\/span>\n        <span class=\"invalid-message registered\" style=\"display: none;\">E-mail is already register, thank you<\/span>\n    <\/div>\n\n    <div class=\"subscribe-step\">\n            <div class=\"subscribe__text\">\n            <h4>Thank you<\/h4>\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\">Close<\/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\/en\/wp-content\/uploads\/sites\/3\/2024\/04\/software-engineer-job.png\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/04\/software-engineer-job.png 1920w, https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/04\/software-engineer-job-300x169.png 300w, https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/04\/software-engineer-job-1024x576.png 1024w, https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/04\/software-engineer-job-768x432.png 768w, https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/04\/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\">Full Stack Engineer<\/h3>\n                                    <\/div>\n                                    \r\n<div  class=\"icon icon-35\">\r\n    <img decoding=\"async\" src=\"https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/jobposting.svg\" class=\"attachment-35x35 size-35x35\" alt=\"\" \/><\/div>                            <\/div>\n\n            <div class=\"card__ligt-text\">April 10, 2024<\/div>\n\n            <div class=\"card__text\">\n                <p>As a member of an agile Kanban team, you drive the domain forward and shape the vision, roadmap, and features. You implement features from backend to frontend, actively shape the process, and further develop services, APIs, and engines for backend, API, and web UI generation. You conceptualize and implement software infrastructure requirements with a focus on clean code, good performance, and high test coverage.<\/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=\"2920\">\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\/en\/blog\/full-stack-engineer\/\" class=\"link-text\">Read more<\/a>\n            <\/div>\n        <\/div>\n    <\/div>\n\n            \n<div class=\"card-back card-back--blue share-data\" data-id=\"2920\" data-url=\"https:\/\/apriko.com\/en\/blog\/full-stack-engineer\/\" >\n            <h3 class=\"card-back__title\">Share Options<\/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\/en\/wp-content\/uploads\/sites\/3\/2024\/06\/url-3.svg\" class=\"attachment-35x35 size-35x35\" alt=\"\" \/>                    <\/div>\n                                        Copy link                <\/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\/en\/wp-content\/uploads\/sites\/3\/2024\/06\/mail-2.svg\" class=\"attachment-35x35 size-35x35\" alt=\"\" \/>                    <\/div>\n                                        Send by email                <\/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\/en\/wp-content\/uploads\/sites\/3\/2024\/06\/logo-linkedin-2.svg\" class=\"attachment-35x35 size-35x35\" alt=\"\" \/>                    <\/div>\n                                        Share on linkedIn                <\/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\">Send by email<\/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;\">Required field<\/span>\n                <span class=\"valid-message invalid-email\" style=\"display: none;\">Please provide correct e-mail<\/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                                I accept the privacy policy                            <\/span>\n                        <\/label>\n                        <span class=\"valid-message\" style=\"display: none;\">Required field<\/span>\n                    <\/div>\n                    <div>\n                        <button type=\"button\" class=\"btn btn-secondary js-share-email\"  data-share=\"subscribe\">Send<\/button>\n                    <\/div>\n                    <span class=\"invalid-message\" style=\"display: none;\">Something went wrong, try again<\/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>The article has been sent successfully. Don&#8217;t want to miss any Apriko content in the future? Then subscribe to our newsletter. <\/p>\n<\/div>\n                                        <h3 class=\"title-sm\">Subscribe to our Newsletter<\/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\/en\/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                I accept the privacy policy            <\/span>\n        <\/label>\n        <div class=\"step-errors\">\n            <span class=\"valid-message general\" style=\"display: none;\">Required field<\/span>\n            <span class=\"valid-message invalid-email\" style=\"display: none;\">Please provide correct e-mail<\/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\">Salutation<\/option>\n                <option value=\"Female\">Female<\/option>\n                <option value=\"Male\">Male<\/option>\n                <option value=\"Other\">Other<\/option>\n            <\/select>\n        <\/div>\n        <span class=\"valid-message\" style=\"display: none;\">Required field<\/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;\">Required field<\/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\/en\/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;\">Required field<\/span>\n        <span class=\"invalid-message all\" style=\"display: none;\">Something went wrong, try again<\/span>\n        <span class=\"invalid-message pending\" style=\"display: none;\">We have already sent the confirmation email &#8211; please confirm subscription<\/span>\n        <span class=\"invalid-message registered\" style=\"display: none;\">E-mail is already register, thank you<\/span>\n    <\/div>\n\n    <div class=\"subscribe-step\">\n            <div class=\"subscribe__text\">\n            <h4>Thank you<\/h4>\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\">Close<\/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\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/software-artchitecture-main-image.png\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/software-artchitecture-main-image.png 3840w, https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/software-artchitecture-main-image-300x169.png 300w, https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/software-artchitecture-main-image-1024x576.png 1024w, https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/software-artchitecture-main-image-768x432.png 768w, https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/software-artchitecture-main-image-1536x864.png 1536w, https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/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\">Platform for modern enterprise applications<\/h3>\n                                    <\/div>\n                                    \r\n<div  class=\"icon icon-35\">\r\n    <img decoding=\"async\" src=\"https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/Engineering-1.svg\" class=\"attachment-35x35 size-35x35\" alt=\"\" \/><\/div>                            <\/div>\n\n            <div class=\"card__ligt-text\">April 12, 2024<\/div>\n\n            <div class=\"card__text\">\n                <p>Apriko was developed as a microservice application to meet the increasing requirements of modern enterprise applications. This architecture approach provides the agility, scalability, and maintainability required by today\u2019s software systems. It has proven its worth with major software companies such as LinkedIn, Spotify, and Netflix.<\/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=\"3067\">\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\/en\/blog\/platform-for-modern-enterprise-applications\/\" class=\"link-text\">Read more<\/a>\n            <\/div>\n        <\/div>\n    <\/div>\n\n            \n<div class=\"card-back card-back--blue share-data\" data-id=\"3067\" data-url=\"https:\/\/apriko.com\/en\/blog\/platform-for-modern-enterprise-applications\/\" >\n            <h3 class=\"card-back__title\">Share Options<\/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\/en\/wp-content\/uploads\/sites\/3\/2024\/06\/url-3.svg\" class=\"attachment-35x35 size-35x35\" alt=\"\" \/>                    <\/div>\n                                        Copy link                <\/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\/en\/wp-content\/uploads\/sites\/3\/2024\/06\/mail-2.svg\" class=\"attachment-35x35 size-35x35\" alt=\"\" \/>                    <\/div>\n                                        Send by email                <\/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\/en\/wp-content\/uploads\/sites\/3\/2024\/06\/logo-linkedin-2.svg\" class=\"attachment-35x35 size-35x35\" alt=\"\" \/>                    <\/div>\n                                        Share on linkedIn                <\/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\">Send by email<\/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;\">Required field<\/span>\n                <span class=\"valid-message invalid-email\" style=\"display: none;\">Please provide correct e-mail<\/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                                I accept the privacy policy                            <\/span>\n                        <\/label>\n                        <span class=\"valid-message\" style=\"display: none;\">Required field<\/span>\n                    <\/div>\n                    <div>\n                        <button type=\"button\" class=\"btn btn-secondary js-share-email\"  data-share=\"subscribe\">Send<\/button>\n                    <\/div>\n                    <span class=\"invalid-message\" style=\"display: none;\">Something went wrong, try again<\/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>The article has been sent successfully. Don&#8217;t want to miss any Apriko content in the future? Then subscribe to our newsletter. <\/p>\n<\/div>\n                                        <h3 class=\"title-sm\">Subscribe to our Newsletter<\/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\/en\/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                I accept the privacy policy            <\/span>\n        <\/label>\n        <div class=\"step-errors\">\n            <span class=\"valid-message general\" style=\"display: none;\">Required field<\/span>\n            <span class=\"valid-message invalid-email\" style=\"display: none;\">Please provide correct e-mail<\/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\">Salutation<\/option>\n                <option value=\"Female\">Female<\/option>\n                <option value=\"Male\">Male<\/option>\n                <option value=\"Other\">Other<\/option>\n            <\/select>\n        <\/div>\n        <span class=\"valid-message\" style=\"display: none;\">Required field<\/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;\">Required field<\/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\/en\/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;\">Required field<\/span>\n        <span class=\"invalid-message all\" style=\"display: none;\">Something went wrong, try again<\/span>\n        <span class=\"invalid-message pending\" style=\"display: none;\">We have already sent the confirmation email &#8211; please confirm subscription<\/span>\n        <span class=\"invalid-message registered\" style=\"display: none;\">E-mail is already register, thank you<\/span>\n    <\/div>\n\n    <div class=\"subscribe-step\">\n            <div class=\"subscribe__text\">\n            <h4>Thank you<\/h4>\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\">Close<\/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\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/bdd.png\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/bdd.png 3840w, https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/bdd-300x169.png 300w, https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/bdd-1024x576.png 1024w, https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/bdd-768x432.png 768w, https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/bdd-1536x864.png 1536w, https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/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\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/Engineering-1.svg\" class=\"attachment-35x35 size-35x35\" alt=\"\" \/><\/div>                            <\/div>\n\n            <div class=\"card__ligt-text\">April 12, 2024<\/div>\n\n            <div class=\"card__text\">\n                <p>At Apriko, we strive for a high degree of automation of customer processes, a fast market launch, and continuous improvement of our software. To ensure this in a demanding domain and complex software architecture, precise planning and consistent implementation from the outset are essential.<\/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=\"3106\">\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\/en\/blog\/behavior-driven-development\/\" class=\"link-text\">Read more<\/a>\n            <\/div>\n        <\/div>\n    <\/div>\n\n            \n<div class=\"card-back card-back--blue share-data\" data-id=\"3106\" data-url=\"https:\/\/apriko.com\/en\/blog\/behavior-driven-development\/\" >\n            <h3 class=\"card-back__title\">Share Options<\/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\/en\/wp-content\/uploads\/sites\/3\/2024\/06\/url-3.svg\" class=\"attachment-35x35 size-35x35\" alt=\"\" \/>                    <\/div>\n                                        Copy link                <\/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\/en\/wp-content\/uploads\/sites\/3\/2024\/06\/mail-2.svg\" class=\"attachment-35x35 size-35x35\" alt=\"\" \/>                    <\/div>\n                                        Send by email                <\/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\/en\/wp-content\/uploads\/sites\/3\/2024\/06\/logo-linkedin-2.svg\" class=\"attachment-35x35 size-35x35\" alt=\"\" \/>                    <\/div>\n                                        Share on linkedIn                <\/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\">Send by email<\/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;\">Required field<\/span>\n                <span class=\"valid-message invalid-email\" style=\"display: none;\">Please provide correct e-mail<\/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                                I accept the privacy policy                            <\/span>\n                        <\/label>\n                        <span class=\"valid-message\" style=\"display: none;\">Required field<\/span>\n                    <\/div>\n                    <div>\n                        <button type=\"button\" class=\"btn btn-secondary js-share-email\"  data-share=\"subscribe\">Send<\/button>\n                    <\/div>\n                    <span class=\"invalid-message\" style=\"display: none;\">Something went wrong, try again<\/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>The article has been sent successfully. Don&#8217;t want to miss any Apriko content in the future? Then subscribe to our newsletter. <\/p>\n<\/div>\n                                        <h3 class=\"title-sm\">Subscribe to our Newsletter<\/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\/en\/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                I accept the privacy policy            <\/span>\n        <\/label>\n        <div class=\"step-errors\">\n            <span class=\"valid-message general\" style=\"display: none;\">Required field<\/span>\n            <span class=\"valid-message invalid-email\" style=\"display: none;\">Please provide correct e-mail<\/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\">Salutation<\/option>\n                <option value=\"Female\">Female<\/option>\n                <option value=\"Male\">Male<\/option>\n                <option value=\"Other\">Other<\/option>\n            <\/select>\n        <\/div>\n        <span class=\"valid-message\" style=\"display: none;\">Required field<\/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;\">Required field<\/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\/en\/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;\">Required field<\/span>\n        <span class=\"invalid-message all\" style=\"display: none;\">Something went wrong, try again<\/span>\n        <span class=\"invalid-message pending\" style=\"display: none;\">We have already sent the confirmation email &#8211; please confirm subscription<\/span>\n        <span class=\"invalid-message registered\" style=\"display: none;\">E-mail is already register, thank you<\/span>\n    <\/div>\n\n    <div class=\"subscribe-step\">\n            <div class=\"subscribe__text\">\n            <h4>Thank you<\/h4>\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\">Close<\/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=\"2161\" src=\"https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/devops.png\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/devops.png 3840w, https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/devops-300x169.png 300w, https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/devops-1024x576.png 1024w, https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/devops-768x432.png 768w, https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/devops-1536x864.png 1536w, https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/devops-2048x1153.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\">DevOps at Apriko<\/h3>\n                                    <\/div>\n                                    \r\n<div  class=\"icon icon-35\">\r\n    <img decoding=\"async\" src=\"https:\/\/apriko.com\/en\/wp-content\/uploads\/sites\/3\/2024\/12\/Engineering-1.svg\" class=\"attachment-35x35 size-35x35\" alt=\"\" \/><\/div>                            <\/div>\n\n            <div class=\"card__ligt-text\">April 12, 2024<\/div>\n\n            <div class=\"card__text\">\n                <p>The development of modern software requires agile methods in order to be able to react quickly to market changes and ensure quality at the same time. DevOps offers the ideal solution here thanks to the close integration of development and operation.<\/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=\"3161\">\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\/en\/blog\/devops-at-apriko\/\" class=\"link-text\">Read more<\/a>\n            <\/div>\n        <\/div>\n    <\/div>\n\n            \n<div class=\"card-back card-back--blue share-data\" data-id=\"3161\" data-url=\"https:\/\/apriko.com\/en\/blog\/devops-at-apriko\/\" >\n            <h3 class=\"card-back__title\">Share Options<\/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\/en\/wp-content\/uploads\/sites\/3\/2024\/06\/url-3.svg\" class=\"attachment-35x35 size-35x35\" alt=\"\" \/>                    <\/div>\n                                        Copy link                <\/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\/en\/wp-content\/uploads\/sites\/3\/2024\/06\/mail-2.svg\" class=\"attachment-35x35 size-35x35\" alt=\"\" \/>                    <\/div>\n                                        Send by email                <\/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\/en\/wp-content\/uploads\/sites\/3\/2024\/06\/logo-linkedin-2.svg\" class=\"attachment-35x35 size-35x35\" alt=\"\" \/>                    <\/div>\n                                        Share on linkedIn                <\/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\">Send by email<\/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;\">Required field<\/span>\n                <span class=\"valid-message invalid-email\" style=\"display: none;\">Please provide correct e-mail<\/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                                I accept the privacy policy                            <\/span>\n                        <\/label>\n                        <span class=\"valid-message\" style=\"display: none;\">Required field<\/span>\n                    <\/div>\n                    <div>\n                        <button type=\"button\" class=\"btn btn-secondary js-share-email\"  data-share=\"subscribe\">Send<\/button>\n                    <\/div>\n                    <span class=\"invalid-message\" style=\"display: none;\">Something went wrong, try again<\/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>The article has been sent successfully. Don&#8217;t want to miss any Apriko content in the future? Then subscribe to our newsletter. <\/p>\n<\/div>\n                                        <h3 class=\"title-sm\">Subscribe to our Newsletter<\/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\/en\/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                I accept the privacy policy            <\/span>\n        <\/label>\n        <div class=\"step-errors\">\n            <span class=\"valid-message general\" style=\"display: none;\">Required field<\/span>\n            <span class=\"valid-message invalid-email\" style=\"display: none;\">Please provide correct e-mail<\/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\">Salutation<\/option>\n                <option value=\"Female\">Female<\/option>\n                <option value=\"Male\">Male<\/option>\n                <option value=\"Other\">Other<\/option>\n            <\/select>\n        <\/div>\n        <span class=\"valid-message\" style=\"display: none;\">Required field<\/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;\">Required field<\/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\/en\/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;\">Required field<\/span>\n        <span class=\"invalid-message all\" style=\"display: none;\">Something went wrong, try again<\/span>\n        <span class=\"invalid-message pending\" style=\"display: none;\">We have already sent the confirmation email &#8211; please confirm subscription<\/span>\n        <span class=\"invalid-message registered\" style=\"display: none;\">E-mail is already register, thank you<\/span>\n    <\/div>\n\n    <div class=\"subscribe-step\">\n            <div class=\"subscribe__text\">\n            <h4>Thank you<\/h4>\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\">Close<\/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":[28],"tags":[31],"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>Automatic generation of the graphic user interface (UI) - Apriko EN<\/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\/en\/blog\/automatic-generation-of-the-graphic-user-interface-ui\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Automatic generation of the graphic user interface (UI)\" \/>\n<meta property=\"og:url\" content=\"https:\/\/apriko.com\/en\/blog\/automatic-generation-of-the-graphic-user-interface-ui\/\" \/>\n<meta property=\"og:site_name\" content=\"Apriko EN\" \/>\n<meta property=\"article:modified_time\" content=\"2025-02-10T10:45:18+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/apriko.com\/en\/blog\/automatic-generation-of-the-graphic-user-interface-ui\/\",\"url\":\"https:\/\/apriko.com\/en\/blog\/automatic-generation-of-the-graphic-user-interface-ui\/\",\"name\":\"Automatic generation of the graphic user interface (UI) - Apriko EN\",\"isPartOf\":{\"@id\":\"https:\/\/apriko.com\/en\/#website\"},\"datePublished\":\"2024-04-12T09:53:03+00:00\",\"dateModified\":\"2025-02-10T10:45:18+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/apriko.com\/en\/blog\/automatic-generation-of-the-graphic-user-interface-ui\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/apriko.com\/en\/blog\/automatic-generation-of-the-graphic-user-interface-ui\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/apriko.com\/en\/blog\/automatic-generation-of-the-graphic-user-interface-ui\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Apriko\",\"item\":\"https:\/\/apriko.com\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Automatic generation of the graphic user interface (UI)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/apriko.com\/en\/#website\",\"url\":\"https:\/\/apriko.com\/en\/\",\"name\":\"Apriko EN\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/apriko.com\/en\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Automatic generation of the graphic user interface (UI) - Apriko EN","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\/en\/blog\/automatic-generation-of-the-graphic-user-interface-ui\/","og_locale":"en_US","og_type":"article","og_title":"Automatic generation of the graphic user interface (UI)","og_url":"https:\/\/apriko.com\/en\/blog\/automatic-generation-of-the-graphic-user-interface-ui\/","og_site_name":"Apriko EN","article_modified_time":"2025-02-10T10:45:18+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/apriko.com\/en\/blog\/automatic-generation-of-the-graphic-user-interface-ui\/","url":"https:\/\/apriko.com\/en\/blog\/automatic-generation-of-the-graphic-user-interface-ui\/","name":"Automatic generation of the graphic user interface (UI) - Apriko EN","isPartOf":{"@id":"https:\/\/apriko.com\/en\/#website"},"datePublished":"2024-04-12T09:53:03+00:00","dateModified":"2025-02-10T10:45:18+00:00","breadcrumb":{"@id":"https:\/\/apriko.com\/en\/blog\/automatic-generation-of-the-graphic-user-interface-ui\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/apriko.com\/en\/blog\/automatic-generation-of-the-graphic-user-interface-ui\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/apriko.com\/en\/blog\/automatic-generation-of-the-graphic-user-interface-ui\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Apriko","item":"https:\/\/apriko.com\/en\/"},{"@type":"ListItem","position":2,"name":"Automatic generation of the graphic user interface (UI)"}]},{"@type":"WebSite","@id":"https:\/\/apriko.com\/en\/#website","url":"https:\/\/apriko.com\/en\/","name":"Apriko EN","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/apriko.com\/en\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/apriko.com\/en\/wp-json\/wp\/v2\/detail-page\/3152"}],"collection":[{"href":"https:\/\/apriko.com\/en\/wp-json\/wp\/v2\/detail-page"}],"about":[{"href":"https:\/\/apriko.com\/en\/wp-json\/wp\/v2\/types\/detail-page"}],"author":[{"embeddable":true,"href":"https:\/\/apriko.com\/en\/wp-json\/wp\/v2\/users\/5"}],"version-history":[{"count":5,"href":"https:\/\/apriko.com\/en\/wp-json\/wp\/v2\/detail-page\/3152\/revisions"}],"predecessor-version":[{"id":3217,"href":"https:\/\/apriko.com\/en\/wp-json\/wp\/v2\/detail-page\/3152\/revisions\/3217"}],"wp:attachment":[{"href":"https:\/\/apriko.com\/en\/wp-json\/wp\/v2\/media?parent=3152"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/apriko.com\/en\/wp-json\/wp\/v2\/categories?post=3152"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/apriko.com\/en\/wp-json\/wp\/v2\/tags?post=3152"},{"taxonomy":"authors","embeddable":true,"href":"https:\/\/apriko.com\/en\/wp-json\/wp\/v2\/authors?post=3152"},{"taxonomy":"visual-tag","embeddable":true,"href":"https:\/\/apriko.com\/en\/wp-json\/wp\/v2\/visual-tag?post=3152"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}