Lazarus - 隐秘的神器

        在Pascal编程语言的诸多分支中,除了世人熟知的Delphi,还有隐秘的 Lazarus ,至今其已经成长为一股强劲的力量。

        Delphi 和 Lazarus,都是 Pascal 语言的RAD开发工具。Delphi是商业化软件,拥有广泛的用户基础和成熟的生态系统,尤其在 Windows 系统上具有深厚的技术沉淀。Lazarus 则是 Delphi 的开源替代品,使用 Free Pascal 编译器作为其后端,跨平台。

        说起来,二者的名字颇有意味。

 Delphi  

        是古希腊的一个著名圣地,位于希腊中部的帕纳索斯山(Mount Parnassus)上。在古希腊神话中,Delphi 是阿波罗神(Apollo)的神谕所在地,阿波罗是光明、艺术、预言和医疗的神。在古希腊时期,Delphi 被认为是世界的中心,是人们寻求神谕和预言的神圣之地。

        可见,对于 Delphi ,人们寄予了神圣的期望,为它赋予了智慧和启示的的深意,甚至当时有个流行的说法:

真正的程序员用C++,聪明的程序员用Delphi

Delphi 4.0

        Delphi 1.0 在 1995 年发布,一路高歌猛进,掀起了 Windows 上快速开发的热潮,甚至推动了 Windows 平台的发展,对后来的 IDE 设计产生了深远的影响,进而引发波澜壮阔的编译器之战,微软、SUN、IBM、Oracle 悉数下场, 那又是一部激荡的岁月史书,感兴趣的朋友,可以拜读下李维的《Borland传奇》

        或许,将来我也会以《Borland传奇》为底,简要下Borland的神迹历史 🙂

        

 Lazarus 

        源自新约圣经约翰福音第十一章,记述了耶稣令其死而复生的故事。 

拉撒路复活
The Raising of Lazarus, 1857
Léon Joseph Florentin

        这隐喻了什么呢?

lazarus-ide 官网的介绍

        Lazarus 是一款兼容 Delphi 的跨平台集成开发环境,用于快速应用程序开发。它拥有各种随时可用的组件和图形表单设计器,可轻松创建复杂的图形用户界面。       

        嗯,它要作跨平台开源的 Delphi ,在各个平台下复兴 Delphi 的神迹!

Lazarus的起源

        实际上,Lazarus 的起源比我们想象的都要早,可以追溯到1998年发起的Megido项目,它当时的目标就是创建开源版的Delphi,但这个项目很快失败了,三位参与项目人员(Cliff Baeseman、Shane Miller和Michael A. Hess)非常沮丧,但他们并未死心,而是启动了属于他们自己的新项目——Lazarus。

        说起 Megiddo,又要谈及圣经了。Megiddo 出现在新约的【启示录】中:所有的国王全都聚集在了Megiddo这座城市里,隐约暗示着这些国王是要为上帝(正义)与撒旦(邪恶)做出最后一战。可见,当时人们对这个项目还是抱有极大希望的。

        后续,随着人员的不断加入,Lazarus也渐渐羽翼丰满起来:

  1. Marc Weustink:于1999年8月加入,寻找Linux上的Delphi替代品,加入时Lazarus项目仅包含空工具栏和硬编码的GTK菜单项。Marc是核心贡献者,专注于调试器接口的开发。

  2. Mattias Gaertner:2000年9月加入,为项目带来了重大进展,移植了synedit,编写了代码工具和设计器的大部分代码,并在三年后增加了包系统,持续为IDE增加特性和改进。

  3. Micha Nelissen:2003年6月加入,主要贡献是为win32接口发送补丁,帮助开发原生win32界面,以响应用户对原生win32界面的需求。

  4. Vincent Snijders:1999年夏天首次接触Lazarus,2003年毕业后开始贡献补丁,专注于让Lazarus在Windows上运行得和在Linux上一样好。

  5. Felipe Monteiro de Carvalho:2005年开始关注Lazarus,希望将其作为Delphi的替代品,最初通过报告错误和编写文档贡献,后来开始编码,开发了多个新界面,包括Qt 4、WinCE、fpGUI和Cocoa,增加了TTrayIcon组件和PasCocoa绑定。

  6. Paul Ishenin:2007年1月在FastCube 1.0项目中了解到Lazarus,决定将其移植到FPC和Lazarus,专注于实现至少针对Windows平台的光标,并最终参与了GTK2、Qt和win32小部件集以及IDE的开发。

  7. Zeljan Rikalo:2007年开始通过向Felipe发送补丁为Qt小部件集贡献,并在同年夏天获得svn写访问权限,现在负责开发Qt、GTK2和LCL。

  8. Martin Friebe:通过清理和重构SynEdit代码开始贡献,增加了如同步编辑等新功能,并改进了源编辑器的多窗口视图和调试器。

  9. Juha Manninen:2009年加入,最初通过修复错误,之后改进了“构建Lazarus”配置对话框,获得SVN写访问权限后,开始维护Delphi转换器,并专注于提高IDE的可用性和修复错误。

  10. Bart Broersma:多年来首次贡献代码,并于2011年加入开发团队。

        此外,Roozbeh Gholizadeh自2006年起尝试使其En2Fa程序在Pocket PC手机上工作,贡献了Win32小部件到WinCE的移植,并改进了FPC编译器以提高与WinCE架构的兼容性。

