Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Кроссплатформенное программное обеспечение

No description

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Кроссплатформенное программное обеспечение

Кроссплатформенное программное обеспечение
Кроссплатформенный пользовательский интерфейс
На разных ОС — независимо от того, как технически достигнута работа в них — стандартные элементы интерфейса имеют разные размеры. Поэтому простое жёсткое позиционирование элементов интерфейса невозможно — под другой ОС они могут налезать друг на друга.
Кроссплатформенные языки программирования
Кроссплатформенными можно назвать большинство современных высокоуровневых языков программирования. Например, C, С++, Free Pascal — кроссплатформенные языки на уровне компиляции, то есть для этих языков есть компиляторы под различные платформы. Компиляция - трансляция программы, составленной на исходном языке высокого уровня, в эквивалентную программу на низкоуровневом языке. Не менее важны для кроссплатформенности стандартизованные библиотеки времени выполнения (набор библиотек (модулей) той или иной системы программирования, поставляемых вместе с компилятором, операционной системой или средой разработки программ) стандартом стала библиотека языка. Крупные кроссплатформенные библиотеки — Qt, GTK+, FLTK, STL, Boost, OpenGL, SDL, OpenAL, OpenCL.
Кроссплатформенные среды исполнения
Ещё в начале развития ПК компания IBM сделала свой персональный компьютер, который был выпущен в 1981 году, совместимым с операционной системой CP/M. Это позволило запускать на нём уже имеющиеся программы. PHP, ActionScript, Perl, Python, Tcl и Ruby — кроссплатформенные интерпретируемые языки, их интерпретаторы существуют для многих платформ.
Кроссплатформенное (межплатформенное) программное обеспечение — программное обеспечение, работающее более чем на одной аппаратной платформе и/или операционной системе.
Среды исполнения Java Virtual Machine и .NET также кроссплатформенны, однако на их вход подаётся не исходный текст, а промежуточный код. Поэтому программы, написанные на Java и C#, можно запускать под разными ОС без предварительной перекомпиляции.

Плюс: можно жёстко расставлять элементы управления на манер Delphi; оригинальный стиль.
Минус: системе приходится иметь свои экранные шрифты; стиль отличается от стиля ОС.
Существует несколько подходов:
1.Единый стиль, общий для всех ОС. Программы выглядят одинаково под всеми ОС. Так работают интерфейсные библиотеки Java наподобие Swing.
Плюс: стандартный стиль ОС, очень быстрый и «скинующийся» под Windows XP, Vista и 7; некоторая автоматизация локализации.
Минус: чтобы собрать самоадаптирующуюся сетку, требуется квалифицированный программист; затруднена плотная компоновка.
2.Самоадаптирующийся интерфейс, подстраивающий сетку под реальные размеры элементов управления. Типичные примеры — wxWidgets, XUL.
Плюс: шрифты можно брать из системы, а не «тащить» свои; некоторая автоматизация локализации.
Минус: берёт все недостатки от первых двух подходов. Стиль отличается от стиля ОС; затруднена плотная компоновка.
3.Гибридный подход. Реализован в GTK+.
В любом случае, под другими ОС требуется хотя бы минимальное тестирование, так как возможны ошибки компоновки.
Условная компиляция
Осуществляется с помощью препроцессора С/С++ — программного инструмента, изменяющего код программы для последующей компиляции и сборки, используемого в языках программирования Си и C++. С его помощью разработчик при подготовке программы к компиляции может с помощью нескольких изменений адаптировать программу к текущей ситуации (например, к определенной модели процессора)
Напр. Браузер Mozilla Firefox имеет разные комплекты иконок под разные ОС.
Большое количество прикладных программ также являются кроссплатформенными. Особенно это качество выражено у программ, изначально разработанных для UNIX-подобных операционных систем.( семейство переносимых, многозадачных и многопользовательских операционных систем.)
Важным условием их переносимости на другие платформы является совместимость платформ с рекомендациями POSIX(набор стандартов, описывающих интерфейсы между операционной системой и прикладной программой (системный API), библиотеку языка C и набор приложений и их интерфейсов), а также существование компилятора GCC для платформы, на которую осуществляется перенос.
Кроссплатформенные IDE (системы программных средств, используемых программистами для разработки программного обеспечения) IDE Free Pascal, IDE Lazarus, Qt Creator работают на разных операционных системах: Linux, Windows и др., что сделало их конкурентом даже виртуальной машины Java.
Современные операционные системы также часто являются кроссплатформенными. Например, операционные системы с открытым исходным кодом, например, NetBSD, Linux, FreeBSD, AROS могут работать на нескольких различных платформах
Full transcript