Lazarus (IDE)

Bách khoa toàn thư mở Wikipedia
Bước tới: menu, tìm kiếm
Lazarus
Lazarus Logo (new).png
Lazarus 1.0 Carbon.png
Lazarus IDE 1.0 chạy trên Mac OS X
Phát triển bởi Tình nguyện viên
Bản mới nhất 1.2.0 sửa dữ liệu
Hệ điều hành Cross-platform
Thể loại Công cụ RAD cho Pascal and Object Pascal
Giấy phép GNU General Public License, GNU Lesser General Public License, and others
Website http://www.lazarus.freepascal.org/

Lazarus là một IDE (Intergrated Development Evironment - Môi trường phát triển tích hợp) được phát triển theo mô hình RAD (rapid application development - phát triển ứng dụng nhanh chóng). Sử dụng trình biên dịch Free pascal. Được dùng để phát triển ứng dụng desktop với cùng thiết bị di động, ứng dụng - dịch vụ web, và các thành phần, thư viện (.so,.dll,...) Ứng dụng viết bởi lazarus có thể chạy bất cứ nền tảng nào mà Free pascal biên dịch được, như (windows, linux, unix, mac,...), ngoài ra Lazarus còn miễn phí, với nhiều component có sẵn thích hợp cho phát triển ứng dụng nhiều lĩnh vực Với Lazarus, hầu như không cần cài thêm component thương mại, bạn có thể làm mọi việc

Tính năng[sửa | sửa mã nguồn]

Tương tự với Delphi, Lazarus tạo ra môi trường trực quan cho việc phát triển ứng dụng, bao gồm tạo ra giao diện người dùng, chỉnh sửa mã,... và nhiều chức năng khác. Với phương châm phát triển miễn phí, lazarus cung cấp nhiều tính năng:

  • WYSIWYG - What You See Is What You Get - Những gì bạn thấy là những gì bạn làm được: thiết kế, bố trí cửa sổ trực quan
  • Bộ component đầy đủ, đa dạng để thiết kế như TButton, TEdit, TLabel,...
  • Hỗ trợ kết nối nhiều định dạng cơ sở dữ liệu: MySQL, PostgresSQL, FireBird, Oracle, SQL Lite, Sybase,...
  • Nhà phát triển xem được dữ liệu qua component để tiện cho việc phát triển
  • Công cụ gỡ rối mã
  • Tự hoàn thành code
  • Code mẫu
  • Làm nổi từ khóa, chuỗi,... tùy người dùng điều chỉnh
  • Công cụ help
  • Quản lý văn bản
  • Tự động định dạng mã
  • Cho phép nhà phát triển tự tạo component

Phát triển ứng dụng đa nền tảng[sửa | sửa mã nguồn]

Lazarus sử dụng Free pascal làm trình biên dịch phía sau. Vì vậy, về mặt lý thuyết thì Lazarus hỗ trợ cho tất cả các nền tảng mà Free pascal hỗ trợ Giống như thư viện run-time của free pascal, lazarus hỗ trợ một khung làm việc ứng dụng xuyên nền tảng gọi là Lazarus Component Library (LCL), nó cung cấp cho lập trình viên giao diện thống nhất, với các khai báo nền tảng khác nhau. Câu châm ngôn của LCL là write once, compile anywhere - Viết một lần, biên dịch mọi nơi.

Biên dịch đa nền[sửa | sửa mã nguồn]

