Yii2 vs Laravel

Yii2 vs Laravel
Yii2 vs Laravel
Yii2
7%
7% [1]
Laravel
73%
73% [11]
Inny
20%
20% [3]
Bartosz Wójcik
  • Rejestracja:około 14 lat
  • Ostatnio:ponad 4 lata
  • Postów:439
0

Cześć, przymierzam się do nowego projektu i zastanawiam się nad użyciem Laravel zamiast Yii2, na którym już zbudowałem kilka projektów.

Ktoś ma jakieś doświadczenie z tym? Jakieś za i przeciw?

Pod Yii2 zwykle jadę na temacie Yii2 Advanced z frontendem i backendem do zarządzania. Przyzwyczaiłem się już do szybkiego generowania modeli, kontrolerów przez Gii, debuggera, pisania modułów itd.

Zastanawiam się czy warto przerzucić się na Laravel?

Idzi
W Laravel też możesz jedną komendą wygenerować model, kontroler, migrację i fabrykę. Jedynie widoki trzeba pisać ręcznie.
serek
  • Rejestracja:około 11 lat
  • Ostatnio:około 7 godzin
  • Postów:1472
0

Na pewno Laravel jest bardziej popularny, więc doświadczenie w nim się może przydać. Wg mnie bardziej się też nadaje do zaawansowanych projektów niż proste Yii2.

Co do Yii2 - ostatnie 3 lata pracy spędziłem w tym frameworku głównie. Na pewno jest stosunkowo prosty w użyciu. Dodatkowo wśród community ma gościa, który stworzył masę przydatnych pluginów (kartik). Sporym minusem jest to, że bardzo łatwo jest zrobić w kodzie syf.

Ogólnie jeśli masz czas, to wybrałbym Laravela. Jeśli jednak goni Cię jakiś deadline, to chyba lepiej użyć Yii2.

Bartosz Wójcik
A czego Ci zabrakło w Yii2 co jest w Laravelu, dlaczego Yii2 jest proste? To wada? Z komponentów Kartika korzystam w sumie cały czas.
serek
Z Laravela nie korzystam. Sama prostota nie jest wadą, ale ogólnie Yii ma bardzo niski poziom wejścia i łatwo w nim pisać zły kod. Dodatkowo nie jest tak rozbudowane jak Laravel czy Symfony, więc pisanie większych systemów może nie być dobrym pomysłem. A przynajmniej będzie trudniejsze.
E2
Czy Symfony i Zend są jeszcze popularne w świecie PHP?
.__.
tylko symfony i laravel, a reszta to utrzymywanie starego kodu którego nie opłaca się przepisywać pod te dwa frameworki
serek
Yii2 może się przydać, jeśli chce się szybko postawić prostego cruda. Na pewno szybciej wyjdzie niż z Symfony/Laravelem.
CodeRZ
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 22 godziny
  • Postów:258
1

Z yii2 dopiero zaczynam, ale próbowałem laravela i symfony. Zdecydowałem się na symfony4 i nie żałuje. Ciężko pojąć co i jak, ale potem tworzenie aplikacji to czysta przyjemność. Dodatkowo symfony4 jest małe, ale dodajesz pakiety jeśli jest taka potrzeba.
yii2 < laravel < symfony

Bartosz Wójcik
W Yii2 też dodajesz pakiety jakich potrzebujesz :), mam wrażenie, że komentują tu ludzie, którzy nie używali nigdy Yii2...
Chudy20007
Z kolei ja coś czuję, że wybór technologii już dawno zapadł... ;)
Bartosz Wójcik
Wręcz przeciwnie, tylko nie wiem czy warto się w to pchać skoro wszystko co tu mówicie jest w Yii2 i nikt jakichś szczególnych argumentów nie przedstawił poza tym, że Laravel jest bardziej popularne. Ten argument jakoś mnie nie przekonuje.
Chudy20007
  • Rejestracja:około 9 lat
  • Ostatnio:około miesiąc
  • Postów:22
1

Według mnie nie ma sensu pchać się w Yii2 z tego powodu, że jest on mniej popularny od dwóch wyżej wymienionych frameworków. Sam miałem styczność z Laravelem (niski próg wejścia, dobra dokumentacja, wiele łatwych i gotowych do użycia rozwiązań, takich jak walidatory, sam Eloquent jest prosty w obsłudze) i Symfony (do teraz). Symfony ma trochę wyższy próg wejścia, ale zdecydowanie warto.

Jak już masz wybierać między Yii2 czy Laravel to skłaniałbym się ku temu drugiemu (nawet ze względu na zebranie doświadczenia w tym frameworku).

