请选择 进入手机版 | 继续访问电脑版

Lazarus中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

Lazarus是否做好编写商业软件的准备了?

[复制链接]
  • TA的每日心情
    开心
    2021-8-26 17:08
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    发表于 2011-8-20 08:57:00 | 显示全部楼层 |阅读模式
    作者:Zeljan  
    简体中文翻译:delphicn@163.com

    此文章来自于欧洲Pascal杂志2010年9月刊:http://www.blaisepascal.eu/

    由于本人水平有限,翻译中难免有错误,请大家谅解。欢迎批评指正。希望这篇文章可以增加大家使用Lazarus的信心。

    编辑备注:
        这篇文章举例说明了因为内核开发组专注的工作而使得Lazarus取得了巨大的进步:
    它显示了Lazarus如今在许多方面和Delphi同样优秀。在个别关键应用方面Lazarus已经远远超过了Delphi(64位编译执行,多平台和多系统,允许移动应用和嵌入式系统的开发)。
        当然它也并非与Delphi完全一样,几乎非常便宜-这个可以参考Lazarsu USB优盘的价格。所以任何人都买得起并且你可以立即开始开发而不需要安装要求。你可以创建曾经想要的任何应用软件和很多能够使用的控件。所以这个答案是:是的。可完全完美的用于商业应用软件开发。

    以下部分为作者自述:
        我开始我的工作在2001年,在一家克罗地亚名叫Holobit 的公司。在那时候Holobit是一家拥有十二个客户的相当的小公司。
        我主要的任务是进行当时公司C++应用软件的转换开发,使其运行于Linux和Windows,使用的是Borland公司的Delphi和Kylix的CLX技术来开发的。在发展了多年之后C/C++代码在linux 中面向对象看上去非常简单和很有组织。在工作了二个月之后,我非常肯定Borland拥有伟大的产品,写代码的时间比用VI编辑器写C/C++(gtk+,qt)代码的时间短了许多。无论如何,在3个月内我们的商业应用软件转换到了CLX并且公司开始销售用于Linux和Win32平台。所有的开发是使用Kylix 2和Delphi 6来完成的。(后来升级为K3和D7)。
        创建Linux本地应用是非常好的决定,所以客户数量开始迅速成长。
        我们的客户非常高兴在桌面PC中可以选择Linux或Windows客户端应用程序,因为它可以节约成本并且创造了一个更好更安全的运行环境。
        第二步的转换问题看上去更加复杂 - 在那时 - 是数据库。当我开始转换我们的应用软件时,它们都使用的是Foxpro,而我对Foxpro却非常失望,因为我已经在Linux上使用PostgrSQL了。那么你可以猜测到我们移植我们所有的应用软件到PostgreSQL是非常正确的。
        在那时我不知道诸如Zeos一类的第三方组件,所以我编写了我自己的PostgreSQL驱动并且使用了它数年之久。
        后来我发现了Zeos - 好得让人惊讶 - 我立即开始使用它。这样到了2004年,传言说Kylix将不再升级和退出市场,从Borland处没有任何消息 - 如此安静 ....是的它将要退出了:可耻的Borland,不是因为你把Kylix扔进了坟墓,而是因为你欺骗了你的用户。
        多年以来,我们和Borland产品一起战斗。(同时,Kylix不再能运行于任何的Glibc高于2.4.X的分发版本之上)如此, 直到我看见有人已经开始Qt界面构件库用于Lazarus项目,并且那个家伙是Felipe,非常感谢Den Jean做的QT  C绑定,因为没有C绑定的话我们不能拥有内置于Lazarus的QT界面构件库。
        在这之前我观察过Lazarus好几次,但是在以前它对我没有吸引力,因为它只支持Gtk1界面构件库,并且它看上去比使用QT2的Kylix糟糕,所以现在我有理由的下载Lazarus trunk并且查明真相,它是如何和QT一起工作。(以前我测试过Gtk)。

        很好,就像前面说的一样,在QT界面构件库的工作只是刚刚开始,这个结果是需要很多改进,所以它不能工作。
        在快速的查看完Lazarus的原理之后,Lazarus组件库(LCL)和界面构件库是相连接到LCL的,我开始贡献给Lazarus开发组一些主要的我当时取得可以运行的QT界面构件库代码。
        我的第一个补丁是发给了Felipe。他说我的代码写得很标准(嗨,嗨),那是因为我修复并且更改我的代码标准为Lazarus的标准。
        不管怎样,一年后QT界面构件库开始可以用了 - 在同时Lazarus开发组给了我SVN写入的权根 - 所以不再需要等待Felipe和其它人帮我提交我的补丁了。
        在同一时间 - 由于Kylix和Delphi程序设计引起的商业难题使得公司管理层考虑移植全部的代码到Java 或者.Net。当公司管理层决定移植修改必须快速完成时我表示反对。
        我不是很乐意这样做。不是因为这个应用软件的原因,是因为在我们的应用软件中使用了大量的第三方组件(ZeosLib,FastReports,TMS表格,VritualTress等等)。我说我们没有必要花费很长的时间和资源去移植我们的代码到Java或.Net并且这样做的结果不一定是可靠的。我被这个商业决策给打乱了(并且已经准备更换工作了),所以有一天我询问我的主管,是否他们可以允许让我花费一些时间用Lazarus来开发代码,并且承诺在几个月后我将展示我们的一些应用可以在QT4上运行。

    这样,努力奋斗开始了...

           我开始和时间赛跑,我不得不修复QT-LCL并且转换一个我们公司的应用软件到LCL(只是一小部分)。那可不是一个轻松的任务,因为Qt-lcl仍然未完成并且许多事情还没有处理。
        用于Lazarus的Zeos已经有了,但是对于一个简单的应用程序我还得拥有FastReports和TMS表格。这样,我使用了三个月的时间使得Qt能在Lazarus中使用,转换FastReports和TMS代码(都使用CLX授权)...
           在花了好几百个小时的编码后,这一天终于来了。在2008年二月未期我展示了我的工作。我给公司管理层作了一个运行于Linux,32位Windows和Mac OSX的陈述,公司管理层感到很高兴和很满意。
        当然那儿仍然有错误并且一些特性还未实现,但是他们很欣赏我的主要论点。如果我们移植到Lazarus我们可以运行于其它(甚至更多)支持的平台,并且同样因为Lazarus是一个开放源代码的项目,我们不需要像过去一样等待别的公司的决定(如Borland)来损害我们的利益。
        接下来的几年是我的工作生涯中很愉快的日子。我制订我们的应用软件移植到Lazarus预算表和时间需求。现在我拥用一个合理的时间(15个月)来转换到Lazarus并且为Lazarus重写公司的应用软件(并且安排其它每天任务)。

        在2008-2009之间我转换了所有的第三方组件,完成了我们所有的应用软件转换到FPC/Lazarus,同样给Lazarus项目组贡献了许多补丁。

        目标完成 - Lazarus比Kylix 3更好并且我们已经开始布置了LCL应用软件超过3500个客户地点。
        由于在所有平台上我们的应用看上去都是本地的,所以我们得到了用户的肯定。
    自从我们首次给他们安装本地应用(他们使用Parsllels + Linux VM),一些Mac OSX的用户也非常高兴。
        哇,多美好的一天啊。我们真的不再需要Borland的产品了。

    现在我们使用FPC/Lazarus和PostgreSQL RDBMS完成了所有软件的开发工作:
    1. HoloERP - ERP 系统 > 400个模块(窗体)
    2. Cafeman - 咖啡吧和餐馆后台管理系统和POS 系统
    3. TSuS - 小型商店后台管理系统和POS 系统
    4. Cinema - 电影院软件(预约,票务等等)
    5. ArhStudio - 建筑师文档数据库。

    所有这些软件使用了以下第三方组件:
    · ZeosLib
    · FastReports (CLX接口)
    · TMS Grids (CLX接口, 但我们拥有一个新的VCL授权和同样的接口)
    · TMS Planner (CLX接口,后来是VCL)
    · FlexCell (LCL授权许可,是的,它们是LCL版本)
    · 我们自己开发的组件

    结论:

    Lazarus已经准备好商业开发应用了,特别是针对以前的Kylix3/Delphi 7代码。
    我个人的看法当前(0.9.29分支)的Lazarus QT比K3/D7更优秀,并且开发者将非常乐意使用新版本0.9.30.

    为什么?
    · 这个OOP RAD支持如此多的平台。
    · 志愿者坚持不懈的开发,它不依赖于商业决策所以可以避免破产。
    · 除了花费精力和时间,几乎没有成本。
    · 如果它不适合你的需求,你可以修改它并且分发。
    · 如果那里有错误Bug - 你可以修复它并且分发它,或者至少你可以打开Lazarus问题追踪系统来查找你的答案。

    评分

    参与人数 1威望 +5 收起 理由
    猫工 + 5 优秀文章,支持!n神马都是浮云

    查看全部评分

    回复

    使用道具 举报

    该用户从未签到

    发表于 2011-8-22 12:27:04 | 显示全部楼层
    优秀文章,支持!n神马都是浮云
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2011-8-30 09:58:06 | 显示全部楼层
    对高手而言,LAZARUS确可以做商业开发了

    但对普通开发者,可能还无法逾越许多难关
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2011-8-31 22:18:42 | 显示全部楼层
      也许应该出一套中文教程,让大家彻底离远Delphi。。
    deiphi7  win7安装不成功,再高的版本,太它妹的大了。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2011-9-23 12:05:07 | 显示全部楼层
    翻译成:
    ===========================
    Lazarus是否适宜编写商业软件?
    ===========================

    这样会比较好些
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2011-12-28 21:28:50 | 显示全部楼层
    同意lz的看法
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2012-1-12 15:08:37 | 显示全部楼层
    谢谢LZ

    我还没明白:看了中文版的GPL,好象这种在GPL授权下发布的软件不能用于商业吧,好象任何人要求查看源代码,修改或发布者都有义务给对方看,是这样吗?????????????????

    请大家帮忙解答,谢谢
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-1-19 16:54
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2012-2-4 15:34:30 | 显示全部楼层
    感谢为FP+Laz 做出贡献的所有人。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2012-2-4 15:59:39 | 显示全部楼层

    回 7楼(sikale) 的帖子

    sikale:感谢为FP+Laz 做出贡献的所有人。 (2012-02-04 15:34) 
    Lazarus社区有你更精彩!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2012-5-10 12:45:46 | 显示全部楼层
    谢谢laz!谢谢苍老师!
    回复 支持 反对

    使用道具 举报

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

    GMT+8, 2022-5-16 23:52 , Processed in 0.043638 second(s), 25 queries .

    Powered by Discuz! F1.0 Build 20160930

    © 2001-2022 Comsenz Inc. & Discuz! Fans

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