Boost C ++ libraries on Android

    So, we launched regular regression testing of Boost libraries on Android. Our results have been accepted by the Boost community. We have been added to the “list of approved testers” and the results of our testing are now published (and automatically updated) on the official Boost regression testing page . The Boost library developers started working with us, reporting problems in CrystaX NDK or fixing their code, depending on the situation.

    At the moment there are many regressions, some of which are caused by bugs in Boost, and some are caused by bugs in CrystaX NDK. Naturally, we do not stop there and continue to work, so the number of files will decrease over time. Nevertheless, this is a rather important step, as The testing process is now fully established and works in automatic mode, so now making Boost fully supported on Android is a relatively simple technical task and just a matter of time. I urge all interested to pay attention to regressions and, if the cause is a bug in CrystaX NDK, start a ticket . Of course, we are also doing this, but the effectiveness will obviously be higher with the participation of more people.

    We managed to achieve this result with the help of CrystaX NDK, our project whose main task is to create a full-fledged set of tools for native development for Android. Native is not necessarily C / C ++. We are working to ensure maximum compliance with standards - C, C ++, POSIX, etc., so that support for other programming languages, frameworks and libraries, the implementation of which is already on other POSIX platforms, is greatly facilitated. D, Erlang, Lisp, Ocaml, you name it - we do not see any fundamental restrictions that impede the use of these languages ​​for programming for Android. Obviously, providing a high-quality implementation of basic libraries (such as libc), we greatly facilitate the porting of runtimes and standard libraries of these languages ​​to Android.

    In light of this, automatic Boost testing with CrystaX NDK is important not only for Boost, but also for our project. Due to the complexity and demandingness of Boost libraries for the lower level layer (libc, libm, etc.), it is a good set of tests for the standard behavior of system libraries, and passing all the Boost tests allows us to speak with greater confidence about the full support of standards in CrystaX NDK . Obviously, this helps porting to Android and other non-Boost projects.

    I started this project in the 2009th year and since then led it in my free time. In 2012, my good friend Alexander Zhukov joined me, and since then we have been working on the project together. We earned money by doing custom work for numerous commercial projects and spent it on CrystaX NDK. Nevertheless, even in this mode, CrystaX NDK has always been and still remains much more "feature-rich" than Google’s Android NDK; mainly because Google has no interest in native Android development, and which year ignores the needs of a huge number of developers. This becomes especially interesting in the light of the fact that now Android is not only phones. Today it is already quite powerful tablets, and smart TVs, and car navigators - which means the demand for easy portability of code between platforms is increasing. For the Google recommended way - for Android to rewrite everything in Java - is absolutely not serious.

    Eight months ago, we refused all third-party contracts and started working on CrystaX NDK in full time mode. We are absolutely sure that we can make our project the basis for full-fledged development for Android - ideally, in any language, without the mandatory use of Java, as is happening today. Efficiency in full time mode is obvious - in these eight months we have advanced more than in the last three years. We want to continue and are confident that we will find support among a huge number of programmers.

    Ready to answer any questions.

    Also popular now: