Основной способ получения оценки по курсу

Для получения положительной оценки по курсу необходимо разработать приложение для Sailfish OS, опубликовать его в публичном репозитории OpenRepos.net, выложить исходный код в свободный доступ под одной из OpenSource-лицензий (GPL, BSD, MIT и т.п.).

  • Идея приложения не должна быть уникальной, приложение может содержать идеи из других приложений с других мобильных платформ.
  • Приложение может быть клиентом к интернет-сервису, если он предоставляет публично доступный API.
  • Рекомендуется реализовывать бизнесс-приложения, а не игры. Для игр вводятся следующие ограничения:
    • В разработке игры участвует 1 человек.
    • Все визуальные элементы оформления должны быть уникальны для данной игры.
    • Игровой процесс должен составлять не менее 10 часов.
  • Требования к бизнесс-приложению:
    • Разработка приложения может вестись группами из двух человек. Будет оцениваться индивидуальный вклад в проект.
    • Для разработки необходимо применять систему контроля версий и публиковать результаты еженедельно.
    • Приложение должно содержать как минимум 5 различных экранов.

Важные даты:

  • 07.03.2018 - предоставляются приложения, которые будут разрабатываться в рамках курса. После этой даты новые заявки не принимаются.
  • 14.03.2018 - 28.03.2018 - демонстрация прогресса в разработке приложений. Необходимо показать как минимум 2 раза.
  • 04.04.2018 - защита проектов.

Альтернативный способ получения оценки по курсу

Вы можете взять на себя решение сложной задачи и продемонстрировать её решение на любом занятии в феврале или марте месяце. Вы также можете параллельно решать задачу в рамках основного процесса. Т.е. это дополнительный способ, который может привести вас к получению положительной оценки.

  • Вы можете взять одну задачу из списка, который представлен ниже. Зарезервировать такую задачу можно на любом занятия до 28.02.2018.
  • Вы не можете участвовать одновременно в нескольких задачах.
  • Исходный код решения данной задачи выкладывается в свободный доступ под OpenSource-лицензией.
  • Решение задачи может происходить группой из двух человек. Будет оцениваться индивидуальный вклад в решение задачи.

Использование альтернативных языков программирования

Для каждого языка программирования выдаётся отдельная задача.

Платформа Sailfish поддерживает разработку на языках QML, C++. Вам необходимо исследовать возможности по замещению языка C++ с помощью других современных компилируемых языков программирования:

В рамках этой задачи необходимо решить следующие подзадачи:

  1. Подключение кода, написанного на языке программирования, к Sailfish-приложению. необходимо
  2. Исключение использования C++-кода для связывания кода на языке программирования с QML-частью, интерфейсом приложения. желательно
  3. Взаимодействие с базой данных средствами языка. необходимо
  4. Взаимодействие со службами по протоколу D-Bus. необходимо
  5. Возможность использования сенсоров, включая камеру на устройстве. дополнительно

Разворачивание toolchain в виртуальной машине

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

Успешным решением данной задачи является:

  1. Создание и демонстрация своей виртуальной машины со сборочным окружением. необходимо
  2. Написание пошагового руководства по созданию виртуальной машины. необходимо
  3. Создание скрипта для автоматической установки сборочного окружения в виртуальную машину. желательно

Своя инфраструктурная задача

Вы можете самостоятельно предложить задачу по улучшению инфраструктуры по созданию приложений под Sailfish OS. Если ваш проект заслуживает внимание, то его можно будет взять в качестве дополнительного проекта.