Что такое нативное приложение и на каких языках оно разрабатывается для разных платформ?

«Что такое нативное приложение и на каких языках оно разрабатывается для разных платформ?» — вопрос из категории Основы программирования, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Нативное приложение разрабатывается специально для конкретной операционной системы (ОС) с использованием языков и инструментов, предоставляемых разработчиком этой ОС. Это обеспечивает прямую интеграцию с аппаратным и программным обеспечением устройства, максимальную производительность и нативный пользовательский интерфейс.

Основные платформы и их стеки:

  • iOS: Язык — Swift (реже Objective-C). Среда разработки — Xcode.
  • Android: Язык — Kotlin (реже Java). Среда разработки — Android Studio.
  • Windows (Desktop): Язык — C# с .NET. Среда разработки — Visual Studio.

Пример нативного кода:

iOS (Swift): Создание простого синего экрана.

import UIKit

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        view.backgroundColor = .systemBlue // Использование системного цвета
    }
}

Android (Kotlin): Установка макета для активности.

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main) // Привязка XML-макета
    }
}

Примечание: Кроссплатформенные фреймворки (Flutter, React Native) компилируются в нативный код, но используют единую кодовую базу, что является другим подходом к разработке.