Что такое нативное мобильное приложение?

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

Ответ

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

Характеристики:

  • Языки и инструменты:
    • iOS: Swift или Objective-C, фреймворки UIKit/SwiftUI, среда разработки Xcode.
    • Android: Kotlin или Java, фреймворки Android SDK/Jetpack, среда разработки Android Studio.
  • Производительность: Высокая, так как код компилируется непосредственно в машинный код для процессора устройства.
  • Доступ к функциям ОС: Полный доступ ко всем API устройства (камера, GPS, датчики, уведомления).
  • Пользовательский интерфейс: Использует стандартные компоненты ОС, что обеспечивает нативный look-and-feel и высокую отзывчивость.

Пример кода (Kotlin для Android):

// MainActivity.kt
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main) // Загрузка нативного UI из XML

        val button: Button = findViewById(R.id.my_button)
        button.setOnClickListener {
            // Прямой вызов нативного API для показа уведомления
            Toast.makeText(this, "Button clicked!", Toast.LENGTH_SHORT).show()
        }
    }
}

Сравнение с другими подходами:

  • Плюсы: Максимальная производительность, лучший пользовательский опыт, полный доступ к железу.
  • Минусы: Необходимость писать и поддерживать отдельные кодовые базы для каждой платформы, что увеличивает стоимость и время разработки.