Свежие новости

С 2010 года я занимаюсь разработкой под iOS, начиная с геймдева и переходя к мессенджерам, включая Telegram. В iOS-приложении Telegram больше 2,1 миллиона строк кода, из которых 86% написаны на Swift. Несмотря на это, приложение сталкивается с проблемами производительности, особенно на флагманских устройствах. Основная причина — использование объектно-ориентированного программирования (ООП) вместо более эффективного подхода, основанного на протоколах (Protocol Oriented Programming, POP).

Проблемы, возникающие из-за ООП, включают медленную диспетчеризацию и лишние аллокации, что приводит к увеличению потребления CPU и памяти. Переход на POP, где используются структуры и протоколы, может значительно повысить производительность, улучшить управление памятью и уменьшить количество сбоев.

Незначительный рефакторинг может привести к улучшению автономности устройств на 10-20% благодаря оптимизации работы ARC. Важно избавиться от устаревших подходов, таких как использование суффикса Impl, и перейти к более современным методам проектирования, которые соответствуют особенностям Swift.

News Reporter