Получение оценок по курсу
Основной способ получения оценки по курсу
Для получения положительной оценки по курсу необходимо разработать приложение для 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++ с помощью других современных компилируемых языков программирования:
В рамках этой задачи необходимо решить следующие подзадачи:
- Подключение кода, написанного на языке программирования, к Sailfish-приложению. необходимо
- Исключение использования C++-кода для связывания кода на языке программирования с QML-частью, интерфейсом приложения. желательно
- Взаимодействие с базой данных средствами языка. необходимо
- Взаимодействие со службами по протоколу D-Bus. необходимо
- Возможность использования сенсоров, включая камеру на устройстве. дополнительно
Разворачивание toolchain в виртуальной машине
Сейчас SDK предоставляет виртуальную машину для компиляции приложения. Необходимо описать процесс создания своей собственной виртуальной машины с установленным SDK, а также продемонстрировать возможность сборки полноценного приложения с помощью данного инструментария.
Успешным решением данной задачи является:
- Создание и демонстрация своей виртуальной машины со сборочным окружением. необходимо
- Написание пошагового руководства по созданию виртуальной машины. необходимо
- Создание скрипта для автоматической установки сборочного окружения в виртуальную машину. желательно
Своя инфраструктурная задача
Вы можете самостоятельно предложить задачу по улучшению инфраструктуры по созданию приложений под Sailfish OS. Если ваш проект заслуживает внимание, то его можно будет взять в качестве дополнительного проекта.