2009-07-26 22 views
10

Jestem programistą .Net/SQL Server za pośrednictwem mojej codziennej pracy, a po stronie robię jakiś obiektywny rozwój C dla iPhone'a. Chciałbym stworzyć serwis internetowy, a ponieważ Dreamhost obsługuje mySql, python, ruby ​​on rails i PHP5, chciałbym go stworzyć używając jednego z tych języków. Jeśli nie masz doświadczenia w pythonie, Ruby on Rails lub PHP, z czym byś się podziewał i dlaczego? Usługa w zasadzie po prostu pobiera żądanie i rozmawia z bazą danych MySql.Usługa sieci Web: PHP lub Ruby on Rails lub Python?

Uwaga: Planowano użycie protokołu SOAP. Chociaż jestem otwarty na sugestie, ponieważ mam czysty plan w tych językach.

+0

Czy to wyklucza osoby, które znają tylko jeden język, ponieważ są oczywiście stronnicze. –

+0

Uzgodnione. Bez wyjątków, ale może zanotuj, który z trzech (python, ruby ​​na szynach, php) wiesz. – Codezy

+0

Tak, tylko wiedząc, że jeden z nich zdecydowanie stronniczy ode mnie. – chaos

Odpowiedz

11

Ruby-on-rails, Python i PHP byłyby doskonałym wyborem do stworzenia usługi internetowej. Wszystkie języki są w stanie (oczywiście Ruby jest językiem, w którym napisana jest Ruby on Rails), mają silne struktury jeśli to jest twoje upodobanie (Django jest dobrym przykładem Pythona i coś takiego jak Drupal lub CakePHP będącego dobrym przykładem PHP) i może grać ładnie z MySql.

Powiedziałbym, że to zależy głównie od twoich przeszłych doświadczeń i tego, z czym najbardziej będziesz zadowolony. Zakładając, że tworzysz C# na platformie .NET i masz doświadczenie z Objective-C PHP może być dobrym wyborem, ponieważ jest to z pewnością z rodziny języków C. Tak więc składnia może być bardziej znana i nieco łatwiejsza w obsłudze.

Jestem programistą PHP, więc dam ci to pochopnie i pozwól, by bardziej kompetentni programiści wraz z innymi podali swoje. PHP jest ściśle zintegrowane z Apache, dzięki czemu można wykonać niektóre z bardziej prozaicznych zadań, z którymi musiałbyś sobie poradzić z innymi nieco trywialnymi (chociaż podczas pracy z frameworkiem zazwyczaj są usuwane). Model PHP documentation nie ma sobie równych i jest świetnym źródłem do łatwego wstawania. Ma przyzwoitą szybkość i istnieją dobre mechanizmy buforowania, aby uzyskać więcej wydajności z tego. Wiem, że rozpoczęcie pracy z PHP na Dreamhostu jest banalne. Nie robiłem tego w innych przypadkach, chociaż nie zdziwiłbym się, gdyby te były równie łatwe.

Sugeruję, aby nieco pogłębić dokumentację i struktury dla każdego języka, aby dowiedzieć się, co najbardziej Ci odpowiada.

2

Rozwinąłem w Pythonie i PHP i moje osobiste preferencje byłoby Python.

Django to świetny, łatwy do zrozumienia i lekki framework dla Pythona. Django Site

Jeśli wybrałeś trasę PHP, poleciłabym Kohana. Kohana Site

+1

Nie rozumiem, jak ta odpowiedź odnosi się do problemu (usługa sieciowa). – Randell

0

Jest to niezwykle subiektywne pytanie, a nawet jeśli podałeś nam szczegóły swojej usługi, możemy spierać się o najlepszy wybór przez cały dzień.

Jestem programistą PHP, więc mogłem bez problemu usunąć podstawowy serwis internetowy. Dostępne jest z PHP, które poradziłoby sobie z tym bardzo ładnie.

Mimo to, Python i Django oferują świetną funkcjonalność i są na mojej liście rzeczy do nauczenia się. Dzięki temu możesz osiągnąć coś bardzo szybko.

6

Krótka odpowiedź brzmi, pójdę z PHP.

Mam pewne doświadczenie we wszystkich dwóch z trzech opcji: PHP, Ruby z Ruby on Rails.Gdybym jednak nie miał żadnego doświadczenia, a ja chciałem wytyczyć i stworzyć serwis internetowy, który w dużej mierze po prostu wchodzi w interakcje z bazą danych i chciałem to zrobić w ten weekend, wybrałbym PHP. Gdybym nie miał żadnego doświadczenia z żadnym z powyższych języków i chciałem zrobić projekt w ciągu kilku tygodni, wybrałbym szyny. Osobiście mam znacznie mniej doświadczenia z Pythonem i Django, więc nie mogę tego komentować.

