veket官方网站论坛

veket

 找回密码
 要注册
搜索
查看: 7297|回复: 11

[推荐] 跨平台的RAD环境Lazarus(已经测试可以用于veket系统)

[复制链接]
发表于 2010-10-8 02:16 | 显示全部楼层 |阅读模式
Lazarus是一个用于Free Pascal的快速应用开发(RAD)的面向对象的Pascal集成开发环境(IDE)。
通俗地说,她是一套可以用在多种操作系统上的编程软件,用她写出的软件可以一个字不用改就编译出windows版/linux版/mac版等等,只要你不故意针对某个系统写代码(比如直接调用windows的api),那么你的软件就同时有了多个平台的版本。最重要的,她采用了同DELPHI完全相同的界面,代码用的是PASCAL语言,这样windows程序员几乎不用学习就可以直接用它在linux下快速写出功能强大的应用软件,甚至可以把现成的windows软件源码稍加修改就编译成linux软件。

http://www.lucky8k.com/thread-78678-1-1.html
这个帖子里的小工具就是用Lazarus写成的,大家可以参考。
 楼主| 发表于 2010-10-8 02:17 | 显示全部楼层
关于Lazarus的一些描述
历史
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。

[ 本帖最后由 pluto 于 2010-10-8 02:19 编辑 ]
发表于 2010-10-8 10:16 | 显示全部楼层
有没pet下载?
 楼主| 发表于 2010-10-8 17:38 | 显示全部楼层
我是在命令行安装的,没必要做pet包,如果需要的人多我就分享出来,不过体积较大(解压前95M,解压后数百兆)。
发表于 2010-10-9 01:26 | 显示全部楼层

回复 4# 的帖子

解压前95M,如果完善的话建议分享啦,好多人需要的吧
过几天后来下载
您需要登录后才可以回帖 登录 | 要注册

本版积分规则

QQ|手机版|Archiver|veket官方网站论坛 ( 粤ICP备 11052856 )

GMT+8, 2024-4-29 11:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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