2009-07-23 15 views
7

Estoy evaluando la posibilidad de escribir una aplicación web usando Delphi (ISAPI/CGI/...). Todavía no veo razones suficientes para usar Delphi en lugar de un marco de desarrollo web "clásico".Aplicación web en Delphi

Si tiene experiencia en esta área específica, por favor comparta sus observaciones. ¿Recomendaría Delphi en lugar de PHP/Rails/ASP/...? ¿Conoces alguna aplicación web escrita en Delphi? (no servicios web)

Respuesta

9

Si utiliza Delphi para aplicaciones web, obtendrá los siguientes beneficios:

  1. rendimiento en comparación con otros lenguajes de secuencias de comandos.
  2. Reutilización de su código Delphi.
  3. Trabajando en IDE genial.
  4. Usa tu idioma favorito (Delphi).
  5. Si usas Intraweb, puedes obtener soporte y producción de Ajax sin necesidad de tener un conocimiento profundo en web o JavaScript.

pero el disadvange:

  1. despliegue no es fácil, es necesario trabajar con ISAPI & IIS, y que rara vez se encuentran Hosting copmany que ofrecen ISAPI para usted.
  2. Solo plataforma de Windows, (Si usa freePascal, puede obtener otras).
  3. Sin marcos, sin bibliotecas para ayudarlo de este lado.
  4. Muy poca documentación de este lado, y la mayoría de los artículos son antiguos.
  5. Trabajar con Webbroker no es productivo en comparación con otras soluciones como Asp.Net.
  6. Incluso si usa Intraweb, es más productivo que otras soluciones, pero no es flexible, porque oculta su lado web.

BTW, Shareit ha reemplazado su aplicación web anterior que estaba basada en PHP con una más nueva creada con Delphi e Intraweb.

+0

90% de acuerdo. Acerca de Intraweb, creo que es una muy buena solución para "Intrawebs". Donde Delphi Isapi realmente se agita está haciendo ajax en conjunción con un framework de Javascript como JQuery. De esta forma, la productividad es muy alta y se parece mucho a la codificación delphi tradicional. –

+0

También hay WebHub. Nunca usé IntraWeb, así que no sé cómo se compara. Creo que ASP.NET era mejor, pero era más poderoso que PHP/RoR, que era demasiado "caparazón delgada entre db y presentación". –

+0

Intraweb puede generar un exe con un servidor web incorporado que se puede ejecutar como un servicio de Windows. Tengo uno como este con un back-end de servidor SQL, escala bien, funciona durante meses a la vez sin problemas. – Argalatyr

3

Una razón podría ser que su modelo, lógica comercial o capa de acceso a datos está escrita en Delphi y necesita usarla en su aplicación web. Es difícil, podrías usar tu modelo, lógica comercial o capa de acceso a datos desde otros lenguajes de programación a través de cosas como llamadas dll, COM, REST o SOAP. Entonces esta no es una razón para usar Delphi para desarrollar aplicaciones de web.

Otra razón podría ser que los desarrolladores son muy buenos en Delphi y menos buenos con los otros idiomas.

El uso de un lenguaje compilado también le brinda una ventaja de rendimiento sobre los idiomas interpretados, como php, rieles y asp.

0

Implementé con éxito varias aplicaciones comerciales a lo largo de los años usando Delphi para crear ISAPI dll. El razonamiento que utilicé para seleccionar Delphi fue simple. Éramos una tienda Delphi, y la cantidad de tiempo dedicado a la codificación se redujo enormemente al seleccionar Delphi como nuestro motor, con un lado del cliente Javascript en el lado del navegador. La mayor parte de la funcionalidad requerida se refería a las llamadas a una base de datos back-end que debía permanecer encriptada para reducir la posible exposición a los robots.

Si decide seguir esta ruta, le recomiendo usar la herramienta idDebugger para ayudar en la depuración. Realmente le quita el dolor.

3

Delphi tiene muchos puntos fuertes, pero sus capacidades de aplicación web no cuentan entre esas IMO. Esto es exactamente debido al código compilado de forma nativa que genera. Entre otros:

  1. Si no controla el servidor (digamos que está alojado por su ISP) puede ser casi imposible obtener el código compilado de forma nativa. Los lenguajes con scripts son aceptados por casi todos los servidores web que se me ocurren.
  2. Existen algunas idiosincrasias relacionadas con el uso de archivos DLL de sus aplicaciones ISAPI. Por ejemplo, cuando carga una biblioteca usando LoadLibrary, la carpeta actual es C: \ Windows \ System32 que podría ser conveniente si llama al código existente que las DLL esperadas residen en la carpeta actual.
  3. Las versiones más recientes de IIS también tienen algunas características de seguridad que las hacen inconvenientes. Hay una configuración de "Protección de la aplicación" que se debe establecer en su configuración más baja y todas las extensiones ISAPI aprobadas deben habilitarse por separado. En un servidor que comparte con otros, existe un gran potencial de desastre.

Delphi Prism tiene más para ofrecer, ya que puede hacer toda la competencia de las tecnologías relacionadas con .NET, incluidas MVC y Silverlight. Ya tengo todos mis servicios web en C# y si tuviera que iniciar un nuevo proyecto web, Delphi Prism o Visual C# serían mi elección.

0

Maravillosa variedad de herramientas y métodos para crear aplicaciones web enriquecidas. También es compatible con todas las tecnologías actuales. Por lo tanto, puede transferir cualquier tipo de aplicación/aplicación web que pueda imaginar. Tengo muchos y muchos ejemplos.

Cuestiones relacionadas