複製鏈接
請複製以下鏈接發送給好友

Lazarus

(計算機學)

鎖定
Lazarus的設計目標是應用Free Pascal,所以所有凡是Free Pascal能運行的平台,Lazarus都可以運行。最新版本能運行於LinuxWin32和Mac OS。整個界面的外觀和操作和Delphi IDE一樣,因此,如果你會使用Delphi的話,用起Lazarus IDE來就一定能得心應手了。
中文名
Lazarus
目    標
應用Free Pascal
平    台
Lazarus
外觀和操作
和Delphi IDE一樣

Lazarus集成開發環境

最新版lazarus0.9.30.4
最新版lazarus0.9.30.4(3張)
Lazarus是一個用於FreePascal快速應用開發(RAD)的面向對象的FreePascal集成開發環境(IDE),不僅可以編譯運行簡單的pascal程序,還有很強的窗體處理功能,界面清晰,操作簡單方便。Lazarus 對於窗口管理來説是中性的。可以工作在KDE(1.13版本)下,也可以工作在GNOME(1.23版本)或其他窗口管理器(MVM、WindowMaker)。Lazarus的設計目標是應用Free Pascal,所以所有凡是Free Pascal能運行的平台,Lazarus也可以運行。最新版本能運行於Linux,Mac OS,Win9x/2000/xp/win7/Win8和FreeBSD。已提供32位和64位版本支持。Lazarus的工作界面、外觀和操作和Borland 的Delphi 7 IDE非常相似,所不同的是Lazarus 是完全的自由軟件。Lazarus 可以直接移植Delphi的代碼。Lazarus的編程語言是以Pascal為基礎的。Pascal語言具有可讀性好、編寫容易的特點,這使得它很適合作為基礎的開發語言。同時,使用編譯器創建的應用程序只生成單個可執行文件(.EXE,默認編譯加入了調試信息,只包含一個空窗體的工程生成的可執行文件就達到了10多M。但可以通過編譯選項去掉調試信息來減小可執行文件的大小,可以減為1M多點,然後通過UPX壓縮,可以減為600多K。)。正是這種結合,使得Pascal成為Lazarus這種先進開發環境的編程語言。
由於Lazarus為開放的IDE,且在linux下表現良好,被中國計算機學會指定為NOI系列競賽的Pascal語言推薦IDE。
在Linux中,Lazarus的圖形用户接口(GUI) 由以下幾個部分組成:
窗口系統--組織顯示屏上的圖形輸出並執行基本的文本和繪圖功能。
窗口管理器--負責對窗口的操作(比如最小化、最大化、關閉按鈕的形狀,窗口邊框外觀等)以及輸入焦點的管理。
工具包--帶有明確定義的編程界面的常規庫。
Lazarus對系統軟件、硬件要求都不高:
硬件方面:Intel Pentium 200MHz、32MB內存、100MB硬盤空間。
軟件方面:內核(Kernel)在2.2以上,Qt庫1.44 以上,XFree86 3.6 以上。
一個跨平台編譯器的感人史
歷史
Lazarus是從1999年2月開始的,成立時的主要成員是這三個人:
Cliff Baeseman
Shane Miller
Michael A. Hess
當時,他們三個曾經為之努力的megido計劃(megido計劃致力於打造一個開源、跨平台、可視化的Object Pascal快速應用開發環境)由於種種原因被解散。在挫折面前他們並不氣餒,決定發起Lazarus計劃。在隨後的幾年中,這個計劃得到了穩步發展,引 起很多人的關注並擁有了一羣穩定的支持者和開發者。遺憾的是,上述三個創始人中,只有Michael A. Hess仍在參與這項計劃。
開發組中另一個元老是Marc Weustink,他在1999年8月就參與這個項目。在他之後的是2000年9月加入的Mattias Gaertner,他們兩人一直是核心代碼的主要編寫者,是他們的共同努力讓Lazarus變得成熟。
那麼究竟什麼是Lazarus?
Lazarus是一個基於Free Pascal的Delphi仿製品。Free Pascal是Linux、Win32、WinCE、Mac OS、OS/2、68K等操作系統下的一個基於GPL/LGPL的編譯器,她被設計成可以理解,並編譯OOP的Delphi語法。Lazarus在上述平台下可以像 Delphi一樣來開發程序,打破了這些環境下缺少可視化開發工具的困窘局面。不像Java致力於“一次編寫,到處運行”,Lazarus和Free Pascal則致力於“一次編寫,到處編譯”。由於對上述所有平台有完全相同的編譯器,這意味着你不需要重新編碼,就可以為不同的平台開發相同的產品。 Java基於虛擬機,Lazarus則產生原生代碼,所以Lazarus的應用程序在效率上應該比用Java的程序更快一些。
Lazarus的GUI是什麼?該用什麼樣的窗口部件(widget)?
這個部分由你來決定,Lazarus正在開發的是完全徹底獨立的的API。一旦你寫的代碼想要連接到不同於以前選擇的窗口部件,如果你想使用基於 GTK+,當然沒有問題,如果你又想讓它成為與GNOME兼容,同樣沒有問題,只要把界面代碼的窗口部件設置成你想使用的那一種,您可以編譯連接成那 種窗口部件了。如果那種窗口部件還沒有內置支持,你也可以寫上一個(呵呵,老大的話好像換個widget很容易,不過相信真要寫的話就沒有那麼容易了)。
舉例來説,你正在創建的是一個使用標準Windows窗口部件的Windows應用程序,你又想為它建立一個面向Linux的版本。首先確定你 想使用的窗口部件類型,讓我們假設你想使用基於GTK+的,你可以複製代碼到你的Linux開發機,編譯,連接時對應選擇GTK+接口單元。就是這麼簡 單。你創建了一個Windows產品的Linux副本,而沒有任何額外的編碼。
在這一點上,開發人員正在使用Gtk+作默認窗口部件。同時,他們也在做基於Qt和Win32API的窗口部件支持,在編譯選項的窗口部件類型下拉 列表中,已經出現的還有Win CE、Carborn、fpGUI,用Pascal語言一次編碼,就能編譯出能在各種系統下運行的的應用程序,真是讓人激動啊!即將發佈的Lazarus 1.0允許開發人員配合LCL(Lazarus組件庫)為其他的窗口部件創造接口單元。
所以這就意味着她像Delphi一樣可以RAD
事情真的就是那樣,她完全完成了嗎?還沒有。窗體設計部分還需要大量的工作,IDE則是功能完整的,可以滿足絕大多數代碼編寫需要(已經比Delphi7 更加智能,當然,還是不能與Delphi7+CnWizards的組合相比,如果CnWizards能支持Lazarus就太好了)。提示一下,還有好幾個方面的項目仍然需要幫助,也許你就可以幫上一把。
我是否可以使用現有的Delphi的代碼? 如果代碼是標準的Delphi Pascal並且採用Delphi的標準組件,那麼答案是肯定的。如果它使用一些特定的database、OCX、或DCU那麼答案將是否定的。這些特定 的Windows應用只能在Windows下工作,但是如果你只期望使用Free Pascal和Lazarus創建一個Windows產品那麼答案將是肯定的(用了太多的Win32API,想轉換到Linux就比較麻煩了,以前很炫很 酷的技巧,到變成了負擔,呵呵)。這種情況並沒有被lcl過多考慮 ,但是對它的處理在未來則很有可能(應該説肯定,畢竟將現有的Windows應用程序直接跨平台編譯是很多人的期望,雖然實現起來有難度,但是既然 ReactOS都能出現,又有什麼是不可能的呢?)。
我是否可以用她創建商業產品?
是的!Free Pascal編譯器是基於GPL/LGPL許可協議的,這意味着它是開源的,免費的,如果你有需要,還可以修改其代碼,當然,你一定要發佈這些改變,當有人想使用你的改動時,你有義務提供那些改變後的源代碼
Lazarus的名號是怎麼來的?
原來的項目叫Megido(嘗試建立跨平台的Delphi克隆),但是這個努力失敗了,眾所周知,Lazarus是聖經中的人物,他死後由基督拯救,死而復活,所以,項目取名Lazarus,因為她的出現拯救了Megido。

Lazarus拉丁文

Lazarus一詞是Eleazar的拉丁文寫法,本意是“神是我的幫助”,來源於聖經人物,是耶穌的朋友。Lazarus在死後第三天被耶穌從墳墓中喚醒復活(《聖經·約翰福音》第14章44節)。