2011-12-17 9 views
12

Chciałbym zapytać mistrzów tam, jakie są główne różnice między java spring mvc i django? a także ... który jest najbardziej preferowany?tylko ciekawa różnica między sprężyną mvc vs django

+5

Cóż, wydaje mi się, że największą różnicą między nimi jest to, że są to ramy dla dwóch zupełnie różnych języków? Django ma jednak znacznie lepszą nazwę;) – Voo

Odpowiedz

20

Z perspektywy tworzenia aplikacji internetowych istnieje tylko duża różnica w podejściu do architektury twoich aplikacji.

Django ma tendencję do nakładania wielu ograniczeń i zależy w dużym stopniu od stałego zestawu rozwiązań, które są dostarczane wewnętrznie. To, co otrzymujesz, to konwencje i usprawnione podejście do tworzenia aplikacji. Większość rozwiązań ramowych działa dla wszystkich, a kiedy nie, masz wiele możliwości rozszerzenia lub ponownego użycia niektórych składników w inny sposób. To działa tak dobrze, że po obejrzeniu jednego dobrego projektu Django zobaczyłeś wszystkie.

Wiosna, z drugiej strony, ma tendencję do nakładania jak najmniejszych ograniczeń, jak to możliwe. Oprócz spełnienia wymagań platformy Java EE, możesz dowolnie łączyć aplikację w dowolny sposób. Komponenty, które piszesz, aby zapewnić rzeczywiste zachowanie, mają być tak samo luźno powiązane z samym szkieletem i będziesz musiał używać pewnych składników dostarczonych przez Spring, aby zarządzać sposobem ich odkrywania, łączenia, zarządzania i konsumpcji. Problem polega na tym, że masz swobodę dostosowywania nawet najdrobniejszych aspektów aplikacji, co oznacza, że ​​podejmujesz wiele decyzji, a każda aplikacja Spring Web będzie niepowtarzalnie zaprojektowana.

+0

Powyższe nie opisuje wcale Django! Oba są potężnymi frameworkami MVC, sprowadza się to do twojego wybranego języka. Python jest łatwiejszy do czytania, czytania i pisania oraz ma mniejszą powierzchnię kotła. – radtek

+0

@radtek, fakt, że są napisane w językach o różnych paradygmatach jest znaczący, ale jest to oczywisty punkt i mało istotny, ponieważ PO nie prosi o porównanie Javy i Pythona. Postanowiłem obiektywnie porównać te dwa z architektonicznego punktu widzenia i byłbym wdzięczny, gdybyś mógł opracować, gdzie dokładnie przedstawiłem błędną reprezentację Django w tym zakresie. –

+1

Django ma tendencję do nakładania wielu ograniczeń i zależy w dużej mierze od stałego zestawu rozwiązań, które są dostarczane wewnętrznie <- nie oznacza, że ​​go używasz, ale jest tam, jeśli jest to potrzebne. Możesz napisać własne rozwiązanie, tak jak lubisz w python. Języki, w których napisano frameworki, mają również wielki wpływ. Nie każdy projekt django jest taki sam. Myślę, że twoja opinia jest bardzo subiektywna i brzmi, jakbyś używał Springa i nie odkrywałeś Django niezależnie od tego, co czytasz. – radtek

8

Wiosna ma własną internetową MVC ramy, ale to znacznie więcej:

  1. Zastrzyk zależność/inwersja zakładowej kontroli
  2. Aspect zorientowane programowanie.
  3. Moduły do ​​utrwalania, zdalnego dostępu i innych funkcji.

Django to internetowa platforma MVC Pythona do tworzenia zaawansowanych aplikacji CRUD UI.

Powiedziałbym, że Grails, Ruby on Rails-like web CRUD framework for Java bazujący na Spring, Hibernate i Groovy, byłby lepszą analogią dla Django. Oba używają "konwencji ponad kodowaniem", aby przyspieszyć rozwój.

+1

Django jest bardziej produktywny, zobacz tutaj: http://www.quora.com/Python-and-Django-over-Java-Spring-who-made-the-switch-to- Python-Produktywność - zyski – radtek

Powiązane problemy