Lazarus中文社区

 找回密码
 立即注册(注册审核可向QQ群索取)

QQ登录

只需一步,快速开始

Lazarus IDE and 组件 下载地址版权申明
查看: 4785|回复: 3

把Lasarus的百度百科词条丰满一下,增加了《一个跨平台编译器的感人史》!

[复制链接]

该用户从未签到

发表于 2010-8-5 23:58:06 | 显示全部楼层 |阅读模式
Lasarus在中文介绍方面的文献和资料太少了,这么优秀的IDE工具,特别是它的Open和Free,和像极了Delphi的特点、优势,是得让更多的国人认识它(虽然我不赞成对这种开发工具进行汉化……),而百度百科做为中文领域的头号网络百科全书,其中对Lasarus的介绍太少了,今天特别做了编辑,把《一个跨平台编译器的感人史》这文章增加进去,望能为Lasarus在国内的推广出一点绵薄之力。

ps:《一个跨平台编译器的感人史》这文章极好,可以让新手尽快全面的了解Lasarus的概况!

一个跨平台编译器的感人史

  历史 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的编译器,她被设计成可以理解,并编译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许可协议的,这意味着它是开源的,免费的,如果你有需要,还可以修改其代码,当然,你一定要发布这些改变,当有人想使用你的改动时,你有义务提供那些改变后的源代码。
  Lazarus的名号是怎么来的?
  原来的项目叫Megido(尝试建立跨平台的Delphi克隆),但是这个努力失败了,众所周知,Lazarus曾经拯救过基督,所以,项目取名Lazarus,因为她的出现拯救了Megido。

评分

参与人数 1威望 +10 收起 理由
猫工 + 10 优秀文章

查看全部评分

回复

使用道具 举报

该用户从未签到

发表于 2010-8-16 22:16:46 | 显示全部楼层
好!顶一下,我的E文不好,以后多转些这样的文章,谢谢!
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2018-8-9 11:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2010-8-24 11:51:07 | 显示全部楼层
    这个历史俺还不知道
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2021-8-26 17:08
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    发表于 2010-8-29 09:58:43 | 显示全部楼层
    是啊!如果国内的delphi程序员能多了解一下lazarus,那么pascal又能繁荣起来了.
    回复 支持 反对

    使用道具 举报

    *滑块验证:

    本版积分规则

    QQ|手机版|小黑屋|Lazarus中国|Lazarus中文社区 ( 鄂ICP备16006501号-1 )

    GMT+8, 2025-5-2 20:23 , Processed in 0.032768 second(s), 14 queries , Redis On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表