WWDC2023 Metal swift headset ARKit supports c c++ development

1 In this year's WWDC, we saw Apple's spatial computing equipment, and visionOS also supports c c++ API.

What's the benefit of this? It's not that it can attract more c c++ developers to join the Apple developer camp, but that many of our past software can be easily connected to Apple's head-mounted display devices, allowing our software to support Apple's new head-mounted display devices. interact.

For example, our past game engine was developed in c# or other languages, then we can easily write a c c++ version of the plug-in, so that the game engine supports ARKit space calculation and interaction logic.

The 3D modeling design software and digital painting software developed in the past are most likely developed in C++, and I can easily adapt my software to the new Apple head-mounted display device. Some well-known U-frames in the past are also easy to adapt to the interactive logic of the Apple headset. Now we see a more open Apple, which was unimaginable for developers in the past.

2 Apple iOS development left hand swift right hand c c ++

Since 2008, Apple has mainly promoted its own object-c, oc is actually similar to c++, and implemented a set of object-oriented framework based on c language. Later, oc gradually developed automatic memory recovery, and gradually wanted to lower the threshold for iOS developers. After continuous development, oc has become very simple and easy to use, but Apple still thinks that the language of oc is too complicated, so it started to develop swift, a scripting language similar to python.

For many new frameworks of Apple, the main development language is swift. For example, since 2014, Apple has launched its own graphics API Metal to replace OpenGL, and the preferred development language is swift. But what's the problem with a new development language like swift, which changes every year. It was not until last year's swift5.0 that it gradually stabilized. A development language keeps changing, which means that the code you wrote last year may not be used after upgrading to a version several years old. This is a headache for developers.

At the same time, the entire industry, in the field of graphics, is basically dominated by C++. In the past two or three decades, in the field of 3D graphics, a large number of third-party libraries, frameworks, and industrial-grade software are all C++. So you will find that Apple has been promoting its own Metal for almost 10 years since 2014, and it is difficult to promote. Many industry-level software, such as Blender, wanted to use Vulkan's cross-platform solution before. In the end, Apple became anxious and began to pay for itself, programmers, equipment, and write a Metal-based renderer for Blender.

At the same time, in 2022, the c++ version of Metal was officially opened. Apple, which has always been aloof, also found that it was difficult to fight against the developers of the entire industry by pushing something. When it is difficult to innovate in application development and enter the deep water area, Apple can't help it.

This year's new version of swift can directly use c++ in swift. Why do many programmers like to use C++, because C++ code is naturally cross-platform, and the code ten years ago can still run today. Not like some new language keeps changing. Therefore, for a large number of industry-level basic libraries, C++ is the first choice.

3 Do iOS and Android development will point c c + + 

 When doing iOS development and Android development, most of the time you write the interface, and basically use oc swift java for upper-level applications. For application development, the salary ceiling itself is relatively low. Very few Internet companies have more than 30k, and the industry ceiling The average is around 25k.

But as an iOS and Android development programmer, if you are proficient in using c c ++, your ceiling can reach seventy or eighty k. Why learn c c ++, because after learning c c ++, we have the ability to write low-level network communication applications such as TCP/UDP. At the same time, a large number of third-party libraries are historically written in c c ++.

For example, OpenGL, FFmepg, OpenCV, etc. For mobile phone development, most of the time we need to learn is c language, which is slightly simpler than c++. The requirements for C++ are not that high, because you are not professionally doing C++ development, most of the time you are doing C++ application development, and you are not asked to write middleware-level software.

For example, on Android, if you are proficient in using c c ++, you can use NDK to develop and use a large number of third-party libraries. Even write some libraries by yourself, and the sdk will be handed over to other upper-level application developers to call.

The low requirements we are talking about here actually mean that you need to know some basic C++, such as classes, objects, inheritance, polymorphism, overloading, STL standard library, templates, etc. It is much easier to master these and then do C++ application software development . The C++ language itself is more complex, but we can use only a subset of it. For example, for the c++ standard, most of the time, you can use c++03 c++11. Basically, you don't need to study so deeply about other things, which is relatively simple.

In the era of VR AR MR development, audio and video, image processing development technology, especially OpenGL ES is the most basic technology.

Here I recommend my personal audio and video, image processing and development series courses.

Guess you like

Origin blog.csdn.net/chenchao_shenzhen/article/details/131251624