2009-10-06 12 views
12

Mam zamiar rozpocząć rozwój nowej strony internetowej i robię badania na PHP Frameworks. Nie jestem zaawansowanym programistą PHP, ale od kilku lat rozwijam strony internetowe i aplikacje (w asp.net).Czy dokonuję właściwego wyboru, wybierając Yii jako mój framework PHP?

Moja strona będzie głównie oparta na AJAX (przy użyciu jQuery) i wykonująca wiele połączeń z serwisami internetowymi. Po przeprowadzeniu badań, oto co wymyśliłem:

CakePHP: Początkowo rozwijało się w tym, ale okazało się to zbyt skomplikowane. Fakt, że zmusza cię do używania i uczenia się wszystkich nowych rzeczy tylko po to, by go użyć, był nieco zniechęcający, więc odłożyłem to na razie na bok.

Zend: Wykonanie ram pozostawia mnie trochę sceptycznie, ale słyszałem, że ma świetne wsparcie dla tworzenia serwisów internetowych. Słyszałem też, że było to trochę skomplikowane.

CodeIgniter: Nie ma prawdziwego powodu, aby nie używać tego. Na podstawie tego, co przeczytałem, CodeIgniter i Yii są bardzo podobne, ale Yii jest nieco szybszy i nie ma niepotrzebnego kodu dla PHP4 (ponieważ planuję rozwijać wyłącznie w PHP5).

Jeśli chodzi o Yii, jedyne, co mnie przeraża to to, że jest nowsza od innych frameworków, więc ma mniejszą społeczność. Wydaje się, że nie ma też mnóstwa obsługi serwisów internetowych (tylko SOAP, z mojego zrozumienia) w przeciwieństwie do Zend.

Więc moje pytania sprowadzają się do:

  1. Gdyby te rzeczy martwić mnie? (nie tak duża społeczność, słaba obsługa serwisów internetowych)
  2. Czy jest jeszcze coś, co powinienem sprawdzić?
  3. Czy mój wybór Yii nad innymi ramami jest odpowiedni dla aplikacji internetowej bazującej głównie na AJAX?

Bara

+0

Dla każdego, kto zastanawia się, który framework wybrać, przeczytać i obejrzeć Wujka Boba: http://stackoverflow.com/a/18853233/1614973 –

Odpowiedz

11

Musisz udokumentować wymagania swojego projektu i powody, dla których struktura jest wymagana w pierwszej kolejności. Następnie spójrz na przyszłość strony i związaną z nią funkcjonalność. Następnie wybierz strukturę zapewniającą najsilniejszą funkcjonalność spełniającą te wymagania. Nie dajcie się zwieść opiniom. Przeczytaj dokumentację i wskaż elementy, których chcesz użyć, zawęź wyszukiwanie i eksperymentuj z nimi wszystkimi.

Wykonywanie należytej staranności opłaca się nie tylko dla ciebie, ale dla klienta, który płaci rachunki.

Podsumowując:

  1. Określenie wymaganych komponentów miejscu.
  2. Struktury badawcze i identyfikacja dopasowań do Twoich wymagań.
  3. Eksperymentuj i ucz się, które z nich najlepiej sprawdzają się w tej pracy.

Edycja/Opinion Dodatki:

Jeśli jest to tylko projekt rozwój osobisty, wtedy patrzę w użyciu, co będzie wyglądać najlepiej w swoim życiorysie. Zend ma największą nazwę i solidny produkt, więc wygrywają domyślnie, ponieważ jest to stara "nie można uzyskać zwolnienia za argumenty IBM". Niektórzy wielcy gracze używają Symphony, ale jest to duża krzywa uczenia się. Yii, Cake, Kohana mają swoje plusy i minusy i są wspaniałe na swój sposób.

+0

dobra odpowiedź, znacznie lepiej niż moja :) –

+0

jesteś miły. :-) –

+0

Nie ma klienta, jest to projekt przede wszystkim dla mnie, więc mogę się uczyć, bawić i być może używać w przyszłości. Witryna będzie wymagać tylko jednej strony, a większość interakcji będzie wyświetlała treść w zależności od akcji. Prawdopodobnie załaduję więcej z innej strony. Jak widać z mojego pierwszego wpisu, Zrobiłem badania niektórych frameworków, po prostu pytałem, czy dokonałem właściwego wyboru, czy też coś przeoczyłem. CakePHP to naprawdę jedyny, którego naprawdę dogłębnie próbowałem i nie spodobało mi się to. Jeszcze jedno, chciałbym podkreślić, że tak naprawdę nie chcę robić żadnych rzeczy z linii poleceń. – Bara

0

Prawie każdy nowoczesny framework internetowej ma doskonałą obsługę użyciem nagłówków XHR/Ajax. To naprawdę sprowadza się do twoich osobistych preferencji w oparciu o twoją aktualną znajomość języka w odniesieniu do ram, które ci się najbardziej podoba.