Lazarus的诞生背景

        在 Delphi 7 之后,当时由于Microsoft .NET的推出,Delphi 开始转向 Delphi .NET ,包括 IDE也转为 Dock 风格。这一转变让一些对传统 Delphi 开发体验情有独钟的程序员感到不适应。正是在这样的背景下,Lazarus作为Delphi的一个开源替代品应运而生,它使用Free Pascal作为其编译器基础,并高度还原了Delphi的开发体验,不仅保留了Delphi快速应用开发(RAD)的核心优势,还加入了跨平台和开源的现代元素。

Lazarus的现状

       Lazarus IDE 因其跨平台能力和对 Delphi 兼容性而被广泛认可,成为了 Pascal 语言开发的有力工具。随着不断地更新和改进,Lazarus 在开发者社区中的地位越来越重要。

频繁的更新

        今年Lazarus 3.0 发布,用 Free Pascal 3.2.2 构建。

        

Lazarus 的更新很频繁

        截止今日,最新版本为 3.2

        整个IDE确实很完美的复刻了 Delphi,便捷、灵活、强大。

跨平台?

       

        嗯,让我们看看这份平台支持列表:

Platforms

丰富的组件

        组件面板神似 Delphi,丰富度让人足以放心开发常规应用。 

        不仅仅组件丰富,它们还可以跑在Gtk,Qt 4/5,Cocoa/Carbon 上,超出想象的跨平台完善度。这些都基于 LCL 十多年的技术沉淀:

Lazarus LCL (Free VCL)架构图

        第三方组件支持也很多,许多著名组件同时支持Delphi 和 Lazarus:

  • SQLite / PSQL 操作数据库,并直接关联界面表格。
  • Python4Laz:可以用 Python 混合编程,Pascal 负责界面交互,Python 负责逻辑。
  • Lua4Laz:可以用 Lua 混合编程,Pascal 负责界面交互,Lua 负责逻辑。
  • Pascal Script:一种基于 Pascal 的动态脚本。
  • 界面库 SkinCate,一键换肤,类似当年 Delphi/BCB 的 vclskin 组件。
  • Backport 的 Delphi 组件:比如 DelphiMoon。

Delphi 程序员的福音

        对于一个 Delphi 程序员来说,可以轻松上手 Lazarus ,可以通过视频演示了解 :

https://video.getlazarus.org/tutorial-intro.mp4icon-default.png?t=N7T8https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fvideo.getlazarus.org%2Ftutorial-intro.mp4

        或者看看海量的截图:

Screenshots - Lazarus wiki (freepascal.org)icon-default.png?t=N7T8https://wiki.lazarus.freepascal.org/Screenshots

        甚至,还为你专门准备了一份引导入手的页面:

L        azarus 是一种类似 Delphi 的快速应用程序开发 (RAD) 工具。这意味着它带有一个可视化组件库和一个集成开发环境(IDE)。Lazarus 组件库 (LCL) 与 Delphi 的可视化组件库 (VCL) 非常相似。大多数 Lazarus 单元、类和属性的名称和功能都与 Delphi 中的同类产品相同。这使得将 Delphi 应用程序移植到 Lazarus 相对容易。

        当然了,他们也说明,“尽管 Lazarus 在很多方面都是 Delphi 的开源克隆,但兼容性并不是 100% 的。” 这是完全可以预期和理解的。

        甚至贴心的为你准备了各类组件对比说明:

         怎么样,可以心动了吗?😃

用Lazarus可以做什么?

       官网是这样回答的:

        你可以创建自己的开源或商业应用程序。使用 Lazarus,您可以创建文件浏览器、图像浏览器、数据库应用程序、图形编辑软件、游戏、3D 软件、医学分析软件或其他任何类型的软件。

        实际上,这应该取决于你自己。

        有很多知名软件是用  Lazarus 开发的,简单罗列一下:

  • Total Commander3:这是一个老牌硬核的桌面效率工具,最初使用 Delphi 开发,2010 年开始移植到 Lazarus,目前 64 位版本完全使用 Lazarus 开发。

 

  • Cheat Engine:这是一个著名的游戏修改器,支持跨平台,包括 macOS,得益于 Lazarus 的跨平台性。

 

  • Beyond Compare: 这是一个硬核的桌面应用,擅长开发类似 Total Commander 的应用程序,具有丰富的界面表现和重度 GUI 界面操作。

 

  • Pea Zip:这是一个以启动快、占用少、开源免费而闻名的压缩工具,支持多种操作系统和桌面环境。

 

  • Double Commander:这是一个高仿 Total Commander 的免费开源文件管理器,从项目开始就使用 Lazarus 进行开发,支持 Linux 和 macOS。

  • CudaText: 这是一个高性能的文本编辑器,是 Sublime Text 的开源替代品,具有高颜值和多种语言高亮,支持大文件编辑和 Python 扩展。      

        这些软件展示了 Lazarus 在开发跨平台桌面应用程序方面的强大能力和灵活性。

总结

        

        Delphi 和 Lazarus 就像优雅的 Pascal 宇宙中的两个平行世界。一个专注于商业产品,一个拥抱开源跨平台。但它们是精工良品,希望我们开发者能善用工具,创造出令人惊叹的应用程序 ✨

参考

  • 60
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

0x0007

可不可奖励我吃只毛嘴鸡 馋😋

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值