Giống như Free pascal, lazarus biên dịch được từ Windows, Linux, FreBSD tới MacOS,... Có thể biên dịch cho Mac OS phiên bản cũ, nhưng không thích hợp cho các phiên bản mới của Intel, kể từ khi Apple ngừng cung cấp mã nguồn thêm Các ứng dụng dành cho thiết bị nhúng (Phones, PDA's, routers, game consoles) được biên dịch trên Window hoặc *nix

Thư viện thành phần của Lazarus[sửa | sửa mã nguồn]

LCL đã được mô hình hóa kể từ sau VCL của Delphi 6, nhưng nó thích hợp cho nhiều hệ điều hành hơn là chỉ Windows. Điều này được thực hiện bằng cách định nghĩa lớp Widget Thống kê các Widget trên Lazarus năm 2011:

Tập hợp Widget Hệ điều hành hỗ trợ Trạng thái
Windows API, GDI Windows Sử dụng chính thức
Windows CE API, GDI Windows CE Sử dụng chính thức
GTK+ 1.2.x Linux (via X11) Bị phản đối
GTK+ 2.8+ Windows, Linux (X11 and framebuffer) and Mac OS X (via X11) Sử dụng chính thức
GTK+ 3.x As Gtk2 Alpha
Qt 4.5+ Windows, Linux (X11 and framebuffer), Mac OS X Sử dụng chính thức. Works in Windows, Linux, Mac OS X, Maemo, etc
Cocoa Mac OS X Đang thực hiện
Carbon Mac OS X Sử dụng chính thức
fpGUI Windows, Windows CE, Linux (via X11) Giai đoạn đầu
Lazarus Custom Drawn Controls Android, Windows, Linux (via X11), Mac OS X Giai đoạn đầu

Kế hoạch dự định viết ra GTK3 vì GTK2 không triển khai tốt và không kế thừa đặc điểm của GTK1

Phát triển Ứng dụng cơ sở dữ liệu[sửa | sửa mã nguồn]

Lập trình viên có thể cài thêm các gói package để kết nối thêm nhiều loại dữ liệu. Chương trình có thể kết nối tới cơ sở dữ liệu không cần bất kì dòng mã nào, mà bằng cách thiết lập các thuộc tính - property cho các component. Những loại dữ liệu hỗ trợ sẵn:

Có thể dùng thêm nhiều thành phần khác, như Zeoslib

Những điểm khác với Delphi[sửa | sửa mã nguồn]

Mặc dù có nhiều đặc điểm giống Delphi, nhưng vẫn có những điểm khác:

  • Khi chạy dưới nền Windows, có thể cỡ tệp biên dịch lớn hơn so với Delphi (6/7, trừ các phiên bản sau, thậm chí từ Delphi XE trở lên, project của Delphi còn rất nặng), lý do vì Lazarus nhúng vào tệp những thông tin Debug. Dù thể ta vẫn có thể làm giảm kích thước dễ dàng bằng cách điều chỉnh Compiler Option, và đơn giản hơn là dùng lệnh Strip trong command prompt:

strip --strip-all <tên tệp>.exe

  • Các component trên Delphi có thể cài đặt trên Lazarus, nhưng cần phải chuyển đổi, dễ dàng hơn khi dùng Lazarus 0.9.30 (fpc 2.4.x)
  • Các Widget và thư viện quan trọng còn thiếu:
    • Kết nối Microsoft Office
    • Datasnap (hệ thống này được Embarcadero độc quyền và không phân bố tài liệu công khai)
  • Networking có sẵn nhiều nhất
  • Không thể gọi thư viện.NET một cách trức tiếp, ngược lại các ứng dụng.NET có thể gọi lại Object Pascal
  • Kể từ dòng fpc 2.2.x mới hỗ trợ COM, và tốt hơn từ đây
  • Không nạp package tự động
  • Không tương thích 100% với VCL. Như được đề cập trước đó, mặc dù LCL hiện tại đủ để thiết kế cho hầu hết các ứng dụng. Nhưng các widget của VCL không thể truy cập nếu chưa được chuyển đổi. Việc chuyển đổi chủ yếu liên quan đến phần chỉnh sửa, mặc dù có nhưng khác biệt cơ bản. Hỗ trợ COM là vấn đề gây ra lỗi khi chuyển đổi giữa VCL và LCL
  • Lazarus là Free, còn Delphi là trả phí

Phân phối, giấy phép[sửa | sửa mã nguồn]

Như đã nói, giống như Free pascal, Lazarus là miễn phí, các bản phân phối khác nhau được hỗ trợ giấy phép miễn phí khác nhau, bao gồm: GPL, LGPL, MPL và một phiên bản chỉnh sửa của LGPL Lazarus được phân phối chính thức trên SourceForge

Các phiên bản[sửa | sửa mã nguồn]

Bản mẫu:Version

Phiên bản Ngày phát hành Nền tảng Chú thích
Bản mẫu:Version 0.0.5 January 2001 Windows Phiên bản đầu tiên hỗ trợ thư viện Component
Bản mẫu:Version 0.1 January 2001 Windows Thiết kế lại các thành phần cho nhiều nền tảng sử dụng GTK+ và nhưng widget khác
Bản mẫu:Version 0.5 January 30th, 2001 Windows, Linux Sửa các lỗi, hỗ trợ phát triển đa nền và khung sờn cho dự án
Bản mẫu:Version 0.8 October 9th, 2001 Windows, Linux Sửa lỗi, triển khai công cụ viết mã
Bản mẫu:Version 0.8.2 January 17th, 2002 Windows, Linux Hỗ trợ gợi ý hàm
Bản mẫu:Version 0.8.4 August 19th, 2002 Windows, Linux Tăng hỗ trợ đồ họa, font chữ, hỗ trợ cú pháp Delphi 6. DFMs tự động chuyển đổi sang LFMs.
Bản mẫu:Version 0.8.5 October 26th, 2002 Windows, Linux Thư viện LCL tách rời khỏi giao diện
Bản mẫu:Version 0.9.0.3 September 4th, 2003 Linux Phiên bản đầu tiên trên Sourceforge
Bản mẫu:Version 0.9.1 February 27th, 2004 Windows, Linux Hỗ trợ sử dụng package, tăng nhiều thuộc tính và nâng cao hơn
Bản mẫu:Version 0.9.4 January 3rd, 2005 Windows Hỗ trợ lập trình Thread, các phiên bản cũ được đưa lên Sourceforge
Bản mẫu:Version 0.9.6 February 25th, 2005 Windows
Bản mẫu:Version 0.9.8 July 19th, 2005 Windows
Bản mẫu:Version 0.9.10 October 3rd, 2005 Windows, Mac OS X (PPC) Sửa lỗi, IDE được cải thiện mở rộng, chỉnh sửa tệp FPDoc. Sử dụng Free pascal 2.0.1
Bản mẫu:Version 0.9.12 February 7th, 2006 Windows Gói package cơ sở dữ liệu mới, ứng dụng CGI, in ấn.
Bản mẫu:Version 0.9.14 April 2nd, 2006 Windows, Mac OS X (PPC), Linux Sửa lỗi, bổ sung nhiều thành phần trong giao diện WinCE và Qt4
Bản mẫu:Version 0.9.16 May 28th 2006 Windows, Mac OS X (PPC), Linux Sửa lỗi, Tài liệu giúp đỡ trực tuyến cho IDE và ứng dụng LCL, cải tiến các widget QT. Sử dụng Free Pascal 2.0.2
Bản mẫu:Version 0.9.18 September 23rd, 2006 Windows, Mac OS X (PPC), Linux Sửa lỗi, triển khai danh sách procedure, công cụ command-line mới "Lazbuild"
Bản mẫu:Version 0.9.20 November 5th 2006 Windows, Mac OS X (PPC), Linux Sửa lỗi, cho phép thu gọn mã, cải tiến QT widgetset.
Bản mẫu:Version 0.9.22 March 26th, 2007 Windows, Mac OS X (PPC), Linux Component mới cho việc viết Windows service và Linux daemons, hỗ trợ tùy chỉnh con trỏ chuột. Sử dụng Free Pascal 2.0.4
Bản mẫu:Version 0.9.24 November 15th 2007 Windows, Mac OS X (Intel and PPC), Linux Phiên bản ổn định đầu tiên cho Win64, WinCE, vài Intel-based Mac OS X. Cải tiến trong Qt, Carbon, và giao diện widgetset Gtk2. Tùy chỉnh thanh công cụ. Sử dụng Free Pascal 2.2.0
Bản mẫu:Version 0.9.26 October 5th, 2008 Windows, Mac OS X (Intel and PPC), Linux Hệ thống đồ họa nội bộ được viết lại. LCL sự dụng chuỗi Unicode mã hóa bằng UTF-8 trên nhiều nền tảng. Trợ giúp FPDoc trong các công cụ tip. Phiên bản đầu tiên chạy một cách tự nhiên sử dụng Carbon widgetset trên Mac OS X.
Bản mẫu:Version 0.9.26.2 March 13th, 2009 Windows, Mac OS X (Intel and PPC), Linux Sửa lỗi, cải tiên cho phép tùy chỉnh icon. Sửa dụng Free Pascal 2.2.2
Bản mẫu:Version 0.9.28 September 29th, 2009 Windows, Mac OS X (Intel and PPC), Linux Cải tiến công cụ soạn mã và công cụ gỡ lỗi, hỗ trợ nhiều loại font như Eastern, Japanese, Chinese, và Arabic, giảm kích thước ứng dụng biên dịch. Sử dụng Free Pascal 2.2.4
Bản mẫu:Version 0.9.28.2 October 25th, 2009 Windows, Mac OS X (Intel and PPC), Linux Sửa lỗi chính.
Bản mẫu:Version 0.9.30 March 22nd, 2011 Windows, Mac OS X (Intel and PPC), Linux Nhiều tính năng, bao gồm lắp ghép, hỗ trợ nhiều tab code. Sử dụng Free Pascal 2.4.2.
Bản mẫu:Version 0.9.30.2RC1 September 30th 2011 Windows, Mac OS X (Intel and PPC), Linux Sử dụng Free Pascal 2.4.4. Phát hành Lazarus 0.9.30.2.
Bản mẫu:Version 0.9.30.2RC2 October 26th, 2011 Windows, Mac OS X (Intel and PPC), Linux Phát hành Lazarus 0.9.30.2.
Bản mẫu:Version 0.9.30.2 November 5th, 2011 Windows, Mac OS X (Intel and PPC), Linux Sửa lỗi.
Bản mẫu:Version 0.9.30.4RC1 March 3rd, 2012 Windows, Mac OS X (Intel and PPC), Linux Sửa lỗi, sử dụng Free Pascal 2.6.0. Phát hành Lazarus 0.9.30.4.
Bản mẫu:Version 0.9.30.4RC2 March 7th, 2012 Windows, Mac OS X (Intel and PPC), Linux Phát hành Lazarus 0.9.30.4.
Bản mẫu:Version 0.9.30.4RC3 March 11th, 2012 Windows, Mac OS X (Intel and PPC), Linux Phát hành Lazarus 0.9.30.4.
Bản mẫu:Version 0.9.30.4 March 14th, 2012 Windows, Mac OS X (Intel and PPC), Linux Sử lỗi
Bản mẫu:Version 1.0RC1 July 29th, 2012 Windows, Mac OS X (Intel), Linux Phát hành Lazarus 1.0.
Bản mẫu:Version 1.0RC2 August 21st, 2012 Windows, Mac OS X (Intel and PPC), Linux Phát hành Lazarus 1.0.
Bản mẫu:Version 1.0 August 28th, 2012 Windows, Mac OS X (Intel and PPC), Linux Phiên bản Final đầu tiên. Phiên bản này sử dụng Free Pascal 2.6.0. Sửa nhiều lỗi của IDE, bao gồm: những hàm macro, thu gọn mã và những hàm gỡ rối mới.
Bản mẫu:Version 1.0.2 October 10th, 2012 Windows, Mac OS X (Intel and PPC), Linux Sửa lỗi, bổ sung nhỏ trong LCL và widget
Bản mẫu:Version 1.0.4 December 2nd, 2012 Windows, Mac OS X (Intel and PPC), Linux Sửa lỗi, một vài bổ sung vào IDE, LCL và widgetsets (LazReport and TAChart)
Bản mẫu:Version 1.0.6 February 3rd, 2013 Windows, Mac OS X (Intel and PPC), Linux Sửa lỗi, một vài bổ sung vào IDE, LCL và widgetsets (LazReport and TAChart)
Bản mẫu:Version 1.0.8 March 19th, 2013 Windows, Mac OS X (Intel and PPC), Linux Phát hành bản sửa lỗi. Sử dụng Free Pascal 2.6.2
Bản mẫu:Version 1.0.10 June 12th, 2013 Windows, Mac OS X (Intel and PPC), Linux Sửa lỗi
Bản mẫu:Version 1.1 N/A N/A Đang phát triển
Bản mẫu:Version 1.2 N/A N/A Dự kiến

Những dự án thực hiện bằng Lazarus[sửa | sửa mã nguồn]

  • Asuite là một ứng dụng mã nguồn mở chạy trên Windows. Viết hoàn toàn bằng Lazrus/Fpc 2.0 Alpha 2
  • Cartes du Ciel là một chương trình Thiên văn miễn phí cho Linux, Windows và Mac OS X. Dùng để quan sát bầu trời, các hành tinh, thiên thể,... Được viết hoàn toàn bằng Lazarus/fpc và phát hành trên GPL
  • Cheat Engine là phần mềm để quét, chỉnh sửa, sửa lỗi trên bộ nhớ. Nhưng lại thường thường để hack game. Từ phiên bản 6.0, được biên dịch bằng Lazarus
  • Greenfish Icon Editor Pro là phần mềm miễn phí để chỉnh sửa icon, cursor và animate
  • MyNotex là phần mềm miễn phí cho Gnu/Linux dùng để tạo và quản lý chú thích văn bản
  • Peazip là phần mềm lưu trữ mã nguồn mở, viết bằng Lazarus/fpc
  • TorChat là phần mềm chuyển từ Python qua Lazarus/fpc
  • WinFF là phần mềm chuyển đổi định dạng đa phương tiện trên Windows và Linux

Xem thêm[sửa | sửa mã nguồn]

Nguồn[sửa | sửa mã nguồn]

Được dịch lại từ http://vi.wikipedia.org/wiki/Lazarus_(IDE) và bổ sung, chỉnh sửa

Tài liệu tham khảo[sửa | sửa mã nguồn]

Liên kết liên quan[sửa | sửa mã nguồn]

Bản mẫu:Pascal programming language family Bản mẫu:Widget toolkits