# Transpiler-Based Architecture Design Model for Back-End Layers in Software Development
## 3 Transpiler-Based Design Model for Back-End Layers
### Pros and Cons
#### 3.6.1 Pros  
* Single Codebase, Multiple Back-End Implementations: One advantage of using the proposed design is that it allows for the automatic generation of code for multiple back-end technologies, which can significantly reduce development time and effort. This means that developers can focus on the business logic and front-end layers while the back-end layers are generated automatically using transpilers. This approach can improve the maintainability of the codebase by reducing the amount of manual code that needs to be written and updated. The proposed design allows a high degree of flexibility and adaptability during the development process. By separating the layers and automating much of the code generation process, developers can easily make changes and modifications without having to rewrite large portions of the code. In addition, the use of transpilers means that the code can be easily ported to different platforms and technologies, allowing for greater versatility in the final product. * Single Programming Language: Another advantage of using the proposed design is that it allows developers to learn and work with a single programming language throughout the development process,including the business logic and presentation layers. This can significantly reduce the learning curve for new developers joining the project, and can lead to more efficient development and maintenance of the system over time. In addition, the use of a single language can facilitate communication and collaboration between the different teams and stakeholders involved in the development process. * Extended Lifetime: Programming languages frequently propose new versions of products and services. The same is true for the database and application servers. On the other hand, and under different temporalities, business logic algorithms tend to have different evolution cycles, which can potentially be very fast or very slow depending on the rate of evolution of the functionalities required by companies and their users. The evolution of basic technologies may present the effect of obsolescence over time owing to the age of the technology and not to the inapplicability of the algorithms. In certain cases, it is necessary to carry out migration projects from a previous version to a new one by transferring all of the previously developed algorithms solely to take advantage of the new versions of the base technology, for instance due to limitations in the support of the brand, use of related benefits, compatibility with other running products, etc. In the proposed architecture design, the business logic is implemented using a trans-spiler programming language. This makes the layers in which the business logic is implemented agnostic to the temporality of the underlying technology. After time has passed and new versions have advanced, a new nest implementation and its related services can be generated targeting the current technologies at the time, and the solution can be compiled again without the need to rewrite the back-end code. This offers an important benefit to companies and government entities consider software investment as a long-term asset. * Software Development Methodology: From the viewpoint of software development methodology, the proposed design does not establish any key differences from any other software project. It is possible to work with agile or traditional methodologies, as well as with their properties and execution criteria, without any special considerations. * Reduced Dependency on Base Technologies A final advantage of using the proposed design based on transpilers is the reduced dependency on specific base technologies. With this design, the business logic and data access layers are decoupled from the front-end layer and execution technologies, allowing multiple nest implementations that can run on different technologies.