Mire Django .
Código Python. Un lenguaje de plantillas que permite algunas de las mismas funciones que PHP, pero una sintaxis ligeramente diferente.
El modelo está divorciado de las funciones de visualización ("reglas comerciales") y de la presentación. Esto se aplica en todo Django.
Una de las preguntas más comunes es "¿por qué no puedo hacer algo parecido a PHP en la plantilla de Django?" La respuesta es que la presentación no es procesamiento. Haga su procesamiento en las funciones de vista de Django. Representar los resultados como HTML en la plantilla.
Además, Django tiene una capa ORM para divorciarte de las pequeñas consideraciones de SQL. MySQL o PostgreSQL son más o menos equivalentes dentro de Django.
Editar
"Madurez" significa muchas cosas. Usted mencionó específicamente a las personas capacitadas como un signo de madurez.
Django es Python puro. Si puede encontrar personas de Python, pueden aprender Django en unos pocos días. Solo tienen que hacer los tutoriales.
-
Un sitio impulsado por Django suele ser Apache + algo de pegamento + Django. El pegamento puede ser mod_wsgi o mod_python o mod_fastcgi. Debe administrar esta configuración con cuidado porque hay varias partes móviles. Este, sin embargo, es el mismo problema de configuración de Apache que tiene con PHP, nada nuevo aquí.
-
Un sitio de Django tiene una o más instancias de servidor de Django, cada una con un archivo de configuración, una asignación de URL y cualquier cantidad de aplicaciones. Python puro en este punto.
-
Una aplicación Django tiene asignaciones de URL, modelo y vistas. Todo Python puro. Unidad probada con las extensiones de Django para el propio marco de prueba de unidad interno de Python.
-
El modelo utiliza una capa ORM. Esta puede, quizás, ser la cosa más confusa en Django. Las personas a veces diseñan modelos muy extraños porque piensan en un nivel demasiado alto, súper genérico o porque piensan demasiado en SQL. Django es un término medio de la mayoría de la orientación a objetos con alguna consideración de SQL. Consigue esto y serás imparable.
-
Una aplicación Django puede tener plantillas, que están en su propio lenguaje de plantillas. Esta sería la única cosa que no es de Python que es de mucho interés. Es posible que desee agregar etiquetas personalizadas:Python puro.
-
Probablemente tendrá JavaScript (también válido para PHP y cualquier otro marco de aplicación web). Nada nuevo aquí.
-
Dado que la aplicación de administración de Django maneja automáticamente el procesamiento CRUD básico, no es necesario que escriba esto. Eres libre de escribir todas las cosas transaccionales que quieras. Pero no tienes que hacerlo. Esto te lleva a un híbrido muy, muy poderoso.
-
Escribe algunas transacciones críticas y complicadas. Python puro, por cierto.
-
No escribe ninguna de las transacciones tontas de mantenimiento de tablas. Ningún código es superior a Python o PHP.
-
Después de que te mojes los pies con el motor de plantillas y CSS, puedes personalizar la interfaz de administración para que se parezca a lo que quieras. Esto es HTML/CSS, no Python ni PHP.
-
Línea de fondo. La mayor parte del conjunto de habilidades es Python. El ORM es, sintácticamente, Python, pero requiere algo de cuidado para hacer las cosas de manera simple y limpia. La plantilla es su propio lenguaje, pero considerablemente más simple que PHP. El resto es SQL, Javascript, HTML, CSS, Apache y demás.
Editar
Madurez de Django
-
Consulte http://www.djangoproject.com/community/ por el número de proyectos activos.
-
Únete a http://groups.google.com/group/django-users para la avalancha diaria de correos electrónicos de los usuarios.
El blog de Django se remonta a 2005, lo que significa que tenían años de experiencia sólida antes de lanzar finalmente 1.0 en septiembre de 2008. Aparentemente, el desarrollo comenzó en 2003.