Facebook iOS Frankenstein Codebase
Haven’t seen much discussion on this but Facebook’s iOS app is the closest thing to Frankenstein’s monster that a codebase can get to and still be alive. After years of iteration, the Facebook codebase does not resemble a typical iOS codebase: • It’s full of C++, Objective-C(++), and Swift. • It has dozens of dynamically loaded libraries (dylibs), and so many classes that they can’t be loaded into Xcode at once. • There is almost zero raw usage of Apple’s SDK — everything has been wrapped or replaced by an in-house abstraction. • The app makes heavy use of code generation, spurred by Buck, our custom build system. • Without heavy caching from our build system, engineers would have to spend an entire workday waiting for the app to build. FBiOS was never intentionally architected this way. The app’s codebase reflects 10 years of evolution, spurred by technical decisions necessary to support the growing number of engineers working on the app, its
На изображении показан скриншот с шутливым описанием кодовой базы iOS-приложения Facebook. Автор сравнивает её с монстром Франкенштейна: она состоит из множества языков, библиотек, абстракций и исторически накопившихся технических решений, но всё ещё работает. Мем используют как реакцию на сложный, разросшийся и трудно поддерживаемый легаси-код. EN: The image shows a screenshot with a humorous description of Facebook’s iOS app codebase. The author compares it to Frankenstein’s monster: it consists of many languages, libraries, abstractions, and historically accumulated technical decisions, yet it is still alive and working. The meme is used as a reaction to complicated, bloated, difficult-to-maintain legacy code.
smartphone app screenshot / скриншот приложения для смартфонаblack background / чёрный фонwhite text / белый текстtext post / текстовый постcodebase / кодовая базаbullet list / маркированный списокprogramming languages / языки программированияsoftware libraries / программные библиотекиcomputer code / компьютерный кодdeveloper workplace / рабочее место разработчикаFrankenstein’s monster reference / отсылка к монстру Франкенштейна
- @gentoomemes / 2534 2023-02-17
- Type
- image
- Size
- 481×800 · 72.9 KiB
- Mood
- саркастичный, абсурдный
- Language
- en
- Added