Гибридное ≠ кроссплатформенное.
В последнее время, изучая разные материалы по мобильному тестированию, всё чаще сталкиваюсь с одной и той же вещью: гибридные и кроссплатформенные приложения называют практически синонимами.
Мол, если приложение работает и на Android, и на iOS, значит оно кроссплатформенное, а значит и гибридное. Но это не одно и то же.
Кроссплатформенность — это в первую очередь подход к разработке: одна кодовая база используется для нескольких платформ.
Гибридное приложение — это конкретный тип приложения, в котором веб-технологии используются внутри нативной оболочки. Например, через WebView.
То есть: Гибридное приложение может быть кроссплатформенным, но кроссплатформенное приложение не обязательно является гибридным.
И вот здесь начинается самое интересное именно для QA. Это не просто вопрос терминологии. От архитектуры приложения могут зависеть подходы к тестированию, потенциальные проблемные места и характер багов. В гибридном приложении часть проблем может быть связана с WebView, веб-слоем, JavaScript или взаимодействием этого слоя с нативной частью. В другом кроссплатформенном решении этих особенностей может вообще не быть, зато появятся свои нюансы, связанные с конкретным фреймворком и платформой.
Поэтому фраза «это же кроссплатформа, значит это гибрид» не совсем корректна. Мне кажется, проблема в том, что термин «кроссплатформенный» часто используют как общее обозначение любого приложения, которое запускается сразу на нескольких ОС. А «гибридный» просто используют как его синоним. Хотя между этими понятиями есть принципиальная разница.
А вы часто встречаете такую путаницу? Или для вас эти термины всегда были очевидно разными?