https://proandroiddev.com/whats-native-c8d84ccda667
Статья обсуждает концепцию "native" в контексте мобильной разработки, особенно в экосистемах Android и iOS. Автор аргументирует, что определение "native" стало сложным и тонким с появлением кроссплатформенных технологий.
Исторически "native" относилось к приложениям, разработанным с использованием языков, специфичных для платформы, таких как Java для Android и Objective-C для iOS. Однако с появлением дизайн-систем, таких как Material Design для Android и плоского дизайна для iOS, акцент сместился с технической реализации на пользовательский опыт и интерфейс.
Автор предлагает, что дизайн-системы и пользовательский опыт не определяют, является ли приложение native или нативным. Вместо этого термин "native" зависит от контекста платформы, для которой оно предназначено. Например, JavaScript считается нативным в веб-разработке, потому что это основной язык взаимодействия с веб-браузерами.
Современные мобильные фреймворки, такие как React Native и Flutter, созданы для помощи разработчикам в создании приложений для мобильных платформ, но они не соответствуют техническим критериям для нативной функциональности. Они работают в своих изолированных средах, требуя промежуточных слоев или переводов для взаимодействия с системой, что может привести к избыточности и неэффективности.
В отличие от этого, Kotlin выделяется как нативный язык благодаря своей архитектуре компилятора, позволяющей прямое взаимодействие с Java, Swift, JavaScript и WebAssembly. Встроенная интероперабельность Kotlin устраняет необходимость в промежуточном слое или виртуальной машине, позволяя ему без проблем обмениваться объектами между платформами и генерировать нативный код для каждой целевой платформы.
Статья заключает, что концепция "native" относительна и зависит от контекста платформы, для которой она предназначена. В то время как дизайн-системы и пользовательский опыт важны, они не определяют, что означает быть нативным. Вместо этого способность к обмену памятью и стеком вызовов с базовой системой является ключевым критерием для нативной функциональности, и Kotlin соответствует этому критерию.
Post #16
298