2009-07-23 30 views
7

Tôi đang đánh giá khả năng viết một ứng dụng web bằng Delphi (ISAPI/CGI/...). Tôi vẫn không thể thấy đủ lý do để sử dụng Delphi thay vì khung công tác phát triển web "cổ điển".Ứng dụng web ở Delphi

Nếu bạn có kinh nghiệm trong lĩnh vực cụ thể này, vui lòng chia sẻ nhận xét của bạn. Bạn có muốn giới thiệu Delphi thay vì PHP/Rails/ASP/...? Bạn có biết bất kỳ ứng dụng web nào được viết bằng Delphi không? (không phải dịch vụ web)

Trả lời

9

Nếu bạn sử dụng Delphi cho các ứng dụng web, bạn sẽ nhận được những lợi ích sau:

  1. Hiệu suất so với kịch bản ngôn ngữ khác.
  2. Sử dụng lại mã Delphi của bạn.
  3. Làm việc trong IDE tuyệt vời.
  4. Sử dụng ngôn ngữ yêu thích của bạn (Delphi).
  5. Nếu bạn sử dụng Intraweb, bạn có thể được xây dựng trong hỗ trợ và sản xuất Ajax mà không yêu cầu phải có kiến ​​thức sâu về web hoặc JavaScript.

nhưng disadvange:

  1. triển khai là không dễ dàng, bạn cần phải làm việc với ISAPI & IIS, và bạn hiếm khi tìm thấy Hosting copmany cung cấp ISAPI cho bạn.
  2. Chỉ nền tảng cửa sổ, (Nếu bạn sử dụng freePascal bạn có thể nhận được người khác).
  3. Không có khung công tác, Không có thư viện nào giúp bạn ở bên này.
  4. Tài liệu rất kém về phía này và hầu hết các bài viết đều cũ.
  5. Làm việc với Webbroker không hiệu quả so với các giải pháp khác như Asp.Net.
  6. Ngay cả khi bạn sử dụng Intraweb, nó hiệu quả hơn các giải pháp khác, nhưng không linh hoạt, bởi vì nó ẩn mặt web trên bạn.

BTW, Shareit đã thay thế ứng dụng web cũ dựa trên PHP bằng ứng dụng web mới hơn được xây dựng với Delphi và Intraweb.

+0

90% đồng ý. Giới thiệu về Intraweb Tôi nghĩ là một giải pháp rất tốt cho "Intrawebs". Nơi Delphi Isapi thực sự đá đang làm ajax trong conjuntion với một khuôn khổ Javascript như JQuery. Bằng cách này, năng suất rất cao và có vẻ gần với mã hóa delphi truyền thống. –

+0

Ngoài ra còn có WebHub. Tôi không bao giờ sử dụng IntraWeb, vì vậy tôi không biết nó so sánh như thế nào. Tôi nghĩ rằng ASP.NET là tốt hơn, nhưng nó đã mạnh hơn PHP/RoR đó là quá nhiều "vỏ mỏng giữa db và trình bày". –

+0

Intraweb có thể tạo ra một exe với một máy chủ web tích hợp có thể chạy như một dịch vụ Windows. Tôi đã có một như thế này với một máy chủ SQL back-end, quy mô tốt, chạy trong nhiều tháng tại một thời điểm mà không có vấn đề. – Argalatyr

3

Lý do có thể là mô hình, logic nghiệp vụ hoặc lớp truy cập dữ liệu của bạn được viết bằng Delphi và bạn cần sử dụng nó trong ứng dụng web của bạn. Al khó khăn, bạn có thể sử dụng mô hình của bạn, logic kinh doanh hoặc lớp truy cập dữ liệu từ các ngôn ngữ lập trình khác thông qua những thứ như dll cuộc gọi, COM, REST hoặc SOAP. Sau đó, đây không phải là một lý do để sử dụng Delphi để phát triển các ứng dụng web nữa.

Một lý do khác có thể là các nhà phát triển rất giỏi trong Delphi và kém hiệu quả hơn với các ngôn ngữ khác.

Sử dụng ngôn ngữ được biên dịch cũng mang lại cho bạn lợi ích hiệu suất trên các ngôn ngữ thông dịch như php, đường ray và asp.

0

Tôi đã triển khai thành công một số ứng dụng thương mại qua nhiều năm sử dụng Delphi để tạo tệp ISAPI dll. Lý do tôi sử dụng để chọn Delphi rất đơn giản. Chúng tôi là một cửa hàng Delphi, và số lượng thời gian dành cho mã hóa đã giảm đáng kể bằng cách chọn Delphi làm công cụ của chúng tôi, với một số Javascript phía khách hàng ở phía trình duyệt. Hầu hết các chức năng cần thiết đã được giao dịch với các cuộc gọi đến một cơ sở dữ liệu phía sau mà cần phải được mã hóa để giảm khả năng tiếp xúc với robot.

Nếu bạn quyết định đi tuyến đường này, tôi khuyên bạn nên sử dụng công cụ idDebugger để hỗ trợ gỡ lỗi. Nó thực sự lấy nỗi đau của nó.

3

Delphi có nhiều điểm mạnh, nhưng khả năng ứng dụng web của nó không được tính trong số IMO đó. Điều này là chính xác vì mã được biên dịch tự nhiên mà nó tạo ra. Trong số những người khác:

  1. Nếu bạn không kiểm soát máy chủ (do ISP của bạn lưu trữ) có thể gần như không thể cài đặt mã được biên dịch tự nhiên. Ngôn ngữ kịch bản được chấp nhận bởi gần như tất cả các máy chủ web tôi có thể nghĩ đến.
  2. Có một số thông tin cá nhân liên quan đến việc sử dụng các tệp DLL từ các ứng dụng ISAPI của bạn. Ví dụ khi bạn tải một thư viện bằng cách sử dụng LoadLibrary, thư mục hiện tại là C: \ Windows \ System32 mà có thể thuận tiện nếu bạn đang gọi mã hiện có dự kiến ​​DLL nằm trong thư mục hiện hành.
  3. Phiên bản mới hơn của IIS cũng có một số tính năng bảo mật khiến chúng trở nên bất tiện. Có cài đặt "Bảo vệ ứng dụng" phải được đặt ở cài đặt thấp nhất và tất cả các phạm vi ISAPI được phê duyệt phải được bật riêng. Trên máy chủ bạn chia sẻ với người khác, có rất nhiều khả năng xảy ra thảm họa.

Lăng kính Delphi cung cấp nhiều hơn vì nó có thể thực hiện đầy đủ các công nghệ liên quan đến .NET, bao gồm MVC và Silverlight. Tôi làm tất cả các dịch vụ web của tôi trong C# đã và nếu tôi đã bắt đầu một dự án web mới, Delphi Prism hoặc Visual C# sẽ là sự lựa chọn của tôi.

0

Loại công cụ tuyệt vời và các phương pháp tạo ứng dụng web phong phú. Ngoài ra nó hỗ trợ tất cả các công nghệ hiện tại. Vì vậy, bạn có thể cuộn bất kỳ loại ứng dụng/ứng dụng web nào mà bạn có thể nghĩ đến. Tôi có rất nhiều ví dụ.

Các vấn đề liên quan