![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Od jakiegoś czasu widać, że Doctrine zyskuje popularność wśród twórców (i społeczności) Symfony. Ostatnio na blogu symfony pojawiła się informacja, że Doctrine będzie domyślnym frameworkiem dla gałęzi 1.x poczynając od 1.3. W komentarzach jest wypowiedź jednego z twórców, że w gałęzi 2.x będzie wspierana tylko Doctrine.
W związku z tym, chciałbym was zapytać o odczucia w związku z Doctrine. Sam nie znam tego ORM, ale słyszałem trochę złego, szczególnie o fatalnej wydajności tego ORM. Mam projekt, który jest w wersji 1.0 oparty o Propela. Chciałem go przepisać do wersji 1.3 tak, aby korzystał z nowszej i szybszej wersji Propela, ale teraz zastanawiam się nad Doctrine... Problemem jest jednak jej wydajność, bo projekt jest dość mocno oblegany. Jakie są zatem fakty o wydajności Doctrine? Pytam o wrażenia "real life", bo pseudo testy i benchmarki tak na prawdę nic nie mówią, o tym jak ORM będzie sprawował się w prawdziwej aplikacji. Pytanie 2 - czy da się uzyskać podpowiadanie składni w Doctrine na miarę tego w Propelu - niby mała rzecz, ale strasznie ułatwia i przyspiesza pisanie. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 108 Pomógł: 7 Dołączył: 15.05.2005 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Na pytania nie znam odpowiedzi, ale przyznam, że zmartwiło mnie to:
w gałęzi 2.x będzie wspierana tylko Doctrine. Że Doctrine nie będzie domyślny niezbyt mi przeszkadza, ale że go wywalą? Faktem jest, że zanim będzie wersja 2.x to pewnie parę lat minie, ale nie widzi mi się przepisywanie całego systemu na Doctrine, jeżeli zajdzie potrzeba przesiąść się na 2.x Trochę to bez sensu, tym bardziej, zę jak zaczynałem z Symfony, wszystko co widziałem na necie było pod Propela. Tyle osób z niego korzysta, więc po co przesiadać się na Doctrine. Sporo ludzi na niego narzeka. A co do wydajności to w sumie, jeśli Fabien z ekipą stwierdzili tak, to pewnie mają ku temu solidne powody, a nie tylko głos ludu. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Z czytania między liniami wnoszę, że chodzi o tempo rozwoju Propela - mówiąc dosłownie brak tego rozwoju.
Aczkolwiek też nie wyobrażam sobie przesiadki na Doctrine w tej chwili. BTW. Gałąź 2.0 może być szybciej niż się spodziewamy. Już mamy 3 duże wydanie symfony w gałęzi 1.x - myślę że jeszcze 1 lub 2 i będzie powoli rozwijana gałąź 2.0 - przy tym tempie to myślę, że za rok może półtora może być już coś konkretnego w tym temacie. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 108 Pomógł: 7 Dołączył: 15.05.2005 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
BTW. Gałąź 2.0 może być szybciej niż się spodziewamy. Już mamy 3 duże wydanie symfony w gałęzi 1.x - myślę że jeszcze 1 lub 2 i będzie powoli rozwijana gałąź 2.0 - przy tym tempie to myślę, że za rok może półtora może być już coś konkretnego w tym temacie. To fakt |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 879 Pomógł: 189 Dołączył: 14.06.2006 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
Ciężko porównywać wydajność real life, bo żeby uzyskać wiarygodne wyniki to trzeba byłoby jeden projekt zrobić w dwóch wersjach. Doctrine ma cacheowanie w miarę przyjemnie udostępnione, więc go przyspieszy. W Doctrine możesz hydrować na tablice, czyli kolejna możliwość przyspieszenia.
Co do podpowiadania, to da się uzyskać podpowiadanie pól obiektu (czy jak kto woli kolumn) ale także obietów powiązanych. Jest to dostępne od wersji 1.1. Jeszcze zostało do wydania 1.3, ma być wydane rok po 1.2 - czyli listopad 2009. Potem ma już być tylko 1.4 z tej gałęzi. Zrozumiałem, że wersja 1.4 ma usuwać elementy zdeprecjowane w wersji 1.3. Natomiast wersja 2.0 ma się ukazać przed 1.4, także również nie sądzę, że będzie trzeba długo czekać. Domyślam się, że Sensio ma już sporą część kodu, może tylko prototypy ale jednak. Porzucenie Propela w symfony 2 może przynieść dobry efekt, że Propel się pozbiera, bo na razie to śpi. Sensio wolało sobie wziąć Doctrine, bo projekt ma potencjał i spore plany. Zobaczcie jak przyspiesza Doctrine w wersji 2, w dodatku oni na prawdę chcą zrobić Doctrine jako rozszerzenie do PHP. A to, że z związku z porzuceniem Propela będzie trzeba przepisać na Doctrine, to i tak będzie trzeba przepisać bo zmiany pewnie będą spore. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Wg mnie po prostu trzeba będzie dodatkowo ściągnąć sfPropelPlugin - wsparcie na pewno zostanie ze względu na obecnie dużą popularność.
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
@Crozin - wsparcie dla Propela to coś więcej niż plugin. Mniej lub bardziej cały framework jest pisany pod ORM - przykładowo do Propela dostajesz generator admina, generator formularzy etc. Boję się, że zabraknie tego typu rzeczy w Symfony 2.0 i wszystko będzie opierać się na Doctrine.
W komentarzach pojawiają się też głosy, że trudno jest utrzymać dokumentację dla 2 ORM'ów - w związku z tym, że Propel nie będzie już oficjalny, nie będzie dla niego pewnie dokumentacji. Pytanie więc czy Propel ruszy z kopyta? Jeśli nawet ruszy to chyba mówiąc kolokwialnie i tak "już jest pozamiatane". Sama decyzja o wspieraniu jednego ORM'a jest zrozumiała bo dzięki temu będzie można skupić się na nowych funkcjonalnościach, ale jednak mam sentyment do Propela i chętnie dalej pracował bym w oparciu o niego. Jeśli Doctrine jest tak mało wydajne i niedopracowane jak ludzie mówią, to pytanie czy jest to dobry ruch. Z drugiej strony może to tylko lamenty bez pokrycia. Jedno jest jednak pewne, że jest to kolosalna zmiana i może się odbić niektórym czkawką. |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
@athabus: Wiem, wiem... chodzi mi o to, że prawdopodobnie "usługi" związane z Propelem w nowych wersjach pozostaną na obecnym poziomie, nie będą rozwijane, ale to co jest dziś - będzie.
Też pracowałem w oparciu o Propela, ale chciałem sprawdzić sobie jak Doctrine wygląda, bo w ogóle nie znam - teraz pewnie się jakoś zmobilizuję. ![]() |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Walor edukacyjny ;-) Też chyba będę musiał zerknąć za wczasu.
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 24 Dołączył: 18.01.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Cytat Mniej lub bardziej cały framework jest pisany pod ORM - przykładowo do Propela dostajesz generator admina, generator formularzy etc. Boję się, że zabraknie tego typu rzeczy w Symfony 2.0 i wszystko będzie opierać się na Doctrine doctrine też ma te generatory ... ![]() Ten post edytował Pr0100 17.06.2009, 17:28:32 -------------------- |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 31 Pomógł: 7 Dołączył: 14.06.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Trochę wkurzające - jak już się porządnie zaprzyjaźniłem z propelem, poznałem jego kruczki, to chcą mi go zabrać jego pełne wsparcie z najlepszego frameworka.
![]() No nic, pożyjemy, zobaczymy. -------------------- zagr.am - najlepsze flash do zagrania. Codziennie.
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 405 Pomógł: 6 Dołączył: 12.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Jedna z osób pracujących nad rozwojem Doctrine - zdaje się Pan Wage chwalił się niedawno dużym wzrostem wydajności najnowszej wersji Doctrine (która to będzie w symfony 1.3). Doctrine na całe szczęście będzie domyślnym ORM w symfony 1.3. Bardzo dobrze, bo ten ORM ma składnię bardzo zbliżoną do SQL, nie to co jakieś dziwaczne criteria w Propelu. SQL to bardzo fajny język i nie wiem po co twórcy propela wymyślali jakieś cuda w swoim ORM bezczeszcząc ten język.
Polecam poniższe tutoriale o Doctrine: http://blog.webarchitect.pl/2008/03/15/sel...ete-w-doctrine/ (część rzeczy w nim jest już nieaktualna, ale przyjemnie i treściwie wprowadza w świat doctrine) http://www.symfony-project.org/doctrine/1_...rking-With-Data (tutorial symfony o doctrine - to co najpotrzebniejsze w jednym miejscu, obowiązkowa lektura jak komuś się nie chce czytać dokumentacji doctrine) Jak widzicie ten ORM bardzo przypomina język SQL - na całe szczęście ![]() |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 31 Pomógł: 7 Dołączył: 14.06.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Wychodzi mi powoli, że doctrine to przyszłość - szczegółnie że na tracu propela nie było commita od ~miesiąca, a na stronie doctrine jest coś takiego w stopce: "Website powered by symfony and Doctrine".
Jeśli chodzi o Criteria... da się przywyknąć i polubić ![]() @nieraczek: możesz mi powiedzieć czy w Doctrine jest coś takiego jak nested set (drzewka) w propelu? Ten post edytował kamil_biela 17.06.2009, 20:12:28 -------------------- zagr.am - najlepsze flash do zagrania. Codziennie.
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 405 Pomógł: 6 Dołączył: 12.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Tutaj potwierdzenie, że doctrine będzie domyslnym ORM: http://www.symfony-project.org/blog/2009/0...el-and-doctrine
As Doctrine is the future of symfony, we decided to make it the default choice when creating a new project Co do nested set (drzewka) to nie potrafię odpowiedzieć na to pytanie, nie spotkałem się z takim pojęciem 'nested set', ale znalazłem na tej stronie taką informację: "A i jeszcze jedno: w Doctrine póki co jest "tylko" jeden model struktury drzewiastej - NestedSet, pozostałe (MaterializedPath i AdjacencyList) są tylko w postaci pustych klas abstrakcyjnych." http://www.zyxist.com/pokaz.php/doctrine Ten post edytował nieraczek 17.06.2009, 20:36:52 |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
No nie żartujcie, ciretria są bardzo wygodne do budowania zapytań, zwłaszcza po uruchomieniu podpowiadania składni. Ogólnie będę tesknił za Propelem, bo to co widzę w Doctrine raczej mi nie odpowiada.
No ale fakt jest taki, że wszystkie znaki wskazują, że trzeba zacząć uczyć się Doctrine, jeśli chce się używać Symfony. @Pr0100 - wiem, że Doctrine też ma od niedawna generatory - chodziło mi o to, że w wersji 2.0, która nie będzie wspierać Propela, pewnie nie będzie takich rzeczy dla tego ORM'a, także korzystanie z niego nie będzie juz takie wygodne jak teraz. |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 8 Dołączył: 20.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Natomiast wersja 2.0 ma się ukazać przed 1.4, także również nie sądzę, że będzie trzeba długo czekać. Domyślam się, że Sensio ma już sporą część kodu, może tylko prototypy ale jednak. Nawet więcej niż prototypy, skoro Dailymotion już wykorzystuje fragmenty (nie wiemy jednak jak duże) Symfony 2. @Crozin - wsparcie dla Propela to coś więcej niż plugin. Mniej lub bardziej cały framework jest pisany pod ORM - przykładowo do Propela dostajesz generator admina, generator formularzy etc. Boję się, że zabraknie tego typu rzeczy w Symfony 2.0 i wszystko będzie opierać się na Doctrine. Ale właśnie to jest realizowane przez plugin. Plugin dostarcza nie tylko możliwość konfiguracji orma ale również taski do generowania admina, formularzy itp. Jedna z osób pracujących nad rozwojem Doctrine - zdaje się Pan Wage chwalił się niedawno dużym wzrostem wydajności najnowszej wersji Doctrine (która to będzie w symfony 1.3). Chwalili się przyrostem wydajności w wersji 2.0 doctrina. Nie sądzę, że ta wersja zostanie wykorzystana w symfony 1.3 - programiści doctrina mają jeszcze przed sobą dużo pracy, a potem jeszcze trzeba będzie przepisać plugin. Raczej symfony 1.3 domyślnie będzie korzystało z wersji 1.1 albo 1.2 doctrina (o ile zdąrzą ją wypuścić). A co do decyzji sensio odnośnie porzucenia oficjalnego wsparcia dla propela - to nie ma się czemu dziwić. Wystarczy spojrzeć na częstotliwość commitów: http://propel.phpdb.org/trac/log/ Na chwilę obecną można stwierdzić, że ten projekt jest martwy. Więc po co mają inwestować czas w jego wsparcie? Trzeba też pamiętać, że sensio ma interes w tym, żeby programiści używali doctrina a nie propela. Są to szkolenia, które oferują (z symfony i doctrina). W końcu nie po to zatrudnili programistę doctrina, żeby teraz nie czerpać z tego korzyści finansowych. A co do dalszego losu propela - nie sądzę, żeby to zagrożenie spowodowało dalszy jego rozwój. Myślę, że oo prostu brakuje programistów, którzy chcieliby go dalej rozwijać. Pewnie kod też już nie jest pierwszej świeżości i przydałby mu się porządny refactoring (tak, jak w doctrine 2.0). Prawdopodobnie ktoś stworzy plugin dla propela, ale myślę, że wcześniej czy później ludzie i tak będą się od tego orma odsuwać (ze względu na brak rozwoju i poprawy błędów). |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
JA wciąż nie mogę się przyzwyczaić do Doctrine. Ten ORM mi sie zwyczajnie nie podoba.
Na szczęście ruszyło się kilka rzeczy w sprawie Propela: 1. Wpis Fabiena na Twitterze. 2. Propel, a Symfony 1.3 3. Devy Propela IRCują |
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Dziwi mnie ta "śmierć" Propel'a - może coś faktycznie się ruszy, ale wydaje mi się że będzie bardzo trudno rozruszać społeczność - pewnie się jej członkowie wypalili. Trzymam jednak kciuki bo bardzo lubię to rozwiązanie.
|
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Dziwi mnie ta "śmierć" Propel'a - może coś faktycznie się ruszy, ale wydaje mi się że będzie bardzo trudno rozruszać społeczność - pewnie się jej członkowie wypalili. Trzymam jednak kciuki bo bardzo lubię to rozwiązanie. Nowy Dev Leader Propela to Francois Zaninotto - dosyć znana persona w światku Symfony. Wierzę, że da radę pociągnąć projekt. |
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Tak znam go z "czytania" jak chyba każdy kto cokolwiek robił w symfony.
Na pewno wie jak zarządzać społecznościami i zapewne jest niezłym developerem jednak łatwiej jest spłodzić dziecko niż ożywić trupa ;-) Jeśli Propel ma szanse się wydobyć z zapaści to już tylko chyba może go uratować współpraca z Symfony - mam nadzieję że na to nie jest za późno. Na pewno będę trzymał kciuki. Szkoda, że nie jestem na tyle dobry aby móc pomóc programistycznie. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.06.2025 - 11:26 |