Monday, August 20, 2007

Have you ever used Lazarus for Pocket PC development?

Well,i really don't know why still people are not -that much- using Lazarus + FPC for Pocket PC development.

I think the main problem is,it is not well advertised,and lots of people don't know about it yet.
Another factor could be that it is an open source software,and well people sometimes have some wrong ideas about open source software in general,like being unstable,not good looking and so on.

Anyway,i really think the best option for object pascal programmers is Lazarus + FPC for Pocket Pc development.
I really think it is also best choice for other developers trying to develop in win32.Don't you really hate C strings?MFC?ATL?
I know c/c++ really well,but being a long time turbo pascal and afterwards Delphi user,i really couldn't get the idea behind MFC and ATL.
It just don't work for me.


Here is list of my cons and pros.

Pros :
1- It feels like a really big,full featured,stable IDE environment and just looks like good Delphi 7.
2- Your programs will be based on LCL widget set which you can whenever you want simply migrate your program to Win32/Linux/Mac OS environments.
3- It is pascal/Delphi language.If you are familiar with VCL and Delphi.Everything here is the same.
4- You also have a good debugger.So debugging your programs in your retail device or also in emulators is piece of cake.
5- Lots and Lots of components and sources are available in Internet,you simply need to compile them for ARM/Pocket PC target.
6- Results are in native machine instructions,not in slow .net or java platforms.And no need that users installed these into their machines.

Cons
1- .exe files are bigger in comparison to what visual studio produces.But you can always safely use UPX or even switch into using KOL for your widgetset based programs.(look at kol-ce for sources).

Just that.I really see no other problem with current implementation of Lazarus and FPC.

Not to mention that my En2FaMail program is also compiled with FPC.based on my long time ago En2Fa program sources.
At first i tried to use Delphi 2005 .net cf implementations.
but when i just saw that much of errors on you can not use pointers and...
I abandoned the project.

Anyway,here is the screenshot i created when i was implementing LCL for wince just to convince anybody that everything was working.


And LCL has improved a lot since then.
I hope i convinced some of you in how great could be development with LCL.Especially for those who are still using pure c for their programs,and those who hate .net!!

For more information please look at these URLs :
http://wiki.lazarus.freepascal.org/Windows_CE_Interface
http://wiki.lazarus.freepascal.org/Windows_CE_Development_Notes
http://wiki.freepascal.org/WinCE_port

6 comments:

Sergio Roth said...

In fact I think there could be a simple interface where you could do all adjusting to compile for windows, linux or even ppc.
The Lazarus installation pack should be developed in a way where all necessary components for each compilation where included. You should only select by click if you want to compile for windows, linux or ppc.
I know there are some tutorials describing the way for cross compiling. But they are described in several steps with right directories installation (rocky way).
Would be dificult for someone who have Lazarus whole successful configured for ppc compiling generate a customized installation pack?
There can be some tutorial about adjusting Lazarus interface itself since there is some configuration on .arm compilation incudeded in graphical interface, but i never have find it.

Roozbeh GHolizadeh said...

what is your exact problem so maybe i can guide in correct direction.

Actually,you are right,still lazarus requires some adjusments.But i thought there were some ready made installations.I will check it out soon.(becouse i rely on svn and always get the latest sources and do compile by myself,i never tried installation packs!)

santoso said...

Hi...
I would like to use lazarus for developing a pocket pc program. The problem is, the pocket pc program that I want to develop will use a database. Do you know what kind of database that we can use in pocket pc and can work together with lazarus? Can we use the firebird/interbase database (since it was open-source)?

One Stop Entertainment said...

i am interest with this blog..
and i am already to develop simple application with lazarus on win ce.
but i am stil confuse with firebird on win-ce
i already download firebird 1.o wince but dont have instalation for setup.
How firebird on win ce work ???
thankss..

-allies-
allies_Xposs@yahoo,com

Anonymous said...

Here's a link I found that shows one embedded database:
http://www.elevatesoft.com/articles?action=view&articleno=5

Sam Winchester said...

Hello Roozbeh... I am also one of Delphi fans since 10 yrs ago. I developed lots of softwares for myself but never have them published until now. You can come to my blog to see some of my programs that is released as freewares, for Win PC.

I am now wanting to explore to PPC and WINCE. So just tried Lazarus and I am surprised at its similarity to Delphi... (i just have the old Delphi 3 which cant dev for WinCE).