# Transpiler-Based Architecture Design Model for Back-End Layers in Software Development
## 1 Introduction
The selection of a specific brands and tools often inadvertently constrains the exploration of other possibilities in the future. This limitation can impede the flexibility and adaptability that large-scale projects demand in their lifecycle. Ideally, decisions regarding the choice of development tools and the associated runtime contexts should operate independently [10]. While selecting specific technologies is a common practice and long-standing dependencies are seldom questioned, there are cases in which such dependencies prove suboptimal. Such cases require flexibility, allowing for modifications to foundational technologies even during maintenance phases. Addressing these dependencies necessitates a shift in software architectural paradigms, allowing technological decisions and deployment platform choices to be made after the development phase. In a regular context, this could entail redeveloping the entire software in a different programming language. Additionally, certain scenarios demand multifaceted programming solutions. This is evident in software projects for product builders, government agencies, business associations, open-source projects, and others in which diverse deployment scenarios require the same software to be developed in multiple programming languages in parallel or by combining multiple programming languages in a single solution [11]. In this scenario, the entire software may need to be redeveloped in different programming languages, one for each platform to be supported. While this can enhance adaptability across multiple platforms and collaborative development environments [12; 13; 14], it represents a solution that requires a great deal of effort. The adoption of such a multi-faceted approach primarily stems from the urge to reuse extant code to ensure that the requisite functionalities are met. Moreover, exploit ing the strengths of specific programming languages augments the implementation of distinctive features, caters to diverse software quality demands, and elevates overall developmental efficiency. To address these needs, a multi-programming-language software solution is needed in which identical front-end and back-end systems are developed concurrently in multiple programming languages. However, the effort to have the same software developed in several programming languages is very expensive and error-prone [15]. This multi-programming-language (MPL) paradigm is gaining traction, especially in the wake of recent technological advancements [16]. Therefore, a novel approach is introduced that allows development teams to utilize a single unified and transformable programming language. This provide developers with the opportunity to write the software once and subsequently convert it to a different programming language automatically, even during production or maintenance stages, with minimal effort, thereby delivering parallel versions of the same software made with different languages. Contemporary works in software engineering have led to the advent of transpilers. A transpiler is a tool designed to automatically transform source code made up of a source high-level programming language into another source code made up of a different target high-level programming language, which should be algorithmically equivalent [17]. Beyond their myriad other applications [18], transpilers have found success in front-end web development, empowering developers to employ languages such as TypeScript [19], then subsequently transpile to JavaScript for browser compatibility or even to native mobile platform code. With algorithmic equivalence between source and target languages, transpilers offer a promising avenue for multi-programming-language development, permitting language transformations at any juncture. Although front-end technologies such as HTML, CSS, and JavaScript are inherently multi-platform-compatible, a comparable solution for the back-end layers remains elusive.