2014-12-11 10 views
5

Mam zamiar uruchomić duży system zarządzania nieruchomościami w chmurze. Ten system hotelowy już istnieje w technologiach VB.net, a teraz przenosimy cały system do sieci.Jak nadążyć za ewolucją PHP Frameworks?

Staramy się decydować między ASP.net lub PHP, myślimy na PHP, ponieważ ASP.net będzie kosztować zbyt wiele na licencjonowaniu i serwerach. Więc jest Laravel, Symphony, CodeIgniter, Zend, itd.

Chodzi o to, że projekt ten ma żyć jeszcze przez wiele lat. Ale czujemy się ograniczeni przez używanie frameworka PHP, ponieważ za każdym razem, gdy framework jest aktualizowany, musimy zaktualizować cały nasz system. Na przykład ... teraz Laravel został zaktualizowany z wersji 4 na 5. I zmieniła się cała struktura folderów. Nie mogę sobie wyobrazić, że nasz duży system musi być aktualizowany i być na bieżąco z każdą aktualizacją wersji Laravel. Jak nadążasz z tym?

Co się stanie, jeśli Laravel zniknie, teraz jest modna. Ale widzimy, że struktury PHP przychodzą i odchodzą.

Czy byłoby rozsądniej nie używać frameworka php i budować wszystko od zera, aby mieć nad nim większą kontrolę?

+0

Zależy całkowicie od tego, czy jesteście programistami. Osobiście, gdybym miał wybór, unikałbym frameworków PHP, tak żebym miał 100% kontroli nad wszystkim, ale to tylko moja osobista opinia. – Novocaine

+0

Jeśli jesteś przyzwyczajony do pracy z .net, to jesteś już przyzwyczajony do pracy z frameworkiem, więc nie odrzuciłbym pracy z frameworkiem w PHP; oszczędza ci to wiele wysiłku w porównaniu do pisania własnego i ponownego wynajdywania koła jeszcze raz –

+2

Ale podczas gdy niektóre frameworki PHP przychodzą i odchodzą, inne, takie jak ZF i Symfony są dobrze ugruntowane i mają aktywne, dobrze prosperujące społeczności i nie są ". prawdopodobnie znikną z kaprysu; i chociaż poważna aktualizacja do frameworka może przerwać kompatybilność wsteczną, nie jest to częste i nie musisz wymuszać aktualizacji przy każdej większej zmianie: –

Odpowiedz

3

Po pierwsze, należy pamiętać, że używanie frameworka ma na celu głównie rozwiązanie dwóch problemów;

  1. Wymuś kodowanie w określonym "formacie". Wspólna praca nad kodem może generować "zhakowane" rozwiązania lub nieosiągalny kod. Struktura może być siłą, która pomaga utrzymać te rzeczy w ryzach.
  2. Ramy dostarczane są z pewnym kodem źródłowym, który obsługuje na przykład abstrakcję bazy danych, routing itp., Co może zaoszczędzić wiele czasu na rozwój.

Dodatkowa rzecz o czym wspomnieć; przy wdrażaniu nowych funkcji istnieje możliwość, że ktoś je zbudował wcześniej, a może nawet lepiej, niż byś się spodziewał.

Utrzymywanie zgodności z ramą nie powinno być zbyt trudne, o ile przestrzega się wytycznych dotyczących kodowania w ramach. W przypadku większych frameworków nowe wydania mają (lub po pewnym czasie generują) samouczki dotyczące przenoszenia poprzedniej wersji do nowego formatu.

Wybór systemu, którego należy użyć, jest kwestią opartą na opiniach i nieodpowiednim do omawiania tutaj, ale należy pamiętać, że wybór struktury zależy od potrzeb. Sprawdź także, jak duża jest społeczność i ile istnieje wtyczek/kodu innej firmy (im więcej, tym dłużej będzie obowiązywać framework).

Powodzenia!

3

Można zobaczyć ramy jako bazę do rozpoczęcia. Pamiętaj, że dostajesz cały kod! Spójrz na kod. Czy lubisz to? Czy pasuje do twoich wymagań? Korzystanie z frameworka daje ogromną przewagę nad robieniem wszystkiego od zera.

Ale czy musisz zaktualizować? Czy chcesz aktualizować swój własny kod bez przerwy? Być może nie zawsze jest to potrzebne. Oczywiście, jeśli jest problem z bezpieczeństwem, powinieneś coś z tym zrobić, ale zobaczenie każdej aktualizacji w systemie jako niezbędnej rzeczy jest po prostu nonsensem.

Buduję projekty skierowane do konkretnych wersji frameworków i bibliotek. Staram się budować elastyczność, aby móc wymieniać się ramami, bibliotekami i wersjami, ale często stwierdzam, że trzymam się tego, co działa.

Niektórzy ludzie mogą tego nie lubić i twierdzą, że zawsze powinieneś być w najnowszej wersji, ale uważam, że jest to całkowicie niepraktyczne.

+2

Największym argumentem za aktualizacją kodu jest to, że możesz być na bieżąco z najnowszymi rozwój w tej dziedzinie, a konserwacja jest łatwiejsza. Jeśli musisz utrzymywać projekt wykorzystujący ramy używane dekadę temu ... Będziesz miał zły czas ... – RichardBernards

+0

Co mówi @RichardBernards, co mam na myśli. Nie możemy zablokować naszego produktu w dekadowej wersji szkieletowej. Podobnie jak w przypadku PHP (języka), musielibyśmy również go aktualizować i stale sprawdzać kompatybilność. Ponieważ wtedy, w dniu, w którym zdecydujemy się na uaktualnienie, będzie potrzebować długiego zestawu zmian w naszym głównym produkcie. Ludzie wydają się używać tych ram dla małych i średnich projektów, które mogą umrzeć za rok lub dwa. Ale produkt, który próbujemy zbudować, będzie głównym produktem firmy na najbliższe lata, więc cały zespół deweloperów poślubi ramy. – omarojo

+0

Wydaje się, że najwyraźniej wiesz, co musisz zrobić. Każde oprogramowanie, którego używasz, mam na myśli naprawdę każde oprogramowanie, będzie przestarzałe po dziesięciu latach. Jeśli więc wiesz, że będziesz chciał zachować aktualność swojego oprogramowania, będziesz musiał zaangażować zasoby, aby to zrobić. Nikt nie jest w stanie przewidzieć przyszłości szkieletu przez tak długi czas, więc podejmujesz ryzyko. Cokolwiek wybierzesz, może to być dobry lub zły wybór. –

Powiązane problemy