Sign in Join
Wiki copytemporary

Overview of Free Pascal and Lazarus/ru: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: Overview of Free Pascal and Lazarus/ru

OldNewLine
1+Free Pascal (FPC) компилятор с открытыми исходными кодами с двумя важными особенностями: высокая совместимость с Delphi и доступность для большого количества платформ, включая Windows, Mac OS X, и Linux. Совместимость Free Pascal с Delphi включает не только поддержку того же языка программирования Object Pascal который использует Delphi, но также библиотеки конструкции и классы, которые "понимает" Delphi, например System, SysUtils, StrUtils, DateUtils, Classes, Variants, Math, IniFiles and Registry, которые включены в Free Pascal и поддерживаются всеми платформами. Free Pascal также включает модули Windows, ShellAPI, BaseUnix, Unix и DynLibs для доступа к специфичным для конкретной ОС фичам. Около дюжины модулей составляют ядро обычно упоминающееся как Free Pascal run-time library (RTL).
2+
3+Lazarus - это система с открытым исходным кодом, которая построена на компиляторе Free Pascal Compiler с добавлением Интегрированной Среды Разработки (IDE), которая включает в себя подсветку синтаксиса, редактор кода и визуальный проектировщик форм, а также библиотеку компонентов, которая очень хорошо совместима с Библиотекой Визуальных Компонентов Delphi (VCL). Библиотека Визуальных Компонентов Lazarus (LCL) включает эквиваленты для большинства контролов из VCL например, формы, кнопки, текстовые поля и так далее, которые используются для создания приложений, которые имеют графический интерфейс (GUI).
4+
5+И Free Pascal и Lazarus написаны на Pascal. Полный исходный код доступен не только для Free Pascal compiler и Lazarus IDE, но и также для всех модулей составляющих Free Pascal RTL и Lazarus LCL.
6+
7+Подобно Delphi, Free Pascal и Lazarus являются многоцелевым инструментом программирования, то есть вы можете создавать программы различных типов, включая следующие:
8+
9+### Консольные приложения
10+
11+Консольные приложения не имеют графического интерфейса (GUI). Обычно они запускаются в консоли, читают информацию с консоли и выводят результаты на консоль. В Windows консоли обычно соответствует окно командной строке. В OS X и Linux консоли соответствует окно терминала. Консольные приложения это, как правило, небольшие утилиты, такие как программа FC (file compare - сравнение файлов) в Windows или команды cd и cp в Unix. Консольные приложения могут быть также мощными программами для тестирования, моделирования или управления данными, которые не нуждаются в причудливом GUI, потому как они запускаются другими программами или из командных файлов. Компилятор Free Pascal и прилагающийся набор утилит являются консольными приложениями, то есть могут быть запущены в консоли, из командных файлов или из IDE Lazarus.
12+
13+Для создания консольного приложения необходим только текстовый редактор и компилятор FreePascal. Вам не нужно использовать Lazarus для создания консольных приложений. Однако, если вы предпочитаете работать в интегрированном окружении, то вы можете создать проект для консольного приложения, редактировать и компилировать код в IDE Lazarus.
14+
15+### Динамически-подгружаемые библиотеки (DLL)
16+
17+Динамически-подгружаемая библиотека обычно представляет из себя набор скомпилированных функций, которые могут вызываться другими программами. Библиотека не прилинковывается к программе в режиме компиляции, а вместо этого она загружается в реальном времени. В Windows, файл библиотеки имеет расширение .dll (dynamic-link library, или DLL). В OS X, файл библиотеки имеет расширение .dylib (dynamic shared library). В Linux, файл библиотеки имеет расширение .so (shared object library). Динамически-подгружаемые библиотеки обычно используются для разработки дополнений других программ, а также для разработки библиотек, которые могут вызываться программами, написанными на других языках, например на C и C++, или для разбиения больших проектов на кусочки, чтобы разработчики на наступали друг другу на пятки. Windows сама по себе состоит из сотен библиотек DLL, как и другие крупные приложения, например OpenOffice.org.
18+
19+Также, как и в случае консольных приложений, для разработки библиотеки вам необходим только текстовый редактор и компилятор FreePascal, хотя вы также можете создать проект библиотеки в Lazarus и разрабатывать библиотеку в IDE Lazarus.
20+
21+В Windows, DLL-ки имеют незаслуженную репутацию сложных и нестабильных элементов. Это больше относится к тому каким способом они иногда устанавливаются, нежели к использованию DLL как таковых. В действительности, так как обмен информацией с DLL обычно идет при помощи стандартных простых типов данных (вместо специфичных для языка объектов и структур), то это требование заставляет программистов уделять больше внимания тому что они делают. Если все сделано правильно, то в результате получаются более стабильные и хорошие программы.
22+
23+### GUI приложения
24+
25+Большинство программ, которые мы используем каждый день это GUI-приложения, среди которых текстовые процессоры, Web-браузеры, электронные таблицы и даже инструменты разработки. Lazarus и Delphi это прекрасные примеры полностью укомплектованных GUI-приложений. При разработке GUI-приложения в Lazarus, вы не только пишете код на Pascal, но также создаете формы, содержащие визуальные элементы, такие как кнопки и списки (ListBox). Также как и в Delphi, разработка форм в Lazarus производится визуально. Свойства элементов могут быть изменены при помощи IDE или программно.
26+
27+Поскольку LCL элементы доступны для всех поддерживаемых платформ, то GUI-приложения созданные на одной платформе (например Windows) могут быть скомпилированы на другой платформе (например OS X или Linux) без изменения формы или файлов с сопутствующим кодом формы.
28+
29+### Внутренне устройство Lazarus
30+
31+Программы, написанные в Lazarus, используют следующею архитектуру:
32+
33+<figure>
34+<img src="Lazarus_App_Architecture_Ru.png" title="Lazarus_App_Architecture_Ru.png" />
35+<figcaption>Lazarus_App_Architecture_Ru.png</figcaption>
36+</figure>
37+
38+LCL представляет собой следующею архитектуру:
39+
40+<figure>
41+<img src="LCL_Architecture_Ru.png" title="LCL_Architecture_Ru.png" />
42+<figcaption>LCL_Architecture_Ru.png</figcaption>
43+</figure>
44+
45+LCL имеет платформенно-независимые модули, содержащие элементы управления, формы, кнопки и т.п. Они не могут работать самостоятельно, так как сами по себе абстрактны и опираются на внутренний функционал выбранной библиотеки. LCL предоставляет множество различных интерфейсов, которые взаимодействуют с нужными библиотеками (win32, gtk, qt, carbon, cocoa и т.д.). При создании приложения в среде разработки lazarus, интерфейсы связываются с нужными библиотеками автоматически. Необходимые библиотеки для работы приложения выбираются во время компиляции и не могут быть изменены во время выполнения.
46+
47+### См. также
48+
49+- [[Lazarus Tutorial/ru|Учебник по Lazarus]]
50+
51+---
52+*From the Free Pascal wiki, page "Overview of Free Pascal and Lazarus/ru", as it stood on 2015-10-11 after a change by Amber, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history