ActionScript 3, FeathersUI, Reobotlegs, Flash, Windows, MacOSX, iOS, Android, Air, AGAIL
Интерактивная флеш-карта Франции
Лето 2017 г.
Кроссплатформенный многопользовательский редактор музыкальных нот. Рисование и редактирование синхронизируется со всеми устройствами пользователя и его партнеров, состоящих в группе. Моя часть была не только разработка клиентского приложения но и разработка упрощенной (прототипной) версии серверного функционала. Такая схема позволила сохранить огромное количество времени на синхронизацию клиентсвкой и серверных блоков, написании клиент-серверного протокола и документации. Мною были написаны упрощенные решения на php без уделения внимания детальной проработке, в каких-то местах заглушки, в каких-то полностью действующий функционал, что в результате заняло значительно меньше времени чем могли бы потребовать дискуссии при написании протокола. В дальнейшем же серверный разработчик просто заменил существующие сервисы на более стабильную и проработанную версию на основе Python Django, без необходимости внесения изменений в клиентскую часть. Это позволило серверному разработчику на протяжении всего времени разработки постоянно иметь возможность проверять результат своей работы на полностью рабочей версии, а не писать код «вслепую».
Очень много сил было выделено на качественный рендеринг нот интерполяцию растровых текстов при помощи Ассемблер языка общения с видеокартой AGAL
Поддерживает множество режимов отображения страниц: двойные и одинарные развороты, полноэкранный и фреймовый режимы, навигацию по страницам
Особый интерес представляет из себя графический редактор-рисовалка. Все элементы представляют из себя фактически векторную графику программно отрисовующую линии растровыми кистями в памяти GPU каждый раз воссоздавая растровый рисунок из векторного пути. За счет высокой производительности отображения GPU, после загрузки графики в память видеокарты отображение страниц происходит без малейших задержек, даже когда процессор устройства находится практически в зависшем состоянии из-за загрузки другими приложениями или низкой производительности устройства. Все дело в том что вся графика отрисовывается в видеопамяти и практически не задействует процессор. Время тратится лишь на загрузку растра в видеопамять, но за счет очень детальной оптимизации даже это время остается незаметным для глаза. Кроме того, отрисовка происходит в асинхронных потоках, что позволят избежать притормаживаний даже при загрузке большого количества данных.
Все символы и кисти загружаются в видеопамять предварительно поэтому совершенно не отнимают процессорного времени при прорисовке