- PVSM.RU - https://www.pvsm.ru -

Математический пакет для Android — «Микро-Математика» — теперь с открытым исходным кодом

Некоторое время назад я писал здесь о «Микро-Математике» [1] — математическом пакете для Android, который я разработал в качестве хобби-поделки. Этим летом исполняется три года с тех пор, как «Микро-Математика» была выложена в Google Play [2] на всеобщее обозрение. С тех пор программа развивалась дальше, и вот настал момент, когда доход от Google Play окупил разработку. В связи с этим я не вижу смысла дальше утаивать исходный код от общественности и перевожу проект в разряд Open Source. Тех, кому интересно познакомиться с репозиторием «Микро-Математики» на github [3], и, быть может, поучаствовать в дальнейшем развитии проекта, прошу под кат.

Я не буду повторять здесь содержание предыдущей статьи [1] — идеология, ядро и базовый функционал приложения с тех пор не изменились. Естественно, за три года добавилось много новых возможностей. Выделю наиболее важные, на мой взгляд:

  • Реализован функциональный файловый менеджер, который поддерживает не только SD-карту, но и доступ к ресурсам приложения. За основу взято ядро достаточно известного файлового менеджера «Ghost Commander» [4]
    Окно файлового менеджера

  • В ресурсах приложения теперь содержится большая библиотека примеров.
    Если у тех, кто пользуется этим приложением, есть интересные примеры вычислений, и вы не против поделиться ими с общественностью, высылайте их мне по почте, я с удовольствием включу их в эту библиотеку.
    Окно выбора примера

  • Теперь приложение может работать с комплексными числами:
    Пример расчёта с комплексными чмслами

  • Кроме этого, добавлена поддержка массивов, использование которых позволяет значительно ускорить расчёт
    Пример расчёта с использованием массивов

  • Появился экспорт документа в формате HTML, после чего его можно открыть в браузере, например, на ПК:
    Экспортированный документ на ПК

  • Добавлена возможность автоматического тестирования математического ядра. Модуль-тестировщик встроен в приложение, он позволяет прогонять скрипты, имеющие специальный синтаксис и контролировать результаты вычислений. На сегодня разработаны 30 скриптов, которые содержат более 250 тестов, покрывающих все вычислительные алгоритмы.

Github репозиторий находится тут [3]. Лицензия — GNU General Public License v3.0.

Так уж исторически сложилось, что вся разработка у меня происходит под Linux, и, стыдно сказать, до сих пор в Eclipse. Но я открыт к альтернативным рабочим окружениям, так что если кто-то захочет запуллить конвертацию служебных скриптов под Windows, или проектные файлы для Android Studio — буду только рад.

На текущий момент в репозитории содержится как весь исходный код и SVG-исходники всех иконок приложения, так и некоторые вспомогательные вещи:

  • src: папка с исходниками. Там можно найти: сами исходники, шаблон форматирования для Eclipse, а также в папке src/assets документацию, библиотеку примеров и скрипты автоматического тестирования
  • images: SVG-исходники иконок и шелл-скрипты для их конвертации в PNG-ресурсы. Для работы скриптов необходим установленный Inkscape.
  • thirdParty: архивы всех использованных библиотек.
  • release: собранный, но не подписанный APK. Там же находится архив с результатами автоматического тестирования
  • autotest: служебные скрипты для генерации тестовых виртуальных машин и для прогона на них тестов.

За последнее время я получил много пожеланий по дальнейшему развитию приложения. Среди них могу выделить такие, как:

  • Экспорт в PDF
  • Матричные вычисления
  • Циклы, как, например, это реализовано в Matcad
  • Улучшение редактирования: перетаскивание формул пальцем, более удобный доступ к палитре мат. символов.
  • Внедрение пакетной системы для группировки мат. функционала: например, опциональные пакеты по обработке сигналов, статистике, специальные функции.
  • Я уже использую библиотеку «The Apache Commons Mathematics Library», где есть модуль символьных вычислений. Неплохо было бы его задействовать.

Для одного человека работы многовато, поэтому приглашаю к сотрудничеству всех энтузиастов, кто интересуется математикой, алгоритмами, численными методами и т.д. Спасибо за внимание!

Автор: mkulesh

Источник [5]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/matematika/261544

Ссылки в тексте:

[1] «Микро-Математике»: https://habrahabr.ru/post/250727/

[2] Google Play: https://play.google.com/store/apps/details?id=com.mkulesh.micromath.plus&hl=ru

[3] репозиторием «Микро-Математики» на github: https://github.com/mkulesh/microMathematics

[4] «Ghost Commander»: https://sourceforge.net/projects/ghostcommander/

[5] Источник: https://habrahabr.ru/post/334670/