The evolution of the Facebook app architecture for iOS
Being a good mobile application developer means not just registering an Apple Account Developer, but also understanding the different code bases that are used to create software for Apple devices. The architecture of Facebook for iOS deserves special attention, which has a long history and a number of serious differences from other developments. Even if you are going to be a Huawei Developer or make programs for devices with the Android operating system (for this you will also need to register in the system, be verified and then gain access to the Google Developer console), you will be interested and useful to learn more about this database and its evolution. And for potential or current iOS software developers, the information presented will become a starting point for professional growth and improving the quality of their work. After reading the review, you can immediately buy a developer account in Nova.Shop and start implementing your own projects, focusing on proven technical solutions and using numerous tools of a specialized platform.
Distinctive features of FBiOS that an Apple Developer should know
The Meta Universe uses a huge number of codebases, of which FBiOS is the oldest and one of the most reliable. It was created in 2012 and repeatedly optimized using innovative technologies and creative solutions from talented engineers. The architecture guarantees the stability of the application, and everyone who uses Apple console Developer to develop their own utilities should strive for the same result. If you compare the Facebook database with the standard one for iOS devices, you can see a number of differences:
- a huge number of classes and several dozen dylibs, which is why there is no possibility of instant loading into Xcode;
- use of a modified Apple SDK;
- different programming languages – there are parts of the code written in Swift, Objective-C(++) and C++;
- using the unique Buck custom assembly system;
- maximum caching intensity.
Interestingly, the end result was not predicted – simply as new technologies appeared, engineers made all sorts of improvements so that the application:
- functioned without failure;
- loaded quickly on different devices;
- meets user needs;
- ensured the maximum level of protection of personal data.
Key milestones in the development of the Facebook codebase for iOS
Constant testing and modernization are characteristic of all software that is created for gadgets of the American brand. This point should be taken into account by everyone who is aiming to sign up for Apple subscriptions Developer and publish their own applications in the official store. FBiOS has been improved almost every year since the creation of the native version. Let’s describe the key innovations at different stages of code base development:
- 2014 – abandonment of imperative code to prevent feed failures in favor of a one-way data flow, integration of a new declarative UI to increase productivity by 50%, presentation of the ComponentKit framework;
- 2015 – development of Mobile First, expansion of the number of integrated products, use of a modular system, increase in the size of the application;
- 2016 – transition to dylib to ensure the performance of the utility, creation of NotOnStartup, FBCamera and FBShared;
- 2017 – revision of architectural elements, transition to open source Buck;
- 2018 – acceleration of the generation of functions and classes, replacement of the runtime-based plugin system;
- 2020 – intensification of the use of Swift and a change in strategy in favor of combining different programming languages,
- 2022 – continued work on reducing “pre-main” time.
Key changes in architecture that have occurred since its founding
Especially for Apple Enterprise Developer Account owners and individual developers, we have prepared a list of changes that have occurred since the launch of the initial version of the application:
- integration of GraphQL and ComponentKit;
- abstraction of dynamic libraries from engineers;
- minimizing startup waits using dylibs;
- displaying language recommendations.
At the same time, the Apple brand presented improvements to the operating system: chain fixups, dyld3, SwiftUI, the option of creating frameworks for APIs and SDKs.
Using FBiOS as an example, you can see that work on an application must continue even after it is published in the store. The Apple App Developer must understand this and provide tools for communication with users in advance in order to find and eliminate shortcomings, as well as expand functionality. It is also worth remembering the need to renew access to the developer profile – Apple Developer Account price per year is $99 or $299, depending on the profile. If you forget about renewal, then access to managing the utility will be lost. Unfortunately, some companies and freelance programmers have difficulty resolving financial issues due to sanctions and other reasons. The universal way to pay Apple Developer and solve the problem is to contact our trusted company.
Blog