The term "native" comes from the Latin word "nativus," which means "born" or "natural." This word, in turn, comes from the verb "nasci," which means "to be born." Thus, "native" refers to something that is inherent or indigenous to a particular environment or context.
In different languages, the word "native" can have similar meanings. For example:
In English, the word "native" is used to denote something natural or indigenous to a particular locality, culture, or technological platform.
In Ukrainian, "нативний" has a similar meaning and is used in the context of the native or natural state of something.
This term is actively used in many fields (IT technologies, linguistics, marketing, etc.), where it is important to emphasize the native or natural quality of a particular object or phenomenon for a specific environment or context.
embedded development
What does Native mean in IT?
The term is used to describe software or applications that have been developed specifically for a particular platform or operating system. For example, a native app for iOS is written in Swift or Objective-C, while a native app for Android uses Java or Kotlin. You can also read a previously published post - What is native machine code.
The main characteristics of native software are high performance, access to all capabilities.
Native apps typically run faster and more efficiently because they are optimized for a specific platform. They can also utilize all the features and capabilities of the platform, including access to hardware such as the camera, GPS, and others.
In other words, native software can leverage all the capabilities of the platform because it is native to it.
NON-native software uses adapters, virtual machines, and other tools to adapt to the platform. This is what makes non-native apps slower and/or limited.
Examples:
Native mobile apps are developed specifically for iOS or Android.
Desktop apps: Native apps for Windows, macOS, or Linux are developed with the features of these operating systems in mind.
Web apps: Although web apps are usually not considered native, there are native components of browsers or extensions that are developed for specific browsers.
The choice between native and cross-platform solutions depends on many factors, including performance requirements, budget, development timelines, and target audience.
The term can also be used in relation to (native) APIs - programming interfaces provided by the operating system or platform that allow developers to create applications using native features and services.
This term is quite universal and can be applied to many things: data, libraries, interfaces, etc. I think the essence is clear.
Nativeness in other fields
The term can be used not only in the context of software but also in many other fields and contexts. The most popular examples are language and advertising.
Native advertising is advertising that integrates into the interface and functionality of the platform where it is placed. It looks like part of the content, unlike traditional banners or pop-ups (which have an unnatural appearance and can promote products that are not even relevant to the content of the page/app).
Native languages are the native languages spoken by people from a certain country or region. For example, Ukrainian is a native language for the residents of Ukraine.