Pull to refresh

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

Open sourceDevelopment of mobile applicationsDevelopment for AndroidMathematics

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


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


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

Окно файлового менеджера


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

Окно выбора примера


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

Пример расчёта с комплексными чмслами


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

Пример расчёта с использованием массивов


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

Экспортированный документ на ПК


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

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


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


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


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

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


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

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

Only registered users can participate in poll. Log in, please.
Как часто Вы присоединяетесь к чужим Open Source проектам?
47.73% Да никогда в жизни 42
35.23% Очень редко, да и то, если сильно попросят 31
12.5% Охотно участвую в нескольких проектах 11
4.55% Так часто, что уже сбился со счёта 4
88 users voted. 67 users abstained.
Tags:математикаразработка приложенийандроидOpen Source
Hubs: Open source Development of mobile applications Development for Android Mathematics
Total votes 23: ↑22 and ↓1 +21
Views14.1K

Popular right now

Technical Lead, Open Source
from 8,000 $Cube.jsRemote job
Sales Development Representative/ Business development manager
from 80,000 to 120,000 ₽RoonyxRemote job
Golang Engineer
from 2,500 $Spiral ScoutRemote job
Distributed Systems Engineer
from 8,000 $Cube.jsRemote job
Mobile (React Native) Developer
from 4,000 to 6,000 $BravadoRemote job