Органайзер для студентов: история и планы
Привет!
Завтра этот блог перестанет существовать, потому напоследок хотелось бы рассказать историю создания нашего органайзера для студентов и поделиться планами на будущее.
Все началось весной 2013 года, когда мы с Raymondo решили наконец автоматизировать учет сроков выполнения заданий, потому как перед сессией появлялась реальная проблема: как собрать все оставшиеся задания в кучу и распределить время их выполнения с учетом приоритетов.
Для начала решили писать Model на C++/SQLite, чтобы в условиях ограниченных ресурсов охватить как можно больше платформ. С реализацией проблем не возникло, однако оказалось, что если использовать такую схему с Objective C еще реально, то возня с обертками Java — явно не лучшая идея. Плюс ко всему модель освобождения памяти свернутого приложения Android накладывает некоторые ограничения на архитектуру. В общем стало понятно, что так каши не сваришь, и нужно заходить с другой стороны. Ну что же, взялись за настольную версию на Qt, которая и была написана за лето. Но увы, релиза не вышло — начались невнятные падения SQLite при интенсивной работе с программой. Быстро пофиксить их не удалось, пришлось переписывать Model на QSql, и раз уж все равно одна на всех не получается.
Релиз
После нового года релиз наконец получился, а к марту даже попали на Хабр:
Стало еще очевиднее, что нужно мобильное приложение, другой стороны, к этому времени Digia выпустила Qt 5.2, в которой заявлена поддержка мобильных платформ. Уже догадываетесь, какие грабли были следующими?) Правильно, мы подумали, что раз такое дело, надо писать кроссплатформенное приложение на Qt Quick, сосредоточившись для начала на Android. Увы, технология оказалась весьма и весьма сырой, тем более для написания традиционных приложений. Очень многие виджеты приходится реализовывать самостоятельно, а те что есть или выглядят не родными или работают не так как надо. Да и с масштабированием под разные экраны пришлось повозиться. В итоге получился как максимум просмотрщик расписания и задач, с которым не видать нам высоких мест в сторах как своих ушей. Для перспективы хоть какой-то монетизации нужны не только полноценные и нативные мобильные приложения, но и выход на западных студентов. Ну и еще такие мелочи как мотивация и свободное время.
Король умер. Да здравствует король!
Жаль будет, если в общем-то неплохой и наверное нужный продукт так и завянет, потому мы решили открыть исходники всех наработок, как настольного, так и мобильного приложения. Нужно только немного причесать код, в общем coming soon. Для обеспечения синхронизации через DropBox, которая реализована, но пока не доступна в текущей версии, будет публиковаться официальная сборка, потому как выложить секретный ключ в открытый доступ не получится.
Конечно, мы получили охапку бесценного опыта по полному циклу разработки приложения, защитили диплом по этой теме, да и просто покодили just for fun, так что ни о чем не жалеем. Опыт создания настольного приложения описан в этом цикле статей, а опытом разработки на QML планирую начать делиться в ближайшие недели, в том числе в статьях по написанию кастомных компонентов. Радует, что ребята из Digia не сидят сложа руки, активно фиксят баги, а уже этой осенью выйдет версия с поддержкой родной темы оформления Android, так что направление весьма интересное.
Скачать органайзер можно тут, группа vk тут.
P.S. Огромное спасибо ТМ за их программу поддержки стартапов — это действительно здорово.