Кроссплатформерность – переносимость, способность программного обеспечения функционировать в нескольких различных операционных системах или на разных аппаратных платформах. Например: web-сайты, их содержимое и приложения java-script работающие в браузере; частично офисные документы, аудио-видео и изображения mp3/mp4/jpg/png/gif/pdf/djvu/doc/xls/ppt.
Кроссплатформенное (межплатформенное) программное обеспечение — программное обеспечение, работающее более чем на одной аппаратной платформе и, предназначенное для работы в операционных системах Linux и Windows одновременно. Сформулируйте понятие - кроссплатформерный язык программирования? Запишите понятие кроссплатформерный язык программирования.
Lazarus - интегрированная среда разработки программного обеспечения (IDE) и инструмент быстрой разработки приложений (RAD), предоставляющая возможность создавать приложения с графическим интерфейсом для дистрибутивов Linux и Mac OS X, т.е. кроссплатформенной разработки приложений в Delphi-подобном окружении, основанная на языке Object Pascal для компилятора Free Pascal (FPC — Free Pascal Compiler). Lazarus - библиотека визуальных компонентов Lazarus Component Library (LCL) близкая к VCL Delphi; быстрое преобразование Delphi-кода; мощное форматирование кода.

Задание 1. Сравните наличие компонентов. Дайте краткую характеристику свойствам и функционалу указанных компонентов. Дополнительно – перечислите закладки палитры компонентов Lazarus. 10 мин
| Компонент | Delphi | Lazarus |
| TButton | x | x |
| TCheckBox | x | x |
| TComboBox | x | x |
| TEdit | x | x |
| TLabel | x | x |
| TMainMenu | x | x |
| TMemo | x | x |
| TPanel | x | x |
| TPopupMenu | x | x |
| TRadioButton | x | x |
| TImage | x | x |
| TShape | x | x |
| TTimer | x | x |
| TMediaPlayer | x | |
| TOleContainer | x | |
| THTMLHelpDatabase | x | |
| THTMLBrowserHelpViewer | x | |
| TAsyncProcess | x | |
| TDataSource | x | x |
| TDBGrid | x | x |
| TADOConnection | x | |
| TADOTable | x | |
| TADOQuery | x | |
| TWebBrowser | x | x |
| TOpenDialog | x | x |
| TPrintDialog | x | x |
| TSaveDialog | x | x |
| ShellTreeView | x | x |
| ShellListView | x | x |
Пример 1. Порядок разработки простейшего приложения в IDE Lazarus RAD на примере игры «Поймай» c исходным кодом приложения. «Восстановите» проект по исходному коду, разместив компоненты, изменив свойства и события. Сохраните проект, скомпилируйте приложение. Время – 5 мин + 20 мин
Событие OnMouseMove компонента, который будет менять свое положение при наведении курсора
Var
s,a,b:integer;
…
Begin
inc (s);
a:=random(150);
b:=random(100);
Компонент.top:=a;
Компонент.top:=b;
if (Компонент.left > form1.clientwidth) and (Компонент.top > form1.clientheight) then begin
Компонент.top:=10;
Компонент.left:=10;
end;
end;
Событие OnClick компонента, который будет нажат
Begin
showmessage (‘количество непопаданий = ’+inttostr(s));
end;
Задание 2. Приведите примеры исходного кода программ Delphi готовые для импорта и разработки приложений в IDE Lazarus на основе изученного ранее материала.
Вопросы для закрепления
- Что такое кроссплатформерность? Перечислите форматы, переносимые между ОС?
- Где и для чего используются кроссплатформерность (переносимость документов и приложений)?
- Какие возможности предоставляет кроссплатформерность? Что такое кроссплатформерное ПО?
- Приведите примеры кроссплатформерного программного обеспечения?
- Что такое Lazarus? Особенности языка программирования