Spójrz na Django .
Kod w Pythonie. Język szablonów, który pozwala na niektóre z tych samych funkcji co PHP - nieco inną składnię.
Model jest oddzielony od funkcji widoku („reguły biznesowe”) i od prezentacji. Jest to egzekwowane w całym Django.
Jednym z typowych pytań jest "dlaczego nie mogę zrobić - jakiejś szalonej rzeczy w stylu PHP - w szablonie Django?" Odpowiedź brzmi, że prezentacja nie jest przetwarzaniem. Wykonaj przetwarzanie w funkcjach widoku Django. Wyrenderuj wyniki jako HTML w szablonie.
Ponadto Django ma warstwę ORM, która oddzieli Cię od drobnych kwestii związanych z SQL. MySQL lub PostgreSQL są mniej więcej odpowiednikami z poziomu Django.
Edytuj
„Dojrzałość” oznacza wiele rzeczy. Jako oznakę dojrzałości wymieniłeś szczególnie wykwalifikowanych ludzi.
Django to czysty Python. Jeśli możesz znaleźć ludzi Pythona, mogą nauczyć się Django w kilka dni. Muszą tylko wykonać samouczki.
-
Witryna oparta na Django to zwykle Apache + trochę kleju + Django. Klej może być mod_wsgi lub mod_python lub mod_fastcgi. Musisz ostrożnie zarządzać tą konfiguracją, ponieważ jest kilka ruchomych części. Jest to jednak ten sam problem z konfiguracją Apache, który masz w PHP - nic nowego.
-
Witryna Django ma jedną lub więcej instancji serwera Django, każda z plikiem ustawień, mapowaniem adresu URL i dowolną liczbą aplikacji. W tym momencie czysty Python.
-
Aplikacja Django posiada mapowania adresów URL, model i widoki. Cały czysty Python. Jednostka przetestowana z rozszerzeniami Django do własnego wewnętrznego frameworka testów jednostkowych Pythona.
-
Model wykorzystuje warstwę ORM. To może być najbardziej zagmatwana rzecz w Django. Ludzie czasami projektują bardzo dziwne modele, ponieważ myślą albo za wysokopoziomowo uber-ogólne, albo za dużo myślą w SQL. Django to środek w większości zorientowany obiektowo z pewnym uwzględnieniem SQL. Zdobądź to, a jesteś nie do powstrzymania.
-
Aplikacja Django może mieć szablony, które są w swoim własnym języku szablonów. Byłaby to jedyna rzecz, która nie jest związana z Pythonem, która jest bardzo interesująca. Możesz chcieć dodać niestandardowe tagi -- czysty Python.
-
Prawdopodobnie będziesz mieć JavaScript (również dla PHP i każdego innego frameworka aplikacji internetowych). Nic nowego.
-
Ponieważ aplikacja administracyjna Django automatycznie obsługuje podstawowe przetwarzanie CRUD, nie musisz tego pisać. Możesz pisać wszystko, co chcesz transakcyjne. Ale nie musisz. Prowadzi to do bardzo, bardzo potężnej hybrydy.
-
Piszesz kilka skomplikowanych, krytycznych transakcji. Czysty Python, BTW.
-
Nie piszesz żadnych głupich transakcji związanych z obsługą stołu. Żaden kod nie jest lepszy od Pythona czy PHP.
-
Gdy już zmokniesz z silnikiem szablonów i CSS, możesz dostosować interfejs administratora, aby wyglądał jak chcesz. To jest HTML/CSS, bez Pythona czy PHP.
-
Konkluzja. Większość zestawu umiejętności to Python. ORM jest -- syntaktycznie -- Pythonem, ale wymaga pewnej uwagi w wykonywaniu rzeczy prosto i czysto. Szablon jest własnym językiem, ale znacznie prostszym niż PHP. Reszta to SQL, Javascript, HTML, CSS, Apache i inne.
Edytuj
Dojrzałość Django
-
Zobacz http://www.djangoproject.com/community/ za liczbę aktywnych projektów.
-
Dołącz do http://groups.google.com/group/django-users do codziennego zalewu e-maili od użytkowników.
Blog Django sięga wstecz do '05, co oznacza, że mieli lata solidnego doświadczenia przed ostatecznym wydaniem 1.0 we wrześniu '08. Rozwój najwyraźniej rozpoczął się w '03.