В чем разница между нативным и гибридным приложением

«В чем разница между нативным и гибридным приложением» — вопрос из категории Архитектура, который задают на 27% собеседований Системный Аналитик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Нативные приложения разрабатываются под конкретную платформу (iOS/Android) с использованием родных языков (Swift/Kotlin). Они быстрые, имеют доступ ко всем функциям устройства и оптимизированы под ОС.

Гибридные приложения создаются на веб-технологиях (HTML, CSS, JS) и запускаются внутри WebView (например, через Cordova или Capacitor). Они кроссплатформенные, но медленнее и ограничены в доступе к железу.

Пример гибридного кода (Cordova):

document.addEventListener('deviceready', function() {
  navigator.camera.getPicture(onSuccess, onFail, { 
    quality: 50,
    destinationType: Camera.DestinationType.FILE_URI 
  });
});

Плюсы нативных: производительность, полный доступ к API.
Плюсы гибридных: дешевая разработка, единая кодовая база.