IEEE Access (Jan 2023)

nMorph Framework: An Innovative Approach to Transpiler-Based Multi-Language Software Development

  • Andres Bastidas Fuertes,
  • Maria Perez,
  • Jaime Meza

DOI
https://doi.org/10.1109/ACCESS.2023.3330467
Journal volume & issue
Vol. 11
pp. 124386 – 124429

Abstract

Read online

In the rapidly evolving landscape of software development, this study aims to introduce and assess the nMorph framework, a potential breakthrough in multi-programming-language software development. This approach aspires to empower developers to code in a unified language and subsequently transpile it into multiple target languages, ensuring the software’s original integrity. The objective is to balance the demands of modern software development, like adaptability, scalability, and performance efficiency, with the complexities of burgeoning digital systems. The framework endeavors to strike a balance between architectural integrity and multi-language, multi-platform flexibility. The nMorph framework, especially tailored for enterprise back-end development, integrates crucial features such as ORM, Database Connectors, a dedicated security layer, and essential tools like Configuration mechanisms and Exception Control and Logging. Architecturally, it leans on the Haxe transpiler to transition between languages like Java, C#, and PHP, and ensures compatibility with databases such as Oracle, SQL Server, MySQL, and PostgreSQL, as well as servers like IIS, Apache, Tomcat, and Glassfish. To evaluate its real-world usability, a controlled empirical experiment was conducted. Novice developers participated in a simple banking-like transactional exercise using the nMorph framework in comparison with traditional programming languages. Results from the empirical study indicated that participants, on average, took 15.19% longer when using nMorph in contrast to conventional programming languages. However, the time investment was counterbalanced by the benefits of multi-language and multi-platform software outputs using nMorph. The study also highlighted the nuanced challenges faced when transitioning to nMorph, especially contingent upon a developer’s foundational language. This research illuminated the intricate interplay between perceived task difficulty, individual language proficiency, and distinct software development phases. Future directions in research will delve deeper into real-world applications, aiming for continual refinement based on user feedback and comprehensive case studies.

Keywords