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 条
  • [41] Cross-Platform App Facilitating Radiation Exposure Assessments in Epidemiological Studies
    Borrego, D.
    Lee, C.
    Borrego, D.
    MEDICAL PHYSICS, 2020, 47 (06) : E258 - E259
  • [42] An Evaluation Framework for Cross-Platform Mobile App Development Tools: A case analysis of Adobe PhoneGap framework
    Ahti, Ville
    Hyrynsalmi, Sami
    Nevalainen, Olli
    COMPUTER SYSTEMS AND TECHNOLOGIES, COMPSYSTECH'16, 2016, : 41 - 48
  • [43] CROSS-PLATFORM COMPRESSION
    DION, PJ
    DR DOBBS JOURNAL, 1993, 18 (13): : 32 - &
  • [44] Dealing with Comprehension and Bugs in Native and Cross-Platform Apps: A Controlled Experiment
    Caulo, Maria
    Francese, Rita
    Scanniello, Giuseppe
    Spera, Antonio
    PRODUCT-FOCUSED SOFTWARE PROCESS IMPROVEMENT, PROFES 2019, 2019, 11915 : 677 - 693
  • [45] Cross-platform builds
    Graham-Cumming, J
    DR DOBBS JOURNAL, 2005, 30 (01): : 48 - +
  • [46] Cross-platform computing
    Anon
    Computer-Aided Engineering, 2000, 19 (12):
  • [47] CROSS-PLATFORM WARRIOR
    COTE, RG
    BYTE, 1994, 19 (10): : 163 - &
  • [48] Using orthorectification for cross-platform image fusion
    Gordon, D
    AIRBORNE RECONNAISSANCE XXVII, 2003, 5109 : 71 - 78
  • [49] Cross-platform independence
    Clarke, RA
    DR DOBBS JOURNAL, 1999, 24 (12): : 10 - 10
  • [50] Best practices for cross-platform virtual reality development
    Schlueter, Jonathan
    Baiotto, Holly
    Hoover, Melynda
    Kalivarapu, Vijay
    Evans, Gabriel
    Winer, Eliot
    DEGRADED ENVIRONMENTS: SENSING, PROCESSING, AND DISPLAY 2017, 2017, 10197