Preview

Vestnik NSU. Series: Information Technologies

Advanced search

Development of IDE for Android Devices

https://doi.org/10.25205/1818-7900-2019-17-2-91-100

Abstract

Mobile devices are frequently used for educational purposes considering their high availability and portability. However, educational abilities of mobile devices are quite limited due to the lack of proper IDE applications. Most Android integrated development environments for C++ are lacking code completion and real-time code analysis, while others provide these features at unacceptable speeds. Therefore, we decided to develop a next-generation mobile C++ IDE that will not only have these features, but will also provide them at real-time speeds. This will make mobile devices more suitable for learning C++ and will provide students with an opportunity to leave their laptops at home and to learn C++ in different situations, where usage of laptop is not convent. In this paper, we describe the software porting technology applied to Clang compiler and other required tools and propose the method to speed up compilation, code completion and code analysis in our IDE. We also propose UI optimization methods. We also describe a regular expression-based heuristic algorithm for precompiled header generation that has small processor time and RAM requirements. The efficiency of the algorithm is tested on different educational code examples. Our experiments show that our IDE is the only one at the moment, that can keep code completion real-time in all usage scenarios. The performance gain is 300 % average, when STL is used, reaching 3350 % when Boost library is involved. There is a small performance loss when C is used, but it is not significant, as the performance is still acceptable for real-time usage.

About the Authors

R. K. Lebedev
Novosibirsk State University
Russian Federation


I. A. Koryakin
Novosibirsk State University
Russian Federation


Review

For citations:


Lebedev R.K., Koryakin I.A. Development of IDE for Android Devices. Vestnik NSU. Series: Information Technologies. 2019;17(2):91-100. (In Russ.) https://doi.org/10.25205/1818-7900-2019-17-2-91-100

Views: 29


Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.


ISSN 1818-7900 (Print)
ISSN 2410-0420 (Online)