Chciałbym również doradzić Kohanie, ponieważ jest całkiem stabilna, dojrzała i ma doskonałe wsparcie.

Naprawdę nie będziecie wiedzieć, dopóki nie bawicie się frameworkiem, sugeruję zanurzenie palców u kilku z nich.

4

Jako główny twórca Yii, być może nie jestem całkiem uczciwa (ale chcę!), Jednak dla obiektywności powinienem wspomnieć, że wcześniej próbowałem zarówno Zend, jak i CodeIgniter.

We wcześniejszych wydaniach Yii, benchmark tests były bardzo imponujące, a ponieważ przywództwo nie chce, aby te ramy były nadęte, nie wszystkie funkcje zostały zaimplementowane. Może się to wydawać trochę rozczarowujące, ale jeśli masz wystarczające doświadczenie w programowaniu i projektowaniu, już wiesz o jego potencjale.

Z drugiej strony, Yii nadal obsługuje bardzo szeroką gamę praktycznych i rzeczywistych rozwiązań. Jest to nieco subiektywne, ale jeśli spojrzysz na te często używane klasy, dowiesz się, jakie są ich mocne problemy.

Dokumentacja (zwłaszcza API) jest poważnie dostrojona i bardzo specyficzna, co może wydawać się dziwne i zimne w pierwszych godzinach, ale w dłuższej perspektywie zdecydowanie ułatwi to pracę (w przeciwieństwie do tych modnych osoby, które chciałyby zaprzyjaźnić się z podpisami metod).

Wszystko to przyczynia się do twojego czasu rozwoju. Ludzie są w stanie stworzyć poważne aplikacje w ciągu kilku tygodni!

+0

W jaki sposób obsługuje się 3rd party dla Yii, w szczególności dla dodatków/modułów? – Bara

+0

Dwóch głównych programistów (w tym lider) również pracuje nad projektem o nazwie Zii, który jest oficjalnym repozytorium rozszerzeń dla Yii. Do tej pory nie jest jeszcze tak dojrzały, ale istnieje prawie setka dodanych przez użytkowników rozszerzeń. Z założenia architektura pozwala również na łatwe podłączanie innych bibliotek (takich jak klasy Zend). – pestaa

5

Użyłem być deweloper Symfony, CakePHP, Zend Framework, Kohana i codeigniter, ale około 1 rok temu odkryłem Yii, Mój pierwszy (i drugi i trzeci) wrażenie było doskonałe:

  • Łatwy do nauczenia
  • łatwe do wdrożenia
  • łatwy w obsłudze i przedłużyć
  • bardzo, bardzo, bardzo szybki
  • poparcie wielu językach
  • Obsługa wielu programów, serwerów i akceleratorów
  • Obsługa MySQL, PostgreSQL, SQLite i Oracle ... Obsługa Firebird jest beta.
  • Wiele innych funkcji, których teraz nie pamiętam.

Pobierz, wykorzystaj i zaimplementuj swój projekt za pomocą ... będziesz zaskoczony.

Teraz zadawać pytania:

  1. Gdyby te rzeczy martwić mnie? Społeczność nie jest tak mała, jak się wydaje. Obecnie Yii ma aktywną społeczność. Nie jesteśmy kilkoma.
  2. Czy jest jeszcze coś, na co powinienem zaglądać? Powinieneś sprawdzić swoje potrzeby: Baza danych, której będziesz używać, serwer WWW i inne, jak powiedział Randy.
  3. Czy mój wybór Yii nad innymi ramami jest odpowiedni dla aplikacji internetowej bazującej głównie na AJAX? Tak to jest.
+0

Nie sądzę, że dałeś wystarczająco dużo czasu, aby naprawdę nauczyć się frameworków. Tak wiele frameworków uczy się w tak krótkim czasie. –

+1

Nauczyłem się tych frameworków kilka lat temu, jednak odkąd nauczyłem się YiiFramework, nie pracuję z nimi. Moje doświadczenia w zakresie frameworków to: Kohana (6 miesięcy), CodeIgniter (2y), ZF (1y), CakePHP (1y), Symfony (6m) – robregonm

+0

Zgadzam się, że Yii jest łatwy do nauczenia. Jest to dla mnie niezwykle ważne. Nie tylko ułatwia to korzystanie z innych programistów, ale pozwala od razu rozpocząć tworzenie aplikacji zamiast spędzać dni ucząc się, jak zrobić coś, czego każdy program będzie potrzebował. –

4

W 1 1/2 roku z Yii, mam około 15 stron online, wszystkie działają bezbłędnie, szybko, a Yii bardzo łatwo je stworzyć. Większość witryn nie jest banalna, są to duże witryny z prawdziwego świata. Na życzenie mogę podać linki.

Mogę was zapewnić, że wybierając Yii na pewno będziecie mogli robić dowolne strony, które będą potrzebne, a będzie to szybkie i bezpieczne.

Powiązane problemy