php - inspinia - smartadmin github
Django o CodeIgniter para la aplicaciĆ³n web Turn-Key (3)
Voy a construir una solución llave en mano para un mercado vertical, y me gustaría ofrecer ambas opciones: software como servicio, y darles la oportunidad de alojar la aplicación por su cuenta. En otras palabras, pretendo tener opciones de implementación similares a las de Joel''s FogBugz.
Soy un programador de Python, y podría volar sobre el proyecto con Django. Aunque hay varias razones por las que prefiero PHP:
1) La instalación de Django y la configuración asumen que tienes acceso a un shell (mi objetivo no es el tipo de programador). Aunque podría ofrecer un servicio de instalación, pero no en sus servidores.
2) Django se ejecuta solo en algunos hosts específicos que deben tener especial cuidado para habilitarlo. Instalando mod_python / mod_wsgi, y muy probablemente la minoría de mis potenciales clientes tendría acceso de root, o incluso un panel de control.
3) Usar PHP significaría que podría ejecutarlo en su servidor existente. No tendría necesidad de moverlos a un servidor habilitado para Django, y no hay tiempo de inactividad para sus correos electrónicos, mientras el DNS se actualiza.
Por otro lado, tengo muy poca experiencia con PHP. Smarty como lenguaje de plantillas se ve bien, y funciona de manera similar a las plantillas de Django. Sin embargo, no ofrece una herencia de plantilla, excepto en una forma muy hackish en la que no deseo utilizarla, ya que podría romper la aplicación si el diseñador lo estropea. ¿Qué piensas? ¡Gracias por adelantado!
La implementación es claramente un problema para todas las aplicaciones web que no están basadas en PHP, pero creo que las cosas mejoran con los ISP de DreamHost / Engineyard que proporcionan Ruby / Python, etc. de fábrica. También parece que va a haber una gran cantidad de discusiones en PyCon esta semana sobre las formas de solucionar los problemas de implementación. El crecimiento en popularidad de Django, Turbogears y Pylons está impulsando la demanda de mejores soluciones de implementación.
Dicho esto, si su mercado objetivo son las personas que alojan un ISP de muy bajo costo de $ 12 al año, entonces no creo que tengan más opciones que PHP.
Finalmente, una cosa con la que estoy en desacuerdo es ejecutar PHP y Django en el mismo servidor. Estoy ejecutando algunas aplicaciones de PHP en mi servidor con Apache y docenas de sitios de Django con mod_wsgi en modo daemon. Ejecutarlo de esa manera significa que el intérprete de Python no usa RAM en los trabajadores de Apache y viceversa, el intérprete de PHP no está contaminando mis demonios mod_wsgi :)
Si desea que su aplicación sea mainstream, entonces su casi obligado ir con PHP. Pasar de Django a PHP es mucho más fácil que ir de PHP a Django. Conoces los estándares, solo necesitas aprender la sintaxis y las funciones de PHP.
Definitivamente usaría un framework PHP. Symfony y akelos son muy similares a Rails (cerca de Django). Por otro lado, Code Igniter, que hace lo que debería, organiza tu código.
Basado en tus propias conclusiones, iría con CodeIgniter. Parece que habría mucho trabajo ayudando a sus clientes a instalar su aplicación web, y supongo que no quiere eso.
Cree una aplicación web fácil de instalar para que pueda concentrar sus esfuerzos en mejorarla y venderla, en lugar de trabajar como administrador de sistemas o escribir extensos tutoriales de instalación.
(Dicho esto, FogBugz no fue fácil de instalar en nuestro servidor Linux, aunque está escrito en PHP. Nos tomó a mí y a mi colega (¡ambos programadores!) Más de un día completo de trabajo para instalarlo. Así que creo que habrá siempre habrá problemas con la instalación de aplicaciones web alojadas en el servidor).