С 2010 года я занимаюсь программированием под iOS, начиная с геймдева и развивая навыки в C/C++. Сегодня я работаю кросс-функциональным архитектором, активно использую Go и продолжаю любить Swift. Мой опыт включает проектирование мессенджеров, включая разработку аналогов мессенджеров на MQTT. В Telegram я активно использую Premium и сталкиваюсь с багами на iPhone 17 Air и iPad Pro 12.9.
Telegram яляется технически сложным мессенджером с более чем 2,1 миллиона строк кода. Однако приложение страдает от лагов и стабильных крэшей, что связано с тем, что 86% кода написано на Swift, а разработчики продолжают использовать устаревшую парадигму ООП. Это приводит к потере производительности, так как Swift лучше оптимизируется при использовании Protocol Oriented Programming (POP).
Переход на POP мог бы снизить нагрузку на процессор на 10-25% и уменьшить потребление памяти на 20-30%. Проблемы, вызванные ООП, включают медленную диспетчеризацию и ненужные аллокации. Рефакторинг кода и применение POP могут значительно улучшить производительность Telegram, увеличив автономность устройств на 10-20%.