Compared to 3D engines, 2D engines are much simpler. Many small teams and even individuals have the ability to develop 2D engines. UIKit provides convenience for engine development. It eliminates the need to write a graphical interface framework yourself. Even if you use OpenGL, UIKit also provides a ready-made framework. You only need to focus on the platform-independent core logic of the engine. Of course, you can also set up your own stove without using UIKit, if necessary. In fact, something like UIKit is an adapter between the core logic of the engine and the specific platform (iOS). You can write this adapter yourself, or you can use the official UIKit
Compared to 3D engines, 2D engines are much simpler. Many small teams and even individuals have the ability to develop 2D engines. UIKit provides convenience for engine development. It eliminates the need to write a graphical interface framework yourself. Even if you use OpenGL, UIKit also provides a ready-made framework. You only need to focus on the platform-independent core logic of the engine. Of course, you can also set up your own stove without using UIKit, if necessary. In fact, something like UIKit is an adapter between the core logic of the engine and the specific platform (iOS). You can write this adapter yourself, or you can use the official UIKit