2009-03-27 4 views
8

Mam zamiar zbudować rozwiązanie "pod klucz" dla rynku wertykalnego i chciałbym zaoferować obie opcje: oprogramowanie jako usługę i dać im możliwość hostowania aplikacji na własną rękę. Innymi słowy, zamierzam mieć podobne opcje wdrażania, jak Joel's FogBugz.Django lub CodeIgniter dla aplikacji internetowej "pod klucz"

Jestem programistą w Pythonie i mogłem przelecieć nad projektem z Django. Jest kilka powodów, dla których wolę PHP:

1) Instalacja Django i konfiguracja zakłada, że ​​masz dostęp do powłoki (mój cel nie jest typem programisty). Chociaż mogłem zaoferować usługę instalacji, ale nie na ich serwerach.

2) Django działa tylko na niektórych określonych hostach, które muszą zachować szczególną ostrożność, aby go włączyć. Zainstalowanie mod_python/mod_wsgi i najprawdopodobniej mniejszość moich potencjalnych klientów miałaby uprawnienia administratora, a nawet cPanel.

3) Używanie PHP oznaczałoby, że mogę uruchomić go na ich istniejącym serwerze. Nie musiałbym przenosić ich na serwer obsługujący Django, ani żadnych przestojów dla ich wiadomości e-mail podczas aktualizacji DNS.

Z drugiej strony, mam bardzo małe doświadczenie z PHP. Smarty jako szablonowy język wygląda ładnie i działa podobnie do szablonów Django. Nie oferuje jednak dziedziczenia szablonów, z wyjątkiem bardzo hackish sposób, w który chciałbym nie używać, ponieważ może przerwać aplikację, jeśli projektant je mes. Co myślisz? Z góry dziękuję!

+0

Oczywiście PHP będzie łatwiejsze do zainstalowania niż aplikacja w Pythonie, ale otwierasz całą puszkę robaków pod kątem konfiguracji serwera sieciowego (Apache, IIS, inne?), Wersje PHP (PHP4 i przestarzałe, błędne PHP5), które mają użytkownika, który otrzymuje serwer obsługujący twój PHP. Masz bazę danych ... –

+0

Brzmi jak te same problemy, które dręczą WordPressa ... – GloryFish

+0

Nie potrzebujesz Smarty, jeśli używasz CodeIgniter, prawda? To już oddziela widok od kontrolera. Zawiera mechanizm buforowania. –

Odpowiedz

4

Wdrażanie jest oczywiście problemem dla wszystkich aplikacji internetowych nie opartych na PHP, ale myślę, że rzeczy się poprawiają dzięki dostawcom usług typu DreamHost/Engineyard, którzy dostarczają Ruby/Python itp. Po wyjęciu z pudełka. Wygląda również na to, że w tym tygodniu będzie dużo dyskusji na temat PyCon na temat sposobów naprawienia problemów z wdrażaniem. Wzrost popularności Django, Turbogears i Pylons napędza popyt na lepsze rozwiązania wdrożeniowe.

Powiedziałbym, że jeśli twój rynek docelowy to ludzie hostingujący na najniższym poziomie $ 12 rocznie typ ISP to nie sądzę, że masz inny wybór niż PHP.

Wreszcie, nie zgadzam się z Wami, że uruchamiam PHP i Django na tym samym serwerze. Używam kilku aplikacji PHP na moim serwerze z Apache i dziesiątkami stron Django z mod_wsgi w trybie demona. Uruchamianie tego w ten sposób oznacza, że ​​interpreter Pythona nie używa pamięci RAM w robotach Apache i vice versa, interpreter PHP nie zanieczyszcza moich demonów mod_wsgi :)

+0

Tak, mógłbym je uruchomić również na stronie, na przykład w sieci, ale to nie jest rodzaj dostawcy usług hostingowych, który miałby mój klient. – Lorenzo

+1

+1 z dopiskiem: To niefortunne, że chcesz zaoferować nie tylko SaaS, ale ograniczyć swój produkt końcowy z "samopowstającymi" możliwymi utrudnieniami. Jak wspomniał Van Gale, jeśli twój rynek docelowy jest typem * nie chce * aplikacji SaaS, ale również ma trudności z jego instalacją lokalnie (zakładając Django), możesz być zmuszony do spędzenia czasu w PHP. Ale czy w końcu będziesz mieć wystarczająco dużą bazę klientów, aby zapłacić za dodatkowy czas, który zainwestowałeś? Jak wygląda ROI, biorąc pod uwagę, że powiedziałeś, jak łatwo byłoby Ci to zrobić w Django? –

3

Jeśli chcesz, aby Twoja aplikacja była głównym nurtem, to twój prawie wymuszony iść z PHP. Przejście z Django do PHP jest dużo łatwiejsze niż przejście z PHP do Django. Znasz standardy, po prostu musisz nauczyć się składni PHP i funkcji.

Zdecydowanie skorzystam z frameworka PHP. Symfony i akelos są bardzo podobne do Railsów (blisko Django). Na drugim, niż to, co zapoczątkowuje Code Igniter, uporządkuj swój kod.

2

Na podstawie własnych wniosków, chciałbym iść z CodeIgniter. Wygląda na to, że będzie mnóstwo pracy, pomagając klientom zainstalować aplikację internetową i zakładam, że tego nie chcesz.

Stwórz prostą w instalacji aplikację internetową, dzięki której możesz skoncentrować się na jej usprawnieniu i sprzedaży, zamiast pracować jako administrator lub pisać obszerne samouczki dotyczące instalacji.

(Powiedziawszy to, FogBugz nie był łatwy do zainstalowania na naszym serwerze Linux, mimo że został napisany w PHP, zabrał mnie i mojego kolegę (obydwaj programiści!) Więcej niż cały dzień pracy do zainstalowania.Myślę więc, że zawsze będą problemy z instalacją samodzielnie hostowanych aplikacji internetowych.)