Overview of Free Pascal and Lazarus/pt

From Lazarus wiki
Jump to navigationJump to search

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)

O Free Pascal (FPC) é um compilador de código fonte aberto (open-source) com duas notáveis características: um grau elevado de compatibilidade com Delphi e disponibilidade em uma variedade de plataformas, incluindo Windows, Mac OS X, e Linux. O Free Pascal tem compatibilidade com Delphi incluindo não somente suporte para a mesma programação em linguagem Object Pascal que o Delphi usa, mas também para muitas das mesmas bibliotecas de rotinas e classes conhecidas para o Delphi. Isto inclui as unidades familiares como System, SysUtils, StrUtils, DateUtils, Classes, Variants, Math, IniFiles e Registry, que estão incluídas no Free Pascal em todas as plataformas suportadas. O Free Pascal também inclui unidades como Windows, ShellAPI, BaseUnix, Unix e DynLibs para acessar capacidades específicas para um sistema operacional. Estas unidades são a parte inicial da biblioteca de tempo de execução, run-time library(RTL), que é utilizado pelo Free Pascal.

O Lazarus é um sistema de desenvolvimento de código aberto que adiciona um Ambiente Integrado do Desenvolvimento (IDE) ao compilador Free Pascal que inclui um editor de destaque do código e um desenhador do formulário visual, uma biblioteca de componentes altamente compatível com a biblioteca de componentes visuais do Delphi (VCL). A biblioteca componente de Lazarus (LCL) inclui equivalentes para muitos dos controles familiares de VCL tais como formulários, teclas, caixas de texto e assim por diante aquelas que são usadas para criar as aplicações que têm uma relação gráfica, visual, com o usuário (GUI).

Tanto o Free Pascal como o Lazarus são escritos em Pascal. O código fonte completo está disponível não somente para o compilador Free Pascal e Lazarus IDE, mas também para todas as unidades feitas a partir do Free Pascal RTL e Lazarus LCL.

Como o Delphi, o Free Pascal e o Lazarus são ambos ferramentas de programação de uso geral, significando que você pode desenvolver uma variedade ampla de programas com eles, incluindo o seguinte:

Aplicações de Console

As aplicações de console não tem uma GUI, interface gráfica. Em seu lugar são ativados a partir do console, lêem sua entrada do console, e escrevem geralmente sua saída no console. No Windows o console é geralmente a janela de prompt de comando. No Mac OS X e Linux o console é a janela de terminal. As aplicações de console incluem coisas como utilitários pequenos como o programa Windows FC (File Compare) e os comandos de Unix cd e cp. As aplicações de console também podem ser utilizados por programas de processo de dados que não necessitam de uma GUI porque são executados por outros programas e até arquivos de lote. O compilador Free Pascal e os programas utilitários incuídos nele são todos aplicações de console, significando que eles podem ser executados de um console, de um arquivo de lote, ou da IDE do Lazarus.

Você pode criar uma aplicação de console com não mais que um editor de texto e o compilador Free Pascal. Você não precisa usar o Lazarus para desenvolver aplicações de console. Como sempre, se você preferir trabalhar com um ambiente integrado, você pode utilizar o Lazarus para criar um projeto para uma aplicação de console e compilar o código na IDE Lazarus.

Bibliotecas Dinâmicas

Uma biblioteca dinâmica é uma coleção de funções que podem ser chamadas por outro programa. Como o nome sugere, a biblioteca não é ligada dentro do executável em tempo de compilação, mas é carregada em tempo de execução. No Windows, um arquivo de biblioteca tem a extenção .dll (dynamic-link library, or DLL). No OS X, um arquivo de biblioteca tem a extenção .dylib (dynamic shared library). No Linux, um arquivo de biblioteca tem a extenção .so (shared object library). Bibliotecas Dinâmicas são tipicamente usadas para adicionar funcionalidades a outros programas, para desenvolver bibliotecas chamadas por outros programas desenvolvidos em outra linguagem com C e C++, ou para dividir projetos grandes em pedaços de modo que os colaboradores do projeto não se atrapalhem. O próprio Windows é composto por centenas de DLLs. Há muitas outras aplicações grandes como o OpenOffice.org com várias bibliotecas dinâmicas.

Como aplicações de console, você necessita somente um editor de texto e o compilador FreePascal para desenvolver uma biblioteca, embora você possa também criar um projeto no Lazarus para a biblioteca e desenvolver a biblioteca na Lazarus IDE.

Em Windows, as DLLs tem a reputação não merecida de acabarem sendo mais complexas e instáveis. Isto às vezes tem mais a haver com a maneira que foram instaladas do que com as próprias DLLs. Atualmente, a passagem de informação para e de DLLs é feita normalmente com tipos de dados padrão, simples (melhor que com objetos ou estruturas específicas de linguagem), devido a esta exigência os programadores são forçados a prestar mais atenção a o que estão fazendo. Se feito de forma direita, isto pode resultar em programas melhores, mais estáveis.

Aplicações com Interface Gráfica(GUI)

A maioria dos programas que nós usamos no dia a dia são aplicações GUI, incluindo processadores de texto, navegadores WEB, mesmo muitas ferramentas de desenvolvimento. Lazarus e Delphi são ambos os exemplos bons de aplicações totalmente feitas em GUI. Ao desenvolver uma aplicação GUI com Lazarus, não somente você desenvolve unidades do código do Pascal, você projeta também os formulários que contêm controles visuais tais como teclas e caixas de lista. Como o Delphi, o projeto do formulário em Lazarus é feito visualmente. As propriedades do controle podem ser ajustadas no IDE ou no código.

Desde que os controles de LCL estão disponíveis em todas as plataformas suportadas, uma aplicação GUI desenvolvida em uma plataforma (por exemplo, Windows) pode ser compilado em uma outra plataforma (por exemplo, o Mac OS X ou o Linux) sem nenhuma mudança no projeto do formulário ou nas linhas do código do formulário.