2009-07-23 18 views
7

Oceniam możliwość napisania aplikacji internetowej za pomocą Delphi (ISAPI/CGI/...). Nadal nie widzę wystarczających powodów, aby używać Delphi zamiast "klasycznego" środowiska programistycznego.Aplikacja internetowa w Delphi

Jeśli masz doświadczenie w tej dziedzinie, podziel się z nami swoimi uwagami. Czy poleciłbyś Delphi zamiast PHP/Rails/ASP/...? Czy znasz jakieś aplikacje internetowe napisane w Delphi? (nie usługi internetowe)

Odpowiedz

9

Jeśli używasz Delphi dla aplikacji internetowych, otrzymasz następujące korzyści:

  1. wydajność w porównaniu do innych skryptów języków.
  2. Ponowne użycie kodu Delphi.
  3. Praca w świetnym środowisku IDE.
  4. Użyj swojego ulubionego języka (Delphi).
  5. Jeśli używasz Intraweb, możesz uzyskać wsparcie Ajax i produktywne, bez konieczności posiadania głębokiej wiedzy w Internecie lub JavaScript.

ale disadvange:

  1. Wdrożenie nie jest łatwe, trzeba pracować z ISAPI & IIS i rzadko można znaleźć Hosting copmany które oferują ISAPI dla Ciebie.
  2. Tylko platforma Windows, (jeśli korzystasz z freePascal, możesz uzyskać inne).
  3. Brak ram, brak bibliotek pomagających ci z tej strony.
  4. Bardzo słaba dokumentacja po tej stronie, a większość artykułów jest stara.
  5. Praca z Webbrokerem nie przynosi żadnych korzyści w porównaniu do innych rozwiązań, takich jak Asp.Net.
  6. Nawet jeśli korzystasz z Intraweb, jest bardziej wydajny niż inne rozwiązania, ale nie jest elastyczny, ponieważ ukrywa stronę internetową.

BTW, Shareit zastąpił ich stare aplikacje internetowe oparte na PHP i nowsze, zbudowane z Delphi i Intraweb.

+0

90% zgadzam się. O Intraweb Myślę, że to bardzo dobre rozwiązanie dla "Intrawebs". Gdzie Delphi Isapi naprawdę kołysze czyni ajax w połączeniu ze strukturą JavaScript jak JQuery. W ten sposób wydajność jest bardzo wysoka i wygląda bardzo podobnie do tradycyjnego kodowania delphi. –

+0

Istnieje również WebHub. Nigdy nie korzystałem z IntraWeb, więc nie wiem jak to porównać. Myślę, że ASP.NET był lepszy, ale był bardziej wydajny niż PHP/RoR, które były zbyt "cienką powłoką między dbem a prezentacją". –

+0

Intraweb może wygenerować plik exe z wbudowanym serwerem WWW, który może działać jako usługa systemu Windows. Mam takie rozwiązanie z back-endem serwera SQL, skaluje się dobrze, działa przez wiele miesięcy bez problemów. – Argalatyr

3

Przyczyną może być to, że twój model, logika biznesowa lub warstwa dostępu do danych jest napisana w Delphi i musisz użyć tego w swoim webaplikacji. Twarde, możesz użyć swojego modelu, logiki biznesowej lub warstwy dostępu do danych z innych języków programowania przez takie rzeczy jak wywoływanie dll, COM, REST lub SOAP. To nie jest powód, aby używać Delphi do tworzenia aplikacji internetowych.

Innym powodem może być to, że programiści są bardzo dobrzy w Delphi i mniej dobrzy w innych językach.

Korzystanie ze skompilowanego języka zapewnia także korzyści w zakresie wydajności w porównaniu z językami interpretowanymi, takimi jak php, rails i asp.

0

Z powodzeniem wdrożyłem kilka komercyjnych aplikacji na przestrzeni lat, używając Delphi do tworzenia bibliotek ISAPI. Rozumowanie, którego użyłem przy wyborze Delphi, było proste. Byliśmy sklepem Delphi, a ilość czasu spędzonego na kodowaniu została znacznie zmniejszona, wybierając Delphi jako nasz silnik, po stronie klienta po stronie przeglądarki. Większość wymaganych funkcjonalności dotyczyła wywołań do bazy danych zaplecza, które musiały pozostać zaszyfrowane, aby zmniejszyć możliwość narażenia na działanie robotów.

Jeśli zdecydujesz się na tę trasę, zdecydowanie zalecamy użycie narzędzia idDebugger, aby pomóc w debugowaniu. To naprawdę bierze z tego ból.

3

Delphi ma wiele mocnych stron, ale możliwości aplikacji internetowych nie są zaliczane do tych IMO. Dzieje się tak właśnie ze względu na natywnie skompilowany kod, który generuje. Między innymi:

  1. Jeśli nie kontrolujesz serwera (powiedzmy, że jest hostowany przez dostawcę Internetu), może być prawie niemożliwe zainstalowanie natywnie skompilowanego kodu. Języki skryptowe są akceptowane przez prawie wszystkie hosty, o których myślę.
  2. Istnieje kilka charakterystycznych cech związanych z używaniem plików DLL z aplikacji ISAPI. Na przykład przy ładowaniu biblioteki przy użyciu funkcji LoadLibrary bieżącym folderem jest C: \ Windows \ System32, co może być wygodne, jeśli wywołujesz istniejący kod, którego oczekiwane pliki DLL mają znajdować się w bieżącym folderze.
  3. Nowsze wersje IIS mają również pewne funkcje bezpieczeństwa, które sprawiają, że są niewygodne. Istnieje ustawienie "Ochrona aplikacji", które musi być ustawione na najniższą wartość, a wszystkie zatwierdzone rozszerzenia ISAPI muszą być oddzielnie włączone. Na serwerze, który udostępniasz innym, istnieje duży potencjał katastrofy.

Delphi Prism ma więcej do zaoferowania, ponieważ może w pełni wykorzystać technologie związane z technologią .NET, w tym MVC i Silverlight. Mam już wszystkie moje usługi sieciowe w języku C# i jeśli musiałbym rozpocząć nowy projekt internetowy, Delphi Prism lub Visual C# byłby moim wyborem.

0

Wspaniały asortyment narzędzi i metod tworzenia rozbudowanych aplikacji internetowych. Obsługuje również wszystkie obecne technologie. W ten sposób możesz przetasować dowolny rodzaj aplikacji/aplikacji internetowej, o której myślisz. Mam wiele przykładów.

Powiązane problemy