Difference between revisions of "Overview of Free Pascal and Lazarus/pl"

From Free Pascal wiki
Jump to navigationJump to search
(→‎Programy konsolowe: tłumaczenie na język polski)
m (→‎Zobacz także: Samouczek -> Podręcznik)
 
(8 intermediate revisions by the same user not shown)
Line 18: Line 18:
  
 
=== Biblioteki ładowane dynamicznie ===
 
=== Biblioteki ładowane dynamicznie ===
A dynamically loadable library is usually a collection of compiled functions that can be called by other programs. As the name suggests, the library is not linked into your executable at compile-time, but instead is loaded at run-time. In Windows, a library file has a .dll extension (dynamic-link library, or DLL). In OS X, a library file has a .dylib extension (dynamic shared library). In Linux, a library file has an .so extension (shared object library). Dynamically loadable libraries are typically used to develop add-ons for other programs, to develop libraries that can be called by programs written in other languages such as C and C++, or to partition large projects into chunks so that the project's developers don't step on each other's toes. Windows itself is made up of hundreds of DLLs, as are many other large applications such as OpenOffice.org.
+
Biblioteki ładowane dynamicznie są zwykle zbiorem skompilowanych funkcji, które mogą być wywoływane przez inne programy. Jak sama nazwa wskazuje, biblioteka nie jest łączona z twoją aplikacją w trakcie kompilacji, lecz jest ładowana w czasie działania programu. W systemie Windows plik biblioteki ma rozszerzenie .dll (dynamic-link library - DLL). W OS X plik biblioteki posiada rozszerzenie .dylib (dynamic shared library). Natomiast w Linuksie plik biblioteki ma rozszerzenie .so (shared object library). Biblioteki ładowane dynamicznie są zwykle używane jako dodatki dla innych programów, mogą być też wywoływane przez programy napisane w innych językach takich jak C i C++, lub gdy trzeba podzielić duży projekt na mniejsze fragmenty, tak aby deweloperzy projektu nie przeszkadzali sobie wzajemnie. Na przykład sam Windows składa się z setek plików DLL, podobnie jak wiele innych dużych aplikacji, takich jak OpenOffice.org.
  
Like console apps, you only need a text editor and the Free Pascal compiler to develop a library, although you can also create a Lazarus project for the library and develop the library in the Lazarus IDE.
+
Do stworzenia biblioteki, podobnie jak w przypadku aplikacji konsolowej, wystarczy edytor tekstu i kompilator Free Pascal, chociaż można również utworzyć dla biblioteki projekt w Lazarusie i rozwijać ją w IDE Lazarusa.
  
On Windows, DLLs have an undeserved reputation for being overly complex and unstable. This has more to do with the way they've sometimes been installed than it does with DLLs themselves. Actually, since passing information to and from DLLs is normally done with standard, simple data types (rather than with language-specific objects or structures), this requirement forces programmers to pay more attention to what they're doing. If done right, this can result in better, more stable programs.
+
W systemie Windows, biblioteki DLL mają niesłusznie reputację zbyt skomplikowanych i niestabilnych. Ma to czasami więcej wspólnego ze sposobem zainstalowania niż z samymi bibliotekami DLL. W praktyce, do przekazywania informacji do i z bibliotek DLL zazwyczaj wykorzystuje się standardowe, proste typy danych (a nie specyficzne dla danego języka obiekty i struktury), co wymusza na programistach zwrócenie większej uwagi na to, co robią. Jeśli będzie to dobrze robione, to otrzymamy lepsze i stabilne programy.
  
 
=== Aplikacje GUI ===
 
=== Aplikacje GUI ===
  
Most of the programs we use daily are GUI apps, including word processors, Web browsers, spreadsheet programs, even many development tools. Lazarus and Delphi are both good examples of full-featured GUI apps. When developing a GUI app with Lazarus, not only do you develop units of Pascal code, you also design forms containing visual controls such as buttons and list boxes. Like Delphi, form design in Lazarus is done visually. Control properties can be set in the IDE or in code.
+
Większość codziennie używanych programów, to aplikacje GUI, w tym edytory tekstu, przeglądarki internetowe, arkusze kalkulacyjne, a także wiele narzędzi programistycznych. Zarówno Lazarus jak i Delphi są dobrymi przykładami w pełni funkcjonalnych aplikacji GUI. Podczas tworzenia aplikacji GUI w Lazarusie, nie tylko tworzysz moduły w kodzie Pascala, ale także projektujesz formularz zawierający wizualne komponenty takie jak przyciski i pola list. Podobnie jak w Delphi, formularz projektowany w lazarusie wykonuje się wizualnie. Właściwości kontrolek mogą być ustawiane w IDE lub w kodzie programu.
  
