Обложка канала

iOS Dev

iOS разработчик, который делится фишками, своим опытом и опытом других. В этом канале вы сможете найти истории из жизни, подходы к реализации а также новости и тренды из мира iOS-разработки Авторский канал, iOS разработка

iOS Dev

4 года назад
Открыть в
Рефакторинг UICollectionView с использованием дженериков в компании Etsy Распространенный опыт работы с долгоживущими проектами заключается в том, что производительность может стать проблемой по следующим причинам: 1️⃣ Более старый код может не быть спроектирован так, чтобы использовать все преимущества оптимизации платформы и новых возможностей. 2️⃣ Производительность разработчиков также может пострадать. 3️⃣ Сложнее привлекать разработчиков к работе с кодом, который неоднократно изменялся и расширялся в течение многих лет, а также сложнее проверять и тестировать изменения. Когда приложение Etsy только создавалось, экраны были относительно простыми вещами с ограниченной ответственностью. Имело смысл программировать их более или менее монолитно. Но когда в компании посмотрели на производительность и подумали о болевых точках инженеров, пришло решение, что пора обратить внимание на легаси-код. В старой реализации, чем больше и сложнее становился экран, тем больше страдала его производительность: сборка одного огромного view заставляла приложение выполнять множество вычислений лэйаута заранее, включая те, которые лучше отложить. Гораздо менее затратный и более гибкий подход предполагает переосмысление экрана как набора независимых views. 📖 В этом материале идет речь о том, что предприняли в компании Etsy для улучшения ситуации. С примерами кода, конечно же. @iOS Dev