edytowany 1x, ostatnio: Chudy20007
Bartosz Wójcik
Validatorow Yii2 ma wbudowanych od groma, sam też pisałem swoje, dodanie własnych reguł do modeli też jest banalnie proste, bo mówisz tak jakby ich nie było w Yii2?
Chudy20007
To był tylko prosty przykład. Jeżeli chodzi o klepanie w Yii2 to nie jestem w stanie się wypowiedzieć, ponieważ nie miałem styczności z tym frameworkiem. Piszę jako osoba, która miała do czynienia z Laravelem i Symfony.
drorat1
  • Rejestracja:ponad 15 lat
  • Ostatnio:około 2 lata
  • Lokalizacja:Krasnystaw
  • Postów:1181
0

Zakładając że robisz to za kasę i jako samodzielny programista, masz przy tym jakiś ustalony i sensowny termin realizacji to mogę być niemal pewien, że dokonasz jedynego i słusznego wyboru, czyli wybierzesz Yii ponieważ go dobrze znasz. Pchanie się w jakikolwiek inny framework którego się nie zna to czyste szaleństwo. Prawdopodobnie również w przypadku wyboru Laravela, w początkowej fazie projektu, jeśli uznasz że nie dasz rady, szybko wrócisz do Yii. W Symfony i Laravela trudno wejść a jeszcze trudniej się przestawić a ich dokumentacja jest za słaba. Można się opierać na reprezentatywnych przykładach na githubie (przykładowe blogi, CMS-y) ale to i tak moim zdaniem za mało.

Nie wiem w ilu przypadkach Laravel albo Symfony są wybierane do nowych projektów przez samodzielnych programistów i freelancerów, podejrzewam że to nie ten target a oba najpopularniejsze frameworki świetnie nadają się dla zespołów. Nie przekonuje mnie że Laravel w czymś może być lepszy bo jak ktoś dobrze zna tego Yii to i tak świetnie sobie poradzi a komponenty i zewnętrzne biblioteki to i tak można podpinać.

Zobacz pozostałe 4 komentarze
Idzi
Nie, że słaba, ale brak takiego typowego tutoriala, od a do z, trzymającego za rękę. Pokazującego po kolei co robić. Dokumentacja jest dobra, ale trzeba nabrać wprawy w jej korzystaniu.
mr_jaro
spróbuj to wszystko połączyć w całość, tak żeby zrealizować jakiś portal ja spróbowałem i połączyłem 5 lat temu i jakoś nie miałem z tym najmniejszych problemów i tak niezależnie czy z zespołm czy sam piszę wszystko na laravelrze lub lumenie (jeśli potrzebuje małego api)
mr_jaro
@Idzi: O.o ? laracast? Po to on istnieje pokazuje wszystko od zera do zaawansowanych rzeczy. Darmowe materiały spokojnie wystarczają by wejść bez oporów w larve przez najgorszego nooba.
Idzi
No tak, z laracast masz rację. Miałem na myśli samą dokumentację.
mr_jaro
@Idzi: jedno drugie dopełnia i tworzą całość i całość jest dokumentacją, to że cześć jest filmowa a część pisana to inna sprawa, ale na pewno nie można tego rozdzielać.
czysteskarpety
czysteskarpety
  • Rejestracja:prawie 10 lat
  • Ostatnio:ponad 4 lata
  • Lokalizacja:Piwnica
  • Postów:7697
0
drorat1 napisał(a):

W Symfony i Laravela trudno wejść a jeszcze trudniej się przestawić a ich dokumentacja jest za słaba.

No, aż tak to bym nie szalał, z tego co widzę dok. jest na bieżąco aktualizowana, laracast są najnowsze tutki do wer. 7, nie ma dramatu.
Oczywiście do swoich projektów yii jest ok, ale komercyjnie do pracy to w zasadzie larwa i symfo rządzą.


Bartosz Wójcik
Ale jesteś w stanie napisać dlaczego? Czego brakuje Yii2? A co takiego super jest w Laravelu czy Symfony? Właśnie chodzi mi o opinię kogoś kto miał styk i z tym i z tym systemem :)
czysteskarpety
czysteskarpety
@Bartosz Wójcik: mniejsze community, mniej dodatków, pewnie niektórym też przeszkadza, że yii siedzi z jquery, sama strona też trochę archaiczna, mało tutoriali
drorat1
  • Rejestracja:ponad 15 lat
  • Ostatnio:około 2 lata
  • Lokalizacja:Krasnystaw
  • Postów:1181
0

I co z tego że dokumentacja jest na bieżąco aktualizowana? Mnie chodzi o realizację nowego projektu, w określonym czasie, za określoną kasę, określone wymagania. W Yii jak ktoś siedzi od lat (i w każdym innym frameworku) to taki projekt zrealizuje bez najmniejszych problemów, bez zająknięcia, wszystko pójdzie w miarę sprawnie. A tutaj rzecz rozbija się o rozpoczęcie nowego projektu z zerową albo tylko pobieżną znajomością nowego frameworka. Zanim to wszystko się w miarę opanuje to zapewne będzie wiele problemów a realizacja i tak nie będzie szła sprawnie i szybko.

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)