2013-04-04 7 views
10

Próbuję wybrać między django i yii dla skalowalnej, możliwej do utrzymania korporacyjnej aplikacji internetowej z bazą danych (najlepiej mysql). Aplikacja koncentruje się głównie na wprowadzaniu danych, ale z niestandardowymi przepływami pracy (poza podstawowymi automatycznie generowanymi formularzami) i niestandardowymi raportami. Mam doświadczenie w CS, znane z MVC, programowanie tła w C++, C#. 8 lat temu zbudowano podobną aplikację za pomocą php, mysql, perl/cgi i pamiętam, że jest bolesna (robi wszystko od zera ze stromą krzywą uczenia się). Musisz nauczyć się składni Pythona lub PHP, ale dość szybko przechwytuję języki. Przeczytaj obszernie online o django vs Yii. Nie można przejść do trasy .net mvc z powodu potrzeby otwartego źródła. Dabbled w RoR, kochał język, ale nie czuję się dobrze z magią, która się jeszcze wydarzyła, szczególnie w przypadku aplikacji klasy produkcyjnej. Może w przyszłości. Więc z powrotem do Django vs Yii -django lub yii do budowania produkcyjnej aplikacji internetowej z db oraz niestandardowymi formularzami i raportami

czynniki decyzyjne to:
1) łatwiejsze krzywa uczenia
2) lepiej nadaje ramy dla konkretnych zadań, które byłyby potrzebne - Heavy db manipulacji, przepływu zwyczaj UI (nic zbyt GFX Intensywne, tylko regularne elementy formularzy, ale gdzie muszę manipulować danymi w wielu tabelach za pomocą złącz itp.)
3) żadnych nieprzyjemnych niespodzianek z db connects (przeczytaj, ale nie do końca zrozumiałeś wszystkie garsch z django orm i mysql).
4) coś gdzie ja nie walczę Ramy/język podstawowych rzeczy
5) skalowalnej i szybkim czasie działania (wiem, dużo zależy od jednego architekta rozwiązanie)

Proszę o poradę. Poszukuje pomocy od osoby zaznajomionej z pracą w obu frameworkach. dziękuję

+0

Mam doświadczenie zarówno z django, jak i Yii .... oba są miłe ... Ale yii jest bardziej sympatyczny ..... Ale django ma większą wydajność ... prawie dwukrotnie więcej niż z Yii + apc .. .... Więc django jest zwycięzcą .... – MYNE

Odpowiedz

8

Moja sugestia będzie Django. Formy w Django to klasy i wszystkie frameworki, w których pracowałem w ciągu ostatnich 16 lat, od klasycznych ASP do .NET, Rails i Java. Postawiłem sposób działania Django przeciwko którymkolwiek z nich.

South sprawia, że ​​wykonywanie migracji schematu i danych jest niezwykle proste.

Polecam używanie PostgreSQL zamiast MySQL, szczególnie jeśli zamierzasz wykorzystać Django ORM, ponieważ jest on nieco bardziej dostrojony dla PostgreSQL. Jeśli nie potrzebujesz administratora Django i musisz użyć MySQL, możesz rzucić okiem na SQLAlchemy i Alembic.

Krzywa uczenia Django jest bardzo płaska. Jest niezwykle łatwy do nauczenia i jest bardzo dobrze udokumentowany.

Moje 0,02 USD.

+0

dziękuję bardzo za odpowiedzi. Sprawdzę Django. Jeszcze jedno pytanie - słyszałem, że projekty django są trudniejsze do wdrożenia na serwerach apache, niż te oparte na php. jakikolwiek pomysł, jeśli tak jest? – webnew2013

+0

Wcale nie. Prawie wszystkie moje aplikacje freelance są wdrażane w WebFaction, bezpośrednio z Beanstalk za pomocą jednego kliknięcia. Ustawienie środowiska Django w WebFaction to dwa kliknięcia. W mojej pracy wdrażamy do AWS z wykorzystaniem Fabric i autoskalowania. To naprawdę bardzo proste. – Brandon

11

Wiem, że to stary, ale czuję, że mogę dodać do tego, korzystając z obu ram.

Yii jest solidnym, szybkim szkieletem. Nie jest tak bezpieczny po wyjęciu z pudełka, jak Django z powodu pewnych rzeczy (na przykład ochrona przed fałszowaniem żądań między witrynami), które nie są domyślnie włączone lub wymuszone. Największą zaletą był dla mnie wbudowany generator kodu, ponieważ gdy go poznasz i zaczniesz go używać, w ciągu kilku minut wypuści on w pełni funkcjonalną aplikację CRUD.

Django jest moim wyborem, ponieważ Python jest największą zaletą Django. Nie niszczysz PHP, naprawdę podoba mi się język, ale czysty obiekt zorientowany na obiekt Pythona (to słowo?), Dziedziczenie klas itd. Naprawdę świeci z frameworkami takimi jak Django. W Django nie ma wbudowanego generatora kodu, który był świadomym wyborem twórców. To jest zarówno siła, jak i słabość. Generator kodu Yii może stać się odrobiną kuli, jeśli naprawdę chcesz się nauczyć ram, ale z Django, kiedy nauczysz się jak to działa, możesz wejść i zmienić wszystko, ponieważ sam go zbudowałeś i to zmusza cię dobrze się uczyć. Z Yii, kiedy masz wygenerowany kod i musisz dokonać personalizacji, TO możesz szybko zacząć walczyć z frameworkiem.

ORM Django jest bardzo elastyczny, sam jestem facetem SQL i uważam, że użyłem surowego SQL w moich aplikacjach dokładnie jeden raz. Yii's jest całkiem niezły, ale podaję też Django pod tym względem, a Django jest bardzo dobrze udokumentowane.

Instalacja Yii jest nieco łatwiejsza niż Django, z mojego doświadczenia. Django potrzebuje trochę więcej pracy, aby zacząć działać. Django ma tutorial jest znacznie, dużo silniejszy niż Yii, przynajmniej wtedy, gdy zaczynałem.

+0

"..Nie ma wbudowanego generatora kodu w Django ..", nie jest django admin -produkcja gotowa - generator kodu? – elsadek

+0

Administrator jest tworzony automatycznie, ale nie tworzy go w lokalizacji pliku programistycznego tak jak robi to Yii. Możesz dostosować administratora w Django, ale głównie poprzez przesłonięcie wbudowanej funkcjonalności. Z drugiej strony, Yii, po prostu pozostawia ci zestaw kodu, który możesz następnie rozbudować i dostosować bezpośrednio, co pomogło mi nauczyć się znacznie szybciej. – trpt4him

+0

Całkowicie zgadzam się z tobą ... Python to jego największy strenth ... Co za framework! – MYNE

2

Yii jest znakomity. Mogłem się tego nauczyć i zacząć działać w ciągu kilku godzin. Próbowałem skonfigurować Django z powodu mylącej konfiguracji i mapowania adresów URL, które są potrzebne, aby wszystko działało. Nie mam wątpliwości, że Django jest znakomity, gdy się go nauczysz, ale z mojego doświadczenia Yii było o wiele łatwiej się nauczyć.

Naprawdę chciałbym, aby ktoś wysłał Yii do Pythona.

Powiązane problemy