Since the LCL controls are available on all supported platforms, a GUI app developed on one platform (for example, Windows) can be compiled on another platform (for example, OS X or Linux) without any changes to the form design or the form code files.
+
Od czasu gdy kontrolki LCL są dostępne dla wszystkich obsługiwanych platform, opracowane GUI aplikacji na jednej platformie (np. Windows) można skompilować na innej platformie (np. OS X lub Linux) bez dokonywania jakichkolwiek zmian w budowie formularza lub w plikach kodu.
  
 
=== Architektura Lazarusa ===
 
=== Architektura Lazarusa ===
  
Programs written in Lazarus follow the architecture drawn here:
+
Diagram przedstawia architekturę programów napisanych w Lazarusie:
  
[[Image:Lazarus_App_Architecture.png]]
+
[[Image:Lazarus_App_Architecture_pl.png]]
  
And the LCL itself follows the following architecture:
+
Poniżej przedstawiono architekturę biblioteki komponentów Lazarusa (LCL):
  
[[Image:LCL_Architecture.png]]
+
[[Image:LCL_Architecture_pl.png]]
  
 
===Zobacz także===
 
===Zobacz także===
  
* [[Lazarus Tutorial|Samouczek Lazarusa]]
+
* [[Lazarus Tutorial|Podręcznik Lazarusa]]
 +
 
 +
'''Tłumaczenie'''
 +
 
 +
Na język polski przełożył: --[[User:Slawek|Sławomir Załęcki]] 11:12, 9 September 2010 (CEST)

Latest revision as of 13:24, 9 September 2010

Deutsch (de) English (en) español (es) suomi (fi) français (fr) magyar (hu) Bahasa Indonesia (id) italiano (it) 日本語 (ja) 한국어 (ko) polski (pl) português (pt) русский (ru) slovenčina (sk) 中文(中国大陆)‎ (zh_CN) 中文(台灣)‎ (zh_TW)

Zapoznanie z Free Pascalem i Lazarusem

Free Pascal (FPC) jest programem open-source i kompilatorem Pascala, który ma dwie istotne cechy: wysoki poziom kompatybilności z Delphi i dostępność na różne platformy, w tym Windows, Mac OS X i Linux. Zgodność Free Pascala z Delphi obejmuje nie tylko wsparcie dla samego języka programowania Object Pascal używanego w Delphi, ale także wiele takich samych bibliotek procedur i klas, które są znane z Delphi. Zawiera on znane moduły takie jak System, SysUtils, StrUtils, DateUtils, Classes, Variants, Math, IniFiles i Registry, które są zawarte we Free Pascal na wszystkich obsługiwanych platformach. Free Pascal zawiera także takie moduły jak Windows, ShellAPI, BaseUnix, Unix i DynLibs, które udostępniają cechy charakterystyczne dla danego systemu operacyjnego. Te kilkanaście jednostek tworzą rdzeń tego, co określa się zwykle jako biblioteki wykonawcze (run-time library - RTL) Free Pascala.

Lazarus jest systemem programowania open-source, który opiera się na kompilatorze Free Pascal i udostępnia zintegrowane środowisko programistyczne (IDE). IDE to zawiera edytor kodu z podkreśleniem składni i wizualnym projektowaniem formularza, a także biblioteki komponentów, które są w znacznym stopniu zgodne z wizualną biblioteką komponentów Delphi (Visual Component Library - VCL). Biblioteka komponentów Lazarusa (Lazarus Component Library - LCL) zawiera odpowiedniki wielu znanych kontrolek VCL takich jak formularze, przyciski, pola tekstowe i tak dalej, które są wykorzystywane do tworzenia aplikacji i mają graficzny interfejs użytkownika (Graphical User Interface - GUI).

Zarówno Free Pascal jak i Lazarus są napisane w języku Pascal. Dostępny jest nie tylko kompletny kod źródłowy kompilatora Free Pascal i IDE Lazarusa, ale także wszystkich modułów, które składają się na RTL Free Pascala i LCL Lazarusa.

Zarówno Delphi, jaki i Free Pascal z Lazarusem są narzędziami programistycznymi ogólnego przeznaczenia, dzięki czemu można za ich pomocą opracować wiele różnorodnych programów, takich jak:

Programy konsolowe

Programy konsolowe nie posiadają GUI. Zamiast tego są zwykle uruchamiane z konsoli, czytają one dane wejściowe wprowadzane z konsoli i zapisują dane wyjściowe na konsolę. W Windows konsola jest zwykle określana jako okno wiersza poleceń. W OS X i Linuksie konsola jest określana jako okno terminala. Aplikacje konsolowe to zwykle małe narzędzia takie jak program FC z Windows (porównanie plików) lub komendy systemu Unix takie jak cd i cp. Aplikacje konsolowe mogą wykonywać także skomplikowane operacje matematyczne, modelowanie lub przetwarzać dane, gdy nie potrzebują GUI, ponieważ są zwykle uruchamiane przez inne programy lub za pomocą plików wsadowych (lub skryptów powłoki Unix/Linux). Kompilator Free Pascal i programy narzędziowe dołączone do niego są właśnie takimi aplikacjami konsolowymi, czyli mogą one być uruchamiane z konsoli, z pliku wsadowego lub za pomocą IDE Lazarusa.

Do tworzenia aplikacji konsolowej wystarczy zwykły edytor tekstu i kompilator Free Pascal. Nie trzeba używać Lazarusa do budowania aplikacji konsolowej. Jednakże, jeśli wolisz pracować w zintegrowanym środowisku, można użyć Lazarusa, aby utworzyć projekt dla aplikacji konsolowej, a następnie edytować i kompilować kod w IDE Lazarusa.

Biblioteki ładowane dynamicznie

Biblioteki ładowane dynamicznie są zwykle zbiorem skompilowanych funkcji, które mogą być wywoływane przez inne programy. Jak sama nazwa wskazuje, biblioteka nie jest łączona z twoją aplikacją w trakcie kompilacji, lecz jest ładowana w czasie działania programu. W systemie Windows plik biblioteki ma rozszerzenie .dll (dynamic-link library - DLL). W OS X plik biblioteki posiada rozszerzenie .dylib (dynamic shared library). Natomiast w Linuksie plik biblioteki ma rozszerzenie .so (shared object library). Biblioteki ładowane dynamicznie są zwykle używane jako dodatki dla innych programów, mogą być też wywoływane przez programy napisane w innych językach takich jak C i C++, lub gdy trzeba podzielić duży projekt na mniejsze fragmenty, tak aby deweloperzy projektu nie przeszkadzali sobie wzajemnie. Na przykład sam Windows składa się z setek plików DLL, podobnie jak wiele innych dużych aplikacji, takich jak OpenOffice.org.

Do stworzenia biblioteki, podobnie jak w przypadku aplikacji konsolowej, wystarczy edytor tekstu i kompilator Free Pascal, chociaż można również utworzyć dla biblioteki projekt w Lazarusie i rozwijać ją w IDE Lazarusa.

W systemie Windows, biblioteki DLL mają niesłusznie reputację zbyt skomplikowanych i niestabilnych. Ma to czasami więcej wspólnego ze sposobem zainstalowania niż z samymi bibliotekami DLL. W praktyce, do przekazywania informacji do i z bibliotek DLL zazwyczaj wykorzystuje się standardowe, proste typy danych (a nie specyficzne dla danego języka obiekty i struktury), co wymusza na programistach zwrócenie większej uwagi na to, co robią. Jeśli będzie to dobrze robione, to otrzymamy lepsze i stabilne programy.

Aplikacje GUI

Większość codziennie używanych programów, to aplikacje GUI, w tym edytory tekstu, przeglądarki internetowe, arkusze kalkulacyjne, a także wiele narzędzi programistycznych. Zarówno Lazarus jak i Delphi są dobrymi przykładami w pełni funkcjonalnych aplikacji GUI. Podczas tworzenia aplikacji GUI w Lazarusie, nie tylko tworzysz moduły w kodzie Pascala, ale także projektujesz formularz zawierający wizualne komponenty takie jak przyciski i pola list. Podobnie jak w Delphi, formularz projektowany w lazarusie wykonuje się wizualnie. Właściwości kontrolek mogą być ustawiane w IDE lub w kodzie programu.

Od czasu gdy kontrolki LCL są dostępne dla wszystkich obsługiwanych platform, opracowane GUI aplikacji na jednej platformie (np. Windows) można skompilować na innej platformie (np. OS X lub Linux) bez dokonywania jakichkolwiek zmian w budowie formularza lub w plikach kodu.

Architektura Lazarusa

Diagram przedstawia architekturę programów napisanych w Lazarusie:

Lazarus App Architecture pl.png

Poniżej przedstawiono architekturę biblioteki komponentów Lazarusa (LCL):

LCL Architecture pl.png

Zobacz także

Tłumaczenie

Na język polski przełożył: --Sławomir Załęcki 11:12, 9 September 2010 (CEST)