Технологии:

ActionScript 3, FeathersUI, Reobotlegs, Flash, Windows, MacOSX, iOS, Android, Air, AGAIL

Интерактивная флеш-карта Франции

Лето 2017 г.

Кроссплатформенный многопользовательский редактор музыкальных нот. Рисование и редактирование синхронизируется со всеми устройствами пользователя и его партнеров, состоящих в группе. Моя часть была не только разработка клиентского приложения но и разработка упрощенной (прототипной) версии серверного функционала. Такая схема позволила сохранить огромное количество времени на синхронизацию клиентсвкой и серверных блоков, написании клиент-серверного протокола и документации. Мною были написаны упрощенные решения на php без уделения внимания детальной проработке, в каких-то местах заглушки, в каких-то полностью действующий функционал, что в результате заняло значительно меньше времени чем могли бы потребовать дискуссии при написании протокола. В дальнейшем же серверный разработчик просто заменил существующие сервисы на более стабильную и проработанную версию на основе Python Django, без необходимости внесения изменений в клиентскую часть. Это позволило серверному разработчику на протяжении всего времени разработки постоянно иметь возможность проверять результат своей работы на полностью рабочей версии, а не писать код «вслепую».

Bookreader


Bookreader


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

Bookreader


Пользователь может добавлять и удалять ноты в личную библиотеку

Bookreader


Очень много сил было выделено на качественный рендеринг нот интерполяцию растровых текстов при помощи Ассемблер языка общения с видеокартой AGAL

Bookreader


Приложение поддерживает режим отображения и сокрытия каждого из слоев книги

Bookreader


Поддерживает множество режимов отображения страниц: двойные и одинарные развороты, полноэкранный и фреймовый режимы, навигацию по страницам

Bookreader


Bookreader


Bookreader


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

Bookreader


Все символы и кисти загружаются в видеопамять предварительно поэтому совершенно не отнимают процессорного времени при прорисовке

Bookreader


Очень много внимания уделено пользовательской настройке

Bookreader


Bookreader


Bookreader


Пользователь имеет возможность собрать свою собственную палитру красок

Bookreader


И символов. А также задать последовательность страниц необходимых для отображения в нужном слое.