sql >> Databasteknik >  >> RDS >> PostgreSQL

Är en PHP-, Python-, PostgreSQL-design lämplig för en affärsapplikation?

Titta på Django .

Python-kod. Ett mallspråk som tillåter några av samma funktioner som PHP -- något annorlunda syntax.

Modellen är skild från synfunktioner ("affärsregler") och skild från presentation. Detta tillämpas i hela Django.

En av de vanligaste frågorna är "varför kan jag inte göra - någon galen PHP-liknande sak - i Django-mallen?" Svaret är att presentationen inte bearbetas. Gör din bearbetning i Django-vyfunktionerna. Återge resultaten som HTML i mallen.

Django har också ett ORM-lager för att skilja dig från små SQL-överväganden. MySQL eller PostgreSQL är mer eller mindre likvärdiga inifrån Django.

Redigera

"Mognad" betyder många saker. Du nämnde specifikt skickliga människor som ett tecken på mognad.

Django är ren Python. Om du kan hitta Python-folk kan de lära sig Django på några dagar. De måste bara göra tutorials.

  • En Django-driven sida är vanligtvis Apache + lite lim + Django. Limmet kan vara mod_wsgi eller mod_python eller mod_fastcgi. Du måste hantera denna konfiguration med viss försiktighet eftersom det finns flera rörliga delar. Detta är dock samma Apache-konfigurationsproblem som du har med PHP -- inget nytt här.

  • En Django-webbplats har en eller flera Django-serverinstanser, var och en med en inställningsfil, en URL-mappning och valfritt antal applikationer. Ren Python vid det här laget.

  • En Django-applikation har URL-mappningar, modell och vyer. Allt ren Python. Enhet testad med Django-tilläggen till Pythons egna interna unittest-ramverk.

  • Modellen använder ett ORM-lager. Detta kan kanske vara det enskilt mest förvirrande i Django. Människor designar ibland väldigt udda modeller eftersom de antingen tycker för högnivå-uber-generiska eller så tänker de för mycket i SQL. Django är en medelväg för mestadels objektorientering med viss SQL hänsyn. Skaffa det här, och du är ostoppbar.

  • En Django-applikation kan ha mallar som är på deras eget mallspråk. Det här skulle vara det enda som inte är Python som är av stort intresse. Du kanske vill lägga till anpassade taggar -- ren Python.

  • Du kommer förmodligen att ha JavaScript (även sant för PHP och alla andra ramverk för webbapplikationer). Inget nytt här.

  • Eftersom Djangos adminapplikation automatiskt hanterar grundläggande CRUD-bearbetning behöver du inte skriva detta. Du är fri att skriva alla transaktionsgrejer du vill ha. Men du behöver inte. Detta leder dig till en mycket, mycket kraftfull hybrid.

    • Du skriver några komplicerade, kritiska transaktioner. Ren Python, förresten.

    • Du skriver inte någon av de dumma tabellunderhållstransaktionerna. Ingen kod alls är överlägsen Python eller PHP.

    • När du har blivit blöt med mallmotorn och CSS:er kan du skräddarsy administratörsgränssnittet så att det ser ut som vad du vill. Det här är HTML/CSS-grejer, ingen Python eller PHP.

Slutsats. Det mesta av färdighetsuppsättningen är Python. ORM är -- syntaktisk -- Python, men kräver viss omsorg för att göra saker enkelt och rent. Mallen är sitt eget språk, men betydligt enklare än PHP. Resten är SQL, Javascript, HTML, CSS, Apache och vad-inte.

Redigera

Django Mognad

Django-bloggen sträcker sig tillbaka till '05, vilket innebär att de hade många års gedigen erfarenhet innan de slutligen släppte 1.0 i september '08. Utvecklingen började tydligen '03.



  1. Oracle Client Blob 10K Begränsning med NHibernate och Mono?

  2. migrerar till mysql i django

  3. undvika samtidiga infoga flera samma id i mysql

  4. Fel SQL-fråga:Använd SUM-metoden, när #1054 - Okänd kolumn 'tbl_customers.id' i 'where-sats'