Recent

Author Topic: Is Lazarus good choice?  (Read 21758 times)

George

  • New Member
  • *
  • Posts: 12
Is Lazarus good choice?
« on: March 29, 2010, 08:10:45 am »
Hi all Lazarus and FPC experts,
I have to rewrite some database application written in Visual FoxPro. There are about 1000 screen forms and 600 raports, so the application is rather complex. The new application should work in a client/server architecture.
After having studied some IDE (Delphi, Visual Studio, Lazarus) I am almost ready to run a risk and choose Lazarus + Firebird, but unfortunately I do not know will Lazarus and FPC come true in such complex software project? It looks to be mature, but may be some of you has developed more complex applications in Lazarus and would be so kind to share his experiences and remarks.  
Thanks in advance.  
« Last Edit: March 29, 2010, 08:35:18 am by George »

Wodzu

  • Full Member
  • ***
  • Posts: 171
Re: Is Lazrus good choice?
« Reply #1 on: March 29, 2010, 08:36:23 am »
Hi George,

If I were on your place I would create a small application in Lazarus to see if you have any problems with some components, some code and so on. Especially the reporting part.

For Delphi you have excellent Fast Reports package, I don't know if something like this exists for FPC. But for FPC you could probably use Crystal Reports ActiveX controls.

If you want to go cross platform FPC is NO. 1 choice but if you want to stay on Windows I would chose the Delphi. I don't want to disencourage you to use FPC but IMHO there is still a lot to do in terms of bugs here and there. Guys from FPC\Lazarus are doing a great job, bug fixing is so damn quick here  :) but some bugs exists and sometime you may end up waiting for fixing particular bug.

Delphi is not bug free either but I am developing 4-5 years now those kind applications that you have mentioned and had no problems with bugs in this area. Of course Delphi is not free while Lazarus is!

But the most important question is: why do you want to rewrite your application? If it is stable, your clients are happy I can not find any good reason for doing this.

regards,

Wodzu

Leledumbo

  • Hero Member
  • *****
  • Posts: 8491
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: Is Lazarus good choice?
« Reply #2 on: March 29, 2010, 08:52:28 am »
Quote
For Delphi you have excellent Fast Reports package, I don't know if something like this exists for FPC. But for FPC you could probably use Crystal Reports ActiveX controls.
You already have LazReport when you install Lazarus, it's just not included in the IDE by default.

George

  • New Member
  • *
  • Posts: 12
Re: Is Lazarus good choice?
« Reply #3 on: March 29, 2010, 09:25:57 am »
Hi Wodzu,
Thanks for your suggestions. As an owner of CodeGear RAD studio 2009 proffesional I considered Delphi. But ... 1. It is only for Windows platform. 2. Embarcadero politics concerning this product is strange for me. For example in CodeGear RAD studio 2007 one could write and app for .NET simply choosing appropiate type o project, but in 2009 strange package PRISM was introduced that is a mix of Visual Studio 2008 and something else. What's more new releases of CodeGear RAD and its components are launched with a light speed and it is difficult not only to keep pace with paying but also with studying new functionalities.
As to the VFP... Micrososft announced that it stoped to develope VFP and will support this product up to 2015. So it is rather necessary to begin transferring applications from VFP.
I am really affraid of errors in Lazarus and limitations of the report creator (RazReport) so is why I asked the question. Thanks once more.

 

Wodzu

  • Full Member
  • ***
  • Posts: 171
Re: Is Lazarus good choice?
« Reply #4 on: March 29, 2010, 09:40:16 am »
George,

CodeGear's policy about the .NET is in my opinion a correct policy right now. They made a VERY big mistake incorporating .NET into the Delphi and they payed for it a big price.
They simply could not keep up with each new release of .NET by Microsoft.
Now they separated .NET from the Delphi and you can install it under VS IDE.

I do not know if you are aware of this but Delphi now is going cross platform once again, they are currently working on Mac platform. I do not know how well they do it, I think this is a key point of Delphi existance. But when they bring up Delphi 2011 you probably could upgrade your version of Delphi for a half price.

It is a hard choice. I suggest you, install LazReport, install a good package for DBComponents (does Zeos supports Firebird?) spend few days for and test features.

As goes for a bugs, they are solved very quickly I can say you that from my experience. But I am a beginner with Lazarus too.

LazaruX

  • Hero Member
  • *****
  • Posts: 597
  • Lazarus original cheetah.The cheetah doesn't cheat
Re: Is Lazarus good choice?
« Reply #5 on: March 29, 2010, 10:47:20 am »
Don't expect anybody on this forum to tell you Lazarus is the wrong choice ;-)
Test it and you will see if its a good choice. For sure for crossplatforms solutions, Lazarus/FPC is the best answer available.

George

  • New Member
  • *
  • Posts: 12
Re: Is Lazarus good choice?
« Reply #6 on: March 29, 2010, 11:19:40 am »
I didn't say that Lazarus is bad choice. My question was rather about hidden pitfalls and possible problems that I, newbe, do not know. Besides it is well known that small application and complex system from software engineering point of view belong to different worlds. I'd like to get to know opinion from people who developed in Lazarus any complex database system. As programmer I was brought up on Turbo Pascal and my tropism towards Lazarus and FPC is obvious, however the last decade I had used (and was spoilt by) Visual FoxPro as my favorite and very comfortable IDE.

zakwas

  • New Member
  • *
  • Posts: 10
Re: Is Lazarus good choice?
« Reply #7 on: March 29, 2010, 12:21:05 pm »
It is a hard choice. I suggest you, install LazReport, install a good package for DBComponents (does Zeos supports Firebird?) spend few days for and test features.

Yes, Zeos supports Firebird very well. But, does anybody complain about "native" lazarus db components?

Leledumbo

  • Hero Member
  • *****
  • Posts: 8491
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: Is Lazarus good choice?
« Reply #8 on: March 29, 2010, 12:28:13 pm »
Quote
My question was rather about hidden pitfalls and possible problems that I, newbe, do not know
Hmm... there are actually those things when you come to cross platform programming (not just Lazarus). Most likely in Lazarus is that when you've finished designing one form on one platform, it would look ugly on others if you don't use autosizing / layout. Next is the code itself, never access platform specific API directly. Look for cross platform solution (read the docs!), or if it doesn't exist, make a platform independent layer first and use it from there.
Quote
But, does anybody complain about "native" lazarus db components?
Nope, both SqlDb and Zeos are good, you just need to know which one to use for your needs.

Wodzu

  • Full Member
  • ***
  • Posts: 171
Re: Is Lazarus good choice?
« Reply #9 on: March 29, 2010, 12:36:50 pm »
Quote
But, does anybody complain about "native" lazarus db components?
Nope, both SqlDb and Zeos are good, you just need to know which one to use for your needs.

Well, actually yes. There is a problem with autoincrement field:

http://www.lazarus.freepascal.org/index.php/topic,8920.msg43487.html#msg43487

That is why I've mentioned Zeos on the first place. Current implementation of TSQLQuery has this bug. And I detected it only by setting up a very very basic DB example. It is strange that nobody noticed it sooner.

JD

  • Hero Member
  • *****
  • Posts: 1847
Re: Is Lazarus good choice?
« Reply #10 on: March 29, 2010, 12:42:22 pm »
As someone who has also written database applications in Visual Foxpro, I have never regretted choosing Lazarus. I still use Delphi from time to time if the need arises but I prefer Lazarus for its cross-platform abilities. I however did not have to migrate my old VFP applications to Lazarus so our situations are not exactly alike.

For database application development, I currently use Lazarus + Firebird/SQLite + Zeos. An open source cross-platform combo with favourable licensing.

I don't know about the complexity of your reports so you'll have to try LazReports for yourself to see if it is suitable for your needs. My current reporting needs are not complex so LazReports & FortesReport are suitable for the time being.

However in the long run for very complex reporting needs, I am thinking about using the open source Java reporting tool - iReports http://jasperforge.org/projects/ireport. It is very powerful & has lots of features including generation of charts. It can connect to various data sources but I'm presently prefer its ability to use XML files as a data source. The idea is my application/database generates the XML files while iReport takes care of the reporting end. This way, I can keep configuration to the barest minimum. iReport also exists as a portable application so with this kind of solution, I can have the entire application on an external HDD or on a CD-ROM which is ideal for demos.  :D

Like I said, this is just an idea I have but I believe I can make it work. I don't know of any open source cross-platform solution that gives you everything from soup to nuts but if you are willing to mix & match, you'll find something you can work with.

Happy exploration!  :D

Windows (10) - Lazarus 2.1/FPC 3.2 (svn 64160 built using fpcupdeluxe),
Linux Mint - Lazarus 2.1/FPC 3.2 (svn 64380 built using fpcupdeluxe),
Delphi

Indy 10.6 series; mORMot; Zeos 7.3; SQLite, Firebird, PostgreSQL & MariaDB; VirtualTreeView 5.5.3 R1

motaz

  • Sr. Member
  • ****
  • Posts: 495
    • http://code.sd
Re: Is Lazarus good choice?
« Reply #11 on: March 29, 2010, 01:27:19 pm »
Quote
But, does anybody complain about "native" lazarus db components?

yes, Native db is unidirectional while Zeos is bidirectional, I can open a table, assign dbGrid to it and start editing.

zakwas

  • New Member
  • *
  • Posts: 10
Re: Is Lazarus good choice?
« Reply #12 on: March 29, 2010, 02:11:21 pm »
Quote
But, does anybody complain about "native" lazarus db components?

yes, Native db is unidirectional while Zeos is bidirectional, I can open a table, assign dbGrid to it and start editing.


Delphi has unidirectional queries too, and programmers can managed with this. As for me it is not big deal. Especially Zeos isn't ideal.
« Last Edit: March 29, 2010, 02:17:01 pm by zakwas »

motaz

  • Sr. Member
  • ****
  • Posts: 495
    • http://code.sd
Re: Is Lazarus good choice?
« Reply #13 on: March 29, 2010, 03:01:20 pm »
I've another bug in native SQL with MySQL database
when I call a procedure that has two output parameters in native SQL I get only the first one, and null in the second, but when I changed to Zeos lib I get both parameters

Also I'm working in another project Lazarus+Firebird, I use native SQL plus Zeos. The only reason that I'm using Zeos is to allow editing the tables.

JD

  • Hero Member
  • *****
  • Posts: 1847
Re: Is Lazarus good choice?
« Reply #14 on: March 29, 2010, 03:13:35 pm »
I am really affraid of errors in Lazarus and limitations of the report creator (RazReport) so is why I asked the question. Thanks once more.

You could also take a look at ReportMananager XP http://reportman.sourceforge.net/

The XP in the name is a bit misleading though. It is cross-platform (Windows, Linux) & it also works with VFP. You can access the reporting engine library from Lazarus using standard dll function calls.

It is also a portable application.  :D
Windows (10) - Lazarus 2.1/FPC 3.2 (svn 64160 built using fpcupdeluxe),
Linux Mint - Lazarus 2.1/FPC 3.2 (svn 64380 built using fpcupdeluxe),
Delphi

Indy 10.6 series; mORMot; Zeos 7.3; SQLite, Firebird, PostgreSQL & MariaDB; VirtualTreeView 5.5.3 R1

 

TinyPortal © 2005-2018