В рамках проекта CrystaX NDK запущено регулярное регрессионное тестирование библиотек Boost C++ под Android. С результатами тестов можно ознакомиться на официальной странице Boost (develop branch).
В соответствии с идеологией проекта CrystaX NDK, в код Boost никаких изменений не вносилось - портирование на Android происходит благодаря более полному соответствию стандартам C, C++ и POSIX, обеспечиваемым библиотеками в составе CrystaX NDK (в отличие от Android NDK от Google, где нижележащие библиотеки, такие как libc, не обеспечивают стандартного поведения).
На данный момент не все регрессионные тесты проходят - некоторые библиотеки работают, некоторые еще нет. Причина регрессий - частично ошибки в Boost, частично ошибки CrystaX NDK. Разработчики CrystaX NDK призывают всех заинтересованных в использовании Boost под Android принимать участие в проверке результатов тестов и, если окажется, что причиной регрессии является ошибка в CrystaX NDK - сообщать об этом для оперативного исправления.
Регулярное тестирование Boost с помощью CrystaX NDK идет на пользу не только Boost, но и CrystaX NDK. В силу сложности и требовательности кода Boost к нижнеуровневым библиотекам, он является хорошим набором тестов для CrystaX NDK, позволяя хорошо тестировать CrystaX NDK на соответствие стандартам C, C++ и POSIX. Таким образом обеспечивается хорошая поддержка со стороны CrystaX NDK и для другого, не связанного с Boost, программного обеспечения.
Дополнение: На сайте BountySource началась кампания по сбору средств для дальнейшего развития проекта CrystaX NDK - независимого открытого набора инструментов для нативной разработки под Android. Основные направления развития проекта:
- Создание репозитория бинарных сборок сторонних библиотек для быстрой и простой установки их в NDK и легкого использования в разработке.
- Полная поддержка Objective-C v2, включая полностью Cocoa-совместимые (по API) фреймворки
- Поддержка дополнительных языков программирования для разработки под Android - D, Go, Fortran, Lisp, Erlang и других
- C и C++ API для всей функциональности, доступной на данный момент только через Java - UI, services, geolocation, sensors и т.д.
|