Эволюция архитектуры приложения Facebook для iOS
Быть хорошим разработчиком мобильных приложений – это не просто зарегистрировать Apple Account Developer, но и разбираться в разных кодовых базах, которые применяются при создании софта для «яблочных» устройств. Особого внимания заслуживает архитектура Facebook для iOS, которая имеет долгую историю и ряд серьезных отличий от других разработок. Даже если вы собираетесь быть Developer Huawei или делать программы для девайсов с операционной системой Андроид (для этого тоже нужно будет пройти регистрацию в системе, верифицироваться и потом получить доступ к Developer console Google), вам будет интересно и полезно узнать больше об этой базе и её эволюции. А для потенциальных или нынешних разработчиков ПО для iOS представленная информация станет отправной точкой для профессионального роста и улучшения качества своей работы. После ознакомления с обзором вы можете сразу купить аккаунт разработчика в Nova.Shop и начать реализацию авторских проектов, ориентируясь на проверенные технические решения и используя многочисленные инструменты специализированной платформы.
Отличительные особенности FBiOS, которые должен знать Developer Apple
Во Вселенной Meta используется огромное количество кодовых баз, среди которых FBiOS является самой старой и одной из наиболее надежных. Её создали в 2012 году и неоднократно оптимизировали, применяя инновационные технологии и креативные решения талантливых инженеров. Архитектура гарантирует стабильность работы приложения, и к такому же результату нужно стремиться всем, кто использует Apple console Developer для разработки собственных утилит. Если сравнивать базу Facebook со стандартной для iOS-девайсов, то можно увидеть ряд отличий:
- огромное количество классов и несколько десятков dylib, из-за чего отсутствует возможность моментальной загрузки в Xcode;
- применение видоизмененного Apple SDK;
- разные языки программирования – есть части кода, написанные на Swift, Objective-C(++) и C++;
- задействование уникальной системы кастомной сборки Buck;
- максимальная интенсивность кеширования.
Интересно, что конечный результат не был спрогнозированным – просто по мере появления новых технологий инженеры делали всевозможные доработки, чтобы приложение:
- функционировало без сбоев;
- быстро загружалось на разных девайсах;
- отвечало потребностям пользователей;
- обеспечивало максимальный уровень защиты персональных данных.
Основные этапы развития кодовой базы Facebook для iOS
Постоянное тестирование и модернизация характерны для всего софта, который создается для гаджетов американского бренда. Этот момент нужно принимать во внимание всем, кто нацелен на оформление Apple subscriptions Developer и публикацию собственных приложений в официальном магазине. FBiOS дорабатывали с момента создания нативной версии почти каждый год. Опишем ключевые новации на разных этапах развития кодовой базы:
- 2014 год – отказ от императивного кода для профилактики сбоев в фиде в пользу одностороннего потока данных, интеграция нового декларативного UI для увеличения производительности на 50%, презентация фреймворка ComponentKit;
- 2015 год – разработка Mobile First, расширение количества интегрируемых продуктов, использование модульной системы, увеличение размера приложения;
- 2016 год – переход на dylib для обеспечения быстродействия утилиты, создание NotOnStartup, FBCamera и FBShared;
- 2017 год – пересмотр элементов архитектуры, переход на открытый код Buck;
- 2018 год – ускорение генерации функций и классов, замена системы плагинов runtime-based;
- 2020 год – активизация применения Swift и изменение стратегии в пользу совмещения разных языков программирования,
- 2022 год – продолжение работы над уменьшением «pre-main» времени.
Ключевые изменения в архитектуре, которые произошли с момента основания
Специально для владельцев Apple Enterprise Developer Account и индивидуальных разработчиков мы подготовили список изменений, которые произошли с момента запуска стартовой версии приложения:
- интеграция GraphQL и ComponentKit;
- абстрагирование динамических библиотек от инженеров;
- минимизация ожидания запуска за счет dylibs;
- отображение языковых рекомендаций.
Параллельно «яблочный» бренд презентовал улучшения операционной системы: chain fixups, dyld3, SwiftUI, опцию создания фреймворков для API и SDK.
На примере FBiOS можно увидеть, что работа над приложением должна продолжаться даже после его размещения в магазине. Apple App Developer должен это понимать и заранее предусматривать инструменты коммуникации с пользователями, чтобы находить и устранять недоработки, а также расширять функционал. Стоит также помнить о необходимости продления доступа к профилю разработчика – Apple Developer Account price в год составляет 99 или 299 долларов в зависимости от профиля. Если забыть о продлении, то доступ к управлению утилитой будет утрачен. К сожалению, у некоторых компаний и программистов-фрилансеров возникают сложности с урегулированием финансовых вопросов из-за санкций и по другим причинам. Универсальный способ, как оплатить Apple Developer и решить проблему – обратиться в нашу проверенную компанию.
Блог