views:

1474

answers:

5

I'm evaluating the possibility to write a web application using Delphi (ISAPI/CGI/...). I still cannot see enough reasons to use Delphi instead of a "classic" web development framework.

If you have experience in this specific area please share your remarks. Would you recommend Delphi instead of PHP/Rails/ASP/...? Do you know any web applications written in Delphi? (not web services)

+3  A: 

A reason could be that your model, business logic or data access layer is written in Delphi and you need to use that in your webapplication. Al tough, you could use your model, business logic or data access layer from other programming languages through things like dll calls, COM, REST or SOAP. Then this is not a reason to use Delphi to develop webapplications anymore.

Another reason could be that the developers are very good in Delphi and less good with the other languages.

Using a compiled language also gives you a performance benefit over interpreted languages like php, rails and asp.

Lars Truijens
+6  A: 

If you use Delphi for web application, you will get these benefits:

  1. Performance compared to other scripts languages.
  2. Reusing of your Delphi code.
  3. Working in great IDE.
  4. Use your favorite language (Delphi).
  5. If you use Intraweb, you can get built in Ajax support and producative without requiring to have deep knowledge in web or JavaScript.

but the disadvange:

  1. Deployment isn't easy, you need to work with ISAPI & IIS, and you rarely find Hosting copmany that offer ISAPI for you.
  2. Only windows platform, (If you use freePascal you may get others).
  3. No frameworks, No libraries for helping you on this side.
  4. Very poor documentation on this side, and most of articles are old.
  5. Working with Webbroker isn't productive compared to other solutions like Asp.Net.
  6. Even if you use Intraweb, it's more productive than other solutions, but isn't flexible, because it's hide the web side on you.

BTW, Shareit has replaced their old web applicatoin that was based on PHP with newer one built with Delphi and Intraweb.

Mohammed Nasman
90% agree. About Intraweb I think is a very good solution for "Intrawebs".Where Delphi Isapi really rocks is making ajax in conjuntion with a Javascript framework like JQuery. This way the productivity is very very high and looks much near to traditional delphi coding.
Francis Lee
There is also WebHub. I never used IntraWeb, so I don't know how it compares. I think ASP.NET was better, but it was more powerful than PHP/RoR which were too much "thin shell between db and presentation".
Marco van de Voort
Intraweb can generate an exe with a built-in web server that can run as a Windows service. I've got one like this with an SQL server back-end, scales well, runs for months at a time without problems.
Argalatyr
Do you have a link to more information about ShareIt using Delphi for their website?
birger
birger, look at this page http://www.atozed.com/IntraWeb/Studies/Element5.EN.aspx
Mohammed Nasman
@Mohammed: the Atozed page says IntraWeb has been used for a in house application named "Management Information System", not for the ShareIt website.
mjustin
A: 

I successfully deployed several commercial applications over the years using Delphi to create ISAPI dll's. The reasoning I used for selecting Delphi was simple. We were a Delphi shop, and the amount of time spent coding was greatly reduced by selecting Delphi as our engine, with some client side Javascript on the browser side. Most of the functionality required was dealing with calls to a back end database which needed to remain encrypted to reduce the possible exposure to robots.

If you do decide to go this route, I strongly recommend using the idDebugger tool to assist in debugging. It really takes the pain out of it.

skamradt
+2  A: 

Delphi has many strong points, but its web application capabilities don't count among those IMO. This is exactly because of the natively-compiled code it generates. Among others:

  1. If you don't control the server (say it's hosted by your ISP) it may be near-impossible to get natively-compiled code installed. Scripted languages are accepted by nearly all the web hosts I can think of.
  2. There are some idiosyncrasies that relate to using DLLs from your ISAPI apps. For example when you load a library using LoadLibrary, the current folder is C:\Windows\System32 which could convenient if you're calling existing code that expected DLLs to reside in the current folder.
  3. Newer versions of IIS also has some security features that make them inconvenient. There is an "Application Protection" setting that must be set to its lowest setting and all approved ISAPI extentions must be separately enabled. On a server you share with others there is a lot of potential for disaster.

Delphi Prism has more to offer since it can do the full compement of .NET-related technologies, including MVC and Silverlight. I do all my web services in C# already and if I had to start a new web project, Delphi Prism or Visual C# would be my choice.

Cobus Kruger
A: 

Wonderful assortment of tools, and methods of creating rich web applications. Also it supports all of the current technologies. Thus you can roll any type of application / web app that you can think of. I have lots and lots of examples.

General Jackson Tackett