Rubinowy z Rubinami na szynach: Pracuję z Ruby i rubinem na szynach już od kilku lat. Wcześniej miałem doświadczenie w Javie (co jest mniej więcej analogiczne do twojego doświadczenia z .Net). Zauważyłem, że przejście do torów jest trochę wyboiste. Chciałem wskoczyć i zacząć rozumieć, jak działają szyny i jak budować aplikację internetową, ale bez zrozumienia ruby ​​było to trudne. Istnieje wiele przykładów, które mogą pomóc w szybkim zbudowaniu aplikacji, ale często czasy na szybką grę odbywają się kosztem zrozumienia. Aby zbudować aplikację internetową o stałych szynach, musisz dobrze zrozumieć strukturę ruby ​​i szyn. Railsy są fantastyczne, ale do budowania czegoś, co rozumiesz i szybko zaczynasz, może nie być najlepszym wyborem. Co więcej, hosting railsów przeszedł długą drogę (możesz powiedzieć, ponieważ zaczynamy widzieć, że oferuje go wiele hostów), ale wciąż istnieją pewne nierówności.

PHP: PHP jest fantastyczne, jeśli chodzi o szybkie uruchomienie aplikacji. Możesz przesyłać pliki i natychmiast sprawdzić, czy twój wynik działa. Jeśli utrzymasz swoją konfigurację bazy danych w czystości (i brzmi tak, jak wolisz, ponieważ pracujesz z bazami danych przez cały dzień), PHP nie powinno być takie złe. Spojrzałbym na obiektowego relacyjnego mappera, aby twój serwer był jeszcze czystszy. Słyszałem, że dobrze myśli o Doctorine.

Python: Sądzę, że prawdopodobnie używałbyś Django z Pythonem. Z tego powodu prawdopodobnie natkniesz się na te same przeszkody, które miałbyś z rubinem + rubinem na szynach.

Jeśli chcesz zacząć uczyć się Ruby na Railsach, polecam sprawdzenie na stackoverflow this thread.

Wreszcie, jeśli chciałbyś pracować ze strukturą PHP, istnieje świetny wątek na tym here on stackoverflow.

+0

Dziękuję, bardzo dobry wgląd. – Codezy

+0

Krzywa uczenia Django nie jest tak stroma. Dokumenty są doskonałe. –

+0

Łącze do frameworowania PHP nie działa, więc próbowałem znaleźć odpowiednie rozwiązanie. Dokonam edycji, jeśli znajdę jeden lepszy. http://www.webhostingreviewboards.com/development/top-ten-best-php-frameworks-for-2014/ – AppsIntheParkNYC

1

Pierwsze programowanie, jakie kiedykolwiek zrobiłem, było z PHP i na pewno bardzo łatwo zacząć pracę z PHP na Dreamhost (używam Dreamhosta na moim blogu opartym na PHP, a także na projekcie hostingowym Ruby on Rails). Ruby on Rails jest również łatwy do przejścia na Dreamhost, teraz, gdy zaczęli używać Passenger. Nauczyłem się Ruby i Ruby na Railsach kilka lat po tym, jak poczułem się komfortowo w PHP i wolę go od PHP, ponieważ czuję się o wiele czystszy i uwielbiam wzór kontrolera Model View w celu oddzielenia kodu od treści. Próbowałem później nauczyć się Django, ale znalazłem się sfrustrowany, ponieważ znaczenie "view" było inne w Django niż w Rails/MVC, więc nie zaszedłem daleko.

Jeśli robisz szybko i brudno, możesz przejść do PHP. Można spojrzeć na różne frameworki PHP, takie jak CakePHP czy Symfony, aby uzyskać czystszy i bardziej zorganizowany rozwój. Jeśli chcesz poświęcić więcej czasu na naukę (najpierw dla języka Ruby, potem dla frameworka Ruby on Rails), możesz przejść z Ruby on Rails. Naprawdę lubię tworzenie Railsów, ale istniała krzywa uczenia się, ponieważ nauczyłem się zarówno Ruby, jak i Railsów w tym samym czasie. Jest tam dużo information o wdrażaniu aplikacji Railsowych na Dreamhost.