Native cross-platform app development using the SequalsK transpiler

被引:0
|
作者
Schultes, Dominik [1 ]
Schneider, Larissa [1 ]
Heymann, Tobias [1 ]
Wild, Franziska [1 ]
机构
[1] Technische Hochschule Mittelhessen, Wilhelm-Leuschner-Str. 13, Friedberg (Hessen),61169, Germany
关键词
Application programming interfaces (API) - Application programs - Program debugging;
D O I
10.1016/j.infsof.2024.107626
中图分类号
学科分类号
摘要
Context: Developing two separate versions of an app for iOS and Android requires significant effort. Existing cross-platform development frameworks may reduce this effort, but they also come with tradeoffs such as high tool dependency. Objective: To avoid the drawbacks of current methods, we introduce a new approach to cross-platform app development, provide the necessary tools, and conduct a thorough evaluation to demonstrate the feasibility of our proposed approach. Method: The central idea of the new native cross-platform development approach is to actively develop apps in both native programming languages, Kotlin for Android and Swift for iOS, while exchanging considerable parts of the source code in a bidirectional fashion using a deterministic transpiler. As the centerpiece of our proposed development approach, we present such a bidirectional Swift-Kotlin transpiler, called SequalsK. It supports the majority of the important constructs of both languages and is able to generate syntactically and semantically correct Kotlin code out of Swift code and vice versa. Results: In our evaluation, we determined that SequalsK is the sole existing bidirectional transpiler, distinguishing it from other transpilers that support only one direction. For the Kotlin-to-Swift direction, SequalsK emerges as the premier transpiler, while for the reverse direction, it stands among the top transpilers. Through six distinct case studies, we applied our native cross-platform development approach, showcasing its ability to fulfill all goals. Across each study, we successfully generated fully-functional native Android and iOS apps, achieving significant time savings as up to 86 percent of the source code has to be programmed only once and can be transpiled to the other involved programming language automatically. Conclusion: At the moment, in particular data structures and business logic can be transpiled successfully. In the future, we expect further improvements by extending the SequalsK transpiler in order to process user-interface parts as well. © 2024 The Authors
引用
收藏
相关论文
共 50 条
  • [21] Cross-platform development: Software that lasts
    Bishop, Judith
    Horspool, Nigel
    COMPUTER, 2006, 39 (10) : 26 - +
  • [22] An approach to cross-platform drivers development
    Alexander, Drozdov Yu
    Yuri, Fonin N.
    Maxim, Perov N.
    Tomara, Vedishcheva S.
    Yulia, Novoselova K.
    PROCEEDINGS OF THE SECOND INTERNATIONAL CONFERENCE ON ENGINEERING AND TELECOMMUNICATION, EN&T 2015, 2015, : 54 - 57
  • [23] Cross-platform mobile app development for disseminating public health information to travelers in Thailand: development and usability
    Pongthep Meankaew
    Saranath Lawpoolsri
    Watcharapong Piyaphanee
    Peerawat Wansatid
    Pimwadee Chaovalit
    Siam Lawawirojwong
    Jaranit Kaewkungwal
    Tropical Diseases, Travel Medicine and Vaccines, 8
  • [24] Cross-Platform App Recommendation by Jointly Modeling Ratings and Texts
    Cao, Da
    He, Xiangnan
    Nie, Liqiang
    Wei, Xiaochi
    Hu, Xia
    Wu, Shunxiang
    Chua, Tat-Seng
    ACM TRANSACTIONS ON INFORMATION SYSTEMS, 2017, 35 (04)
  • [25] Learning by Doing: How to Develop a Cross-Platform Web App
    Minh Huynh
    Ghimire, Prashant
    JOURNAL OF INFORMATION TECHNOLOGY EDUCATION-INNOVATIONS IN PRACTICE, 2015, 14 : 145 - 169
  • [26] Cross-platform mobile app development for disseminating public health information to travelers in Thailand: development and usability
    Meankaew, Pongthep
    Lawpoolsri, Saranath
    Piyaphanee, Watcharapong
    Wansatid, Peerawat
    Chaovalit, Pimwadee
    Lawawirojwong, Siam
    Kaewkungwal, Jaranit
    TROPICAL DISEASES TRAVEL MEDICINE AND VACCINES, 2022, 8 (01)
  • [27] WasmAndroid: A Cross-Platform Runtime for Native Programming Languages on Android
    Wen, Elliott
    Weber, Gerald
    Nanayakkara, Suranga
    ACM TRANSACTIONS ON EMBEDDED COMPUTING SYSTEMS, 2023, 22 (01)
  • [28] Converting Android Native Apps to Flutter Cross-Platform Apps
    Cheon, Yoonsik
    Chavez, Carlos
    2021 INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE AND COMPUTATIONAL INTELLIGENCE (CSCI 2021), 2021, : 1898 - 1904
  • [29] A holistic approach for cross-platform software development
    Blanco, J. Z.
    Lucredio, D.
    JOURNAL OF SYSTEMS AND SOFTWARE, 2021, 179
  • [30] Cabana: A Cross-platform Mobile Development System
    Dickson, Paul E.
    SIGCSE 12: PROCEEDINGS OF THE 43RD ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, 2011, : 529 - 534