ActionScript 3, FeathersUI, Reobotlegs, Flash, Windows, MacOSX, iOS, Android, Air, AGAIL
Кросплатформний багатокористувацький редактор нот
Літо 2017 р.
Кросплатформний багатокористувацький редактор музичних нот. Малювання й редагування синхронізуються на всіх пристроях користувача та його партнерів, які входять до групи. Моєю частиною була не лише розробка клієнтського застосунку, а й спрощена (прототипна) версія серверного функціоналу. Така схема заощадила величезну кількість часу на узгодженні клієнтської та серверної частин, написанні клієнт-серверного протоколу й документації. Я написав спрощені рішення на PHP без детального опрацювання: десь заглушки, десь повністю робочий функціонал. Це забрало значно менше часу, ніж могли б забрати дискусії під час написання протоколу. Згодом серверний розробник просто замінив ці сервіси стабільнішою й ретельніше опрацьованою версією на Python/Django — без жодних змін у клієнтській частині. Завдяки цьому він упродовж усієї розробки міг перевіряти результат своєї роботи на повністю робочій версії, а не писати код «наосліп».
Багато зусиль вкладено в якісний рендеринг нот та інтерполяцію растрових текстур за допомогою AGAL — асемблерної мови для програмування відеокарти
Підтримує багато режимів показу сторінок: подвійні й одинарні розвороти, повноекранний і фреймовий режими, навігацію сторінками
Особливий інтерес становить графічний редактор-малювалка. Усі елементи фактично є векторною графікою: лінії програмно малюються растровими пензлями в пам’яті GPU, і растровий малюнок щоразу відтворюється з векторного шляху. Завдяки високій продуктивності GPU після завантаження графіки у відеопам’ять сторінки показуються без найменших затримок — навіть коли процесор пристрою майже «завис» через інші застосунки чи низьку продуктивність. Річ у тім, що вся графіка малюється у відеопам’яті й майже не задіює процесор. Час витрачається лише на завантаження растра у відеопам’ять, але завдяки ретельній оптимізації навіть він непомітний для ока. Крім того, малювання відбувається в асинхронних потоках, що дає змогу уникнути пригальмовувань навіть під час завантаження великих обсягів даних.
Усі символи й пензлі заздалегідь завантажуються у відеопам’ять, тому зовсім не забирають процесорного часу під час малювання









