All original content is created in Ukrainian. Not all content has been translated yet. Some posts may only be available in Ukrainian.Learn more

What does "Native" mean?

Post cover: What does "Native" mean?
Table of contentsClick link to navigate to the desired location
This content has been automatically translated from Ukrainian.
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
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.

This post doesn't have any additions from the author yet.

07 May 07:24

What is native machine code?

meme code
meme code@memecode
Enabling YJIT in Ruby 3.2.1 (Ruby on Rails)
08 May 07:57

Enabling YJIT in Ruby 3.2.1 (Ruby on Rails)

meme code
meme code@memecode
09 May 12:43

[Fix] Rails Admin - undefined local variable or method javascript_importmap_shim_nonce_configuration_tag

meme code
meme code@memecode
What is technical debt in IT projects?
13 May 06:17

What is technical debt in IT projects?

meme code
meme code@memecode
13 May 07:11

What does scope mean in IT project management?

meme code
meme code@memecode
What is "scope creep"?
13 May 07:20

What is "scope creep"?

meme code
meme code@memecode
How does 'rails console --sandbox' work?
23 May 19:39

How does 'rails console --sandbox' work?

meme code
meme code@memecode
What is the purpose of the CVE (Common Vulnerabilities and Exposures) database?
29 May 08:05

What is the purpose of the CVE (Common Vulnerabilities and Exposures) database?

meme code
meme code@memecode
29 May 09:09

Which operating systems support Ruby?

meme code
meme code@memecode
Does Ruby create a new copy of an object when assigning a variable to another variable?
29 May 09:30

Does Ruby create a new copy of an object when assigning a variable to another variable?

meme code
meme code@memecode
What is the difference between immediate value and reference in Ruby?
29 May 12:00

What is the difference between immediate value and reference in Ruby?

meme code
meme code@memecode
Why does Ruby code return nil after executing puts?
29 May 20:30

Why does Ruby code return nil after executing puts?

meme code
meme code@memecode