Лекция
Привет, Вы узнаете о том , что такое кроссплатформенность, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое кроссплатформенность , настоятельно рекомендую прочитать все из категории Кросс-платформенное программирование.
кроссплатформенность (межплатформенность) — способность программного обеспечения работать с несколькими аппаратными платформами или операционными системами. Обеспечивается благодаря использованию высокоуровневых языков программирования, сред разработки и выполнения, поддерживающих условную компиляцию, компоновку и выполнение кода для различных платформ. Типичным примером является программное обеспечение, предназначенное для работы в операционных системах Linux и Windows одновременно.
Кроссплатформенность, также известная как межплатформенность, представляет собой свойство программного обеспечения, которое позволяет ему работать на нескольких платформах или операционных системах без значительных изменений. Это важная характеристика для разработки приложений, так как она обеспечивает более широкий охват пользователей и экономит ресурсы разработки. Вот несколько ключевых аспектов кроссплатформенности:
Язык программирования: Использование языков программирования, которые поддерживают кроссплатформенность. Некоторые из популярных кроссплатформенных языков включают Java, JavaScript (с использованием фреймворков, таких как React Native или Flutter), C# (с использованием Xamarin) и Python.
Фреймворки и библиотеки: Использование кроссплатформенных фреймворков и библиотек, которые предоставляют абстракции над конкретными характеристиками платформы. Например, Xamarin, Flutter, React Native, Electron и Qt.
Интерфейс пользователя: Разработка интерфейсов пользователя, которые адаптируются к стандартам каждой платформы. Некоторые фреймворки позволяют использовать общий код для бизнес-логики и имеют возможности для создания нативных пользовательских интерфейсов.
Тестирование: Комплексное тестирование на различных платформах для обеспечения совместимости и стабильности работы приложения.
Примеры кроссплатформенных приложений включают в себя Microsoft Office, Slack, Skype, и многие мобильные приложения, созданные с использованием фреймворков React Native и Flutter. Кроссплатформенность является ключевым элементом для улучшения эффективности разработки и обеспечивает более широкий доступ к приложениям для пользователей разных платформ.
Swing выглядит одинаково на всех ОС.
Mozilla Firefox, использующий XUL, оформляет окна в стиле ОС (в данном случае — Linux).
Кроссплатформенными можно назвать большинство современных высокоуровневых языков программирования. Об этом говорит сайт https://intellect.icu . Например, Си, C++, Free Pascal, FreeBASIC, PureBasic — кроссплатформенные языки на уровне компиляции, то есть для этих языков есть компиляторы под различные платформы. Это позволяет — при надлежащем качестве кода — не переписывать основной движок программы, меняются только особые системозависимые части.
Не менее важны для кроссплатформенности стандартизованные библиотеки среды выполнения. В частности, стандартом стала библиотека языка Си (POSIX). Из крупных кроссплатформенных библиотек — Qt, GTK+, FLTK, STL, Boost, OpenGL, SDL, OpenAL, OpenCL.
Существуют кросс-компиляторы — компиляторы, генерирующие исполняемый код для платформы, отличной от той, на которой запущен сам компилятор.
PHP, Perl, Python, Tcl и Ruby — кроссплатформенные интерпретируемые языки, их интерпретаторы существуют для многих платформ.
Среды исполнения ActionScript Virtual Machine, Java Virtual Machine и .NET также кроссплатформенны, однако на их вход подается не исходный текст, а промежуточный код. Поэтому программы, написанные на ActionScript, Java и C#, можно запускать под разными операционными системами без предварительной перекомпиляции.
На разных операционных системах и средах — независимо от того, как технически достигнута работа в них — стандартные элементы интерфейса имеют разные размеры. Поэтому простое жесткое позиционирование элементов интерфейса невозможно — в другой операционной системе (среде) они могут «налезать» друг на друга, «расплываться», «пьянеть». Существует несколько подходов:
В любом случае, в других операционных системах и средах требуется хотя бы минимальное тестирование, так как возможны ошибки компоновки.
Даже несмотря на широкую, в общем, стандартизацию аппаратного и программного обеспечения, программисту часто приходится налаживать ветви под разные операционные системы и среды, включая ту или другую посредством условной компиляции.
Например, браузер Mozilla Firefox имеет разные комплекты значков под разные операционные системы.
Большое количество прикладных программ также являются кроссплатформенными. Особенно это качество выражено у программ, изначально разработанных для Unix-подобных операционных систем. Важным условием их переносимости на другие платформы является совместимость платформ с рекомендациями POSIX, а также существование компилятора GCC для платформы, на которую осуществляется перенос.
Современные операционные системы также часто являются кроссплатформенными. Например, операционные системы с открытым исходным кодом (в частности: NetBSD, Linux, FreeBSD, AROS) могут работать на нескольких различных аппаратных платформах. Наиболее часто это: x86, m68k, PowerPC, Alpha, AMD64, SPARC. («Эльбрус ОС» есть не что иное как глубоко доработанный для платформы «Эльбрус». Но существует «Эльбрус ОС» также доступна и для платформ «Эльбрус-SPARC», представляющей собой реализацию платформы SPARC от МЦСТ, и платформы х86.) Первый выпуск Microsoft Windows NT 4, вышедший в 1996 году, поддерживал четыре платформы (x86, Alpha, MIPS и PowerPC), в дальнейших версиях Windows NT осталась только поддержка платформы х86. Современная Microsoft Windows может работать как на платформе Intel x86, так и на Intel Itanium. (Точнее, для Itanium есть только версии Windows 2000/XP, Windows 2003 и Windows 2008, после чего поддержка Itanium была свернута.) Операционная система NetBSD считается самой наиболее многоплатформенной , — она портирована на большинство ныне существующих платформ.
Ряд IDE, в том числе Free Pascal, Lazarus, Qt Creator, работают на разных операционных системах: Linux, Windows и других .
Если программа не предназначена для исполнения (запуска) на определенной платформе, но для этой платформы существует эмулятор платформы, базовой для данной программы, то программа может быть исполнена в среде эмулятора.
Обычно исполнение программы в среде эмулятора приводит к снижению производительности по сравнению с аналогичными программами, для которых платформа является базовой, так как значительная часть ресурсов системы расходуется на выполнение функций эмулятора.
Исследование, описанное в статье про кроссплатформенность, подчеркивает ее значимость в современном мире. Надеюсь, что теперь ты понял что такое кроссплатформенность и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Кросс-платформенное программирование
Из статьи мы узнали кратко, но содержательно про кроссплатформенность
Комментарии
Оставить комментарий
Кросс-платформенное программирование
Термины: Кросс-платформенное программирование