views:

758

answers:

4

I begin to program some handheld program as hobby, right now i currently have knowledge on Blackberry App (Java), Symbian S60 (PyS60) and J2ME

Something that i wanna learn was Windows Mobile/Pocket PC and iPhone development, but since i don't use Mac so i step to Windows Mobile/Pocket PC development

Here some question:
1. Which is better Lazarus or Turbo Delphi.Net?
2. Do both have some kind support of network access (GPRS, Wi-Fi, HSDPA, etc)?
3. Do both have database access, both remote database and standalone/embed database? like SQL Server 2005 CE?
4. Do i need some driver installed on Windows Mobile/Pocket PC to be able to work with SQL Server 2005 Developer on server i already have?

If possible answer point-by-point

Thanks

+1  A: 

I never tried Turbo Delphi .NET, but afaik CodeGear stopped that line, so I wouldn't start new development in it. I also heard that CF.NET was not officially supported and a bit ackward. As said I never used it, I hope that others will comment.

Lazarus core functionality works, but many more "outer" parts are not always tested on CE, and you will have to find stuff out yourself.

  1. Roughly the same as under normal delphi/win23. Can access TCP/IP with Indy10 afaik, but to work with network connections you need api calls
  2. sqlite is sometimes used. In theory all the db drivers should run if their client libraries are available to arm. The DB support should mostly be endian clean. However I don't know which ones are supported. Sql Server variants are generally not supported by FPC, except via ODBC. And I don't know if CE has that.
  3. Usually you need to have some client lib or a generalized DB connectivity lib ADO/ODBC/JDBC.

Browsing the lazarus/fpc wiki for CE topics could be a good next step. If you persist in CF.NET, I would migrate to VS, and not work with TD.NET.

Marco van de Voort
+1  A: 

If I would develop something for a handheld, I would create a webapplication. Only if you need to access the handheld data (pim, gps, ...) it makes sense to create a local running application.

But if you want to create something to run on the device, I would go for FPC / Lazarus as well.

birger
+4  A: 
  1. Lazarus has form designer built in for WinCE applications, Delphi 4.Net doesn't has one, also CG has stopped developing the Turbo Delphi line, and it's support .Net CF 1.1 only.

Maybe using Delphi Prism will be better option, because it's support the latest .net framework, and with the new MonoTouch it could be better option for future development with IPhone too.

Point 2 & 3, I don't have information about them, you could visit Lazarus forums and wiki to have more information, but for Delphi 4.Net it has support for all classes on the .Net framework CF.

4.If I remember correctly, the .Net CF has drivers for SqlServer Mobile edition and Sql Server, for example it has SqlCEConnection for mobile and SqlConnection for Regular Sql server edition.

Mohammed Nasman
FPC can generate iPhone apps too. Allthough that is not end-user ready.
Marco van de Voort
+1  A: 

Your questions has been answered so I'll reply with my opinions;

  • Lazarus: It gives you power of native application, but it's not used widely. Give it a try, see if it fits your needs on the mobile device. Perhaps report bugs and help its development.
  • Delphi Prism + .NET CF: Object-pascal alike .NET syntax -which I do not like but that's just my opinion-. Here's a sample video to get started. It lacks form designer for .NET CF so if you stick with it you'll use WinForms designer.
  • C# + .NET CF. It has really good IDE for .NET CF development. This is how I rolled for mobile device development and I'm happy with it. ie, if I have a problem the huge .NET userbase most likely has the solution.
Ertugrul Tamer Kara