¿Cuál es la ventaja de Django de Python sobre frameworks PHP similares?

PHP vs Python : ¿qué se necesita para establecer un idioma mejor que otro? Una respuesta puede ser la flexibilidad, el desarrollo amigable, la política de licencias (código abierto o comercial), la comunidad, la portabilidad, la tipificación dinámica, el soporte para un número variable de argumentos de función y la capacidad de congelar objetos vivos en una representación de cadena. La documentación, por supuesto, es un jugador importante cuando elige un idioma porque aún tiene que mejorar su habilidad y aún no ha trabajado en ese idioma en particular. Características que soportan PHP

  • sintaxis muy cercana a C y Perl, con llaves y signos de dólar
  • la instrucción ‘switch’ y ‘do … while’ se construyen como C
  • operadores de incremento y decremento y asignación
  • el operador / declaración ternaria (…? …: …)
  • cuadro esquizofrénico de nombres de funciones. No hay espacios de nombres, por lo que las funciones a menudo tienen prefijos para denotar su origen (pero a menudo no). Las funciones a menudo se colocan en clases para simular espacios de nombres.
  • un lenguaje muy informal, donde los globales se usan a menudo para pasar argumentos ( no se deben usar variables globales, es decir, lenguaje independiente )
  • entorno comúnmente instalado
  • alias (‘$ a = & $ b’ significa que cuando $ b cambia, $ a también cambia) (deben ser “referencias”, no “alias”, sino que se denominan alias)
  • un tipo de matriz que también funciona como una lista y un diccionario. Las claves del diccionario se repiten en su orden original.
  • Excelente documentación
  • Enorme base comunitaria con una enorme base de código de apoyo disponible en línea

Características que admiten Python

  • espacios de nombres y módulos
  • pequeño núcleo
  • sangría para marcar la estructura de bloques en lugar de llaves, lo que hace que el código se vea más bonito
  • sintaxis clara, concisa y ortogonal
  • auto documentado con docstrings y pydoc (PHP 5 tiene cadenas de reflexión y doc)
  • argumentos de palabras clave para funciones y métodos, soporte fácil para argumentos predeterminados
  • verdadera orientación a objetos y clases y funciones de ‘primera clase’
  • las clases se usan ampliamente en la biblioteca estándar
  • herencia múltiple
  • manejo de archivos orientado a objetos
  • método de encadenamiento
  • todo es una referencia
  • declaración ‘del’ para todos los tipos de datos
  • mayúsculas y minúsculas consistentes (PHP lo hace para variables, pero no para funciones) (las funciones no distinguen entre mayúsculas y minúsculas)
  • sintaxis de corte de matriz simple
  • iteradores (PHP 5)
  • manejo estructurado de excepciones (PHP 5)
  • sobrecarga del operador
  • enhebrar
  • muchos tipos de datos de alto nivel (listas, tuplas, dictados, mx.DateTimes, matrices NumPy, etc.)
  • fechas que no se limitan a las marcas de tiempo UNIX ( 2038)
  • soporte para todos los principales marcos de GUI
  • fuerte internacionalización y apoyo de UNICODE
  • madurez, estabilidad y compatibilidad ascendente
  • tiende a conducir a aplicaciones mucho más escalables

A diferencia de PHP, que tiene características de desarrollo web integradas directamente en el lenguaje central, las capacidades de desarrollo web de Python son proporcionadas por módulos adicionales. Las capacidades básicas de CGI son proporcionadas por el módulo ‘cgi’ que viene en la biblioteca estándar de Python. También hay una amplia gama de módulos de terceros disponibles para Python; algunos son complementarios, otros compiten. Como resultado, Python proporciona una base más flexible para el desarrollo web.

More Interesting

¿Cuál es una buena estrategia para competir con una aplicación web ya existente y popular que está dentro del mismo nicho y tiene el mismo propósito general?

¿Cuál es la relación entre los datos y la aplicación web?

¿Cómo es usar New Relic en la producción?

¿Cuáles son los aprendizajes clave que aplica cuando prueba un prototipo de aplicación web?

¿Cuál es el mejor marco web para crear un back office de juegos con MongoDB?

Cómo saber si me gustaría ser un desarrollador de aplicaciones web (como .NET) en el 'mundo real' (en comparación con ahora como estudiante)

Quiero implementar mi aplicación web Java en algún servidor en línea con compatibilidad DB y Java 8. ¿Hay algún servidor gratuito disponible como este?

Me gustaría aprender a construir una aplicación web con Ruby on Rails, ¿dónde debo comenzar?

¿Qué funcionalidad faltan en las tiendas de aplicaciones públicas de negocios como AppExchange, Google Apps Marketplace, GetApp.com, Intuit Marketplace?

¿Puedo usar Microsoft Access Database para una aplicación web PHP?

¿Qué es el 'servidor web' en NodeJS y por qué debería usarse para aplicaciones empresariales en 2016 en lugar de Java / Go / PHP / Python?

¿Qué herramientas utilizan los diseñadores de productos para elegir colores y fuentes para aplicaciones web?

¿Django es una buena opción para una aplicación web tipo cuestionario?

¿Por qué no podemos usar un lenguaje de compilación en una aplicación web directamente?

¿Qué tecnologías utilizarías para construir una aplicación web de este tipo?