¿Tiene sentido comenzar un nuevo proyecto web en PHP?

PHP es muy popular, por lo que es fácil contratar nuevas personas si las cosas funcionan para usted.

A pesar de las objeciones, PHP no es un mal lenguaje. He intentado algunos, y para un contexto de back-end web lo tomaría sobre Node.js o Java. Todavía no he probado Python ampliamente, pero parece prometedor.

PHP tiene una gran ventaja en el ciclo de retroalimentación. Escribes código y en menos de 2 segundos puedes probarlo. Esto se aplica a cualquier tamaño de base de código, 10 millones de líneas o 10, no hay que esperar para la compilación. Se ha demostrado que este concepto permite un desarrollo más rápido que los lenguajes compilados.

Claro, puede obtener velocidades mucho más rápidas en algo compilado, pero ¿eso importa? ¿Es la diferencia entre un tiempo de respuesta de 5 ms y 10 ms un gran problema para usted? Como sus opciones son Meteor y PHP, dudo que un lenguaje compilado sea una opción.

PHP ha pasado de ser un proyecto paralelo mal diseñado a un lenguaje orientado a objetos bien diseñado, con mucho equipaje.

Dicho esto, sí, PHP está perfectamente bien para nuevos proyectos. Su proyecto se ajusta al caso de uso de PHP, así que hágalo.

Es cuando la gente usa PHP para proyectos que no son de estilo web cuando tienes problemas. Está destinado a aceptar solicitudes y entregar respuestas. Cada solicitud es limpia. No tiene que preocuparse por la caída total de su servicio debido a una condición imprevista. Php-fpm y nginx son confiables. Cuando un usuario hace algo que no espera, los demás nunca lo sabrán.

Depende de qué problemas necesita resolver su código y de cuánto le ayudarán las diversas herramientas.

Si lo que está desarrollando es una buena opción para el punto óptimo de Meteor y aprovecha sus fortalezas, entonces probablemente será mucho más eficiente para él aprender Meteor que intentar construir la misma aplicación en PHP y JavaScript front-end. Meteor le ofrece de forma gratuita muchas cosas que, de lo contrario, tendrá que escribir desde cero, o pegando varias bibliotecas existentes. Es imposible evaluar qué tan adecuado es uno frente al otro sin conocer un * lote * más sobre su aplicación.

Por otro lado, si todo lo que necesita del servidor es JSON para ser consumido por la aplicación iOS, entonces PHP podría estar bien por ahora, y podría ser fácilmente reemplazado por Ruby o Elixir o cualquier otra cosa que decida más adelante para ser una mejor solución . Pero cuanto más compleja y completa sea la función que desempeña su aplicación PHP en su sistema general, más difícil será reemplazarla.

Si planea (¡o espera!) Reemplazar su aplicación PHP más tarde, esto hace que la documentación y las pruebas (o especificaciones) sean mucho más importantes de lo que ya serían. Puede pensar mientras lo construye que nunca olvidará todo lo que tiene que hacer, y cada caso de esquina que tiene que manejar, pero puedo garantizar que lo hará (a menos que sea excepcionalmente simple). Documente cada problema que resuelva, o incluso mejor maneje su código con la biblioteca TDD o BDD que prefiera.

Más allá de esto, el punto principal de otras respuestas (como el de George Moromisato) es básicamente correcto: si no termina la aplicación porque pasa su tiempo buscando o aprendiendo el marco y el idioma perfectos, entonces no lo hará. importar. Es mucho mejor usar un lenguaje y un marco desagradables y, de hecho, construir algo útil de lo que te estás muriendo porque no puedes ser productivo con herramientas nuevas y desconocidas, o quedarte atrapado en el pozo del perfeccionismo. Ninguna elección será perfecta, y cada una implicará cierto compromiso. PHP * podría * ser la mejor opción para su situación, pero tenga en cuenta que su decisión tiene consecuencias y puede lamentar haber elegido PHP. No hay una respuesta simple y le estaría haciendo un mal servicio para dar a entender que la hay.

No importa qué tecnología uses en este momento. Si tiene éxito, va a volver a escribir su back-end de todos modos. Y si falla, es probable que no sea porque su back-end estaba en PHP.

En su etapa, debe concentrarse, maniacamente, en exactamente dos cuestiones:

  1. Construyendo algo que la gente quiera usar.
  2. Trabajando en equipo para que seas más que la suma de tus partes.

Si puede alcanzar el # 1 más rápido usando PHP, entonces debe usarlo. Todas las demás consideraciones son secundarias. Parece que su cofundador sería más productivo en PHP; Esa es una razón suficiente, en mi opinión, para ir con esa tecnología.

De cualquier manera, para llegar al # 2, debes resolver esto con tu cofundador, no con un extraño al azar en Quora.

PHP es un lenguaje horrible, explicar qué tan horrible es y cómo hará que sus programas tengan errores y se rompan es otra respuesta larga.

Para responder a su pregunta, teniendo en cuenta su situación (supongo que su socio tiene experiencia con PHP y solo una startup de 2 desarrolladores que intenta hacer algunas cosas con bastante rapidez);

Usaría PHP para la creación de prototipos y un desarrollo más rápido, no es necesario aprender nuevos lenguajes o bibliotecas para intentar construir algún producto que no sabe si tendrá éxito o no. Puede escribir pequeños servicios web en PHP rápidamente y hacer cambios más rápido. Eventualmente, su código se saldrá de control, pero eso es completamente otro problema y es prematuro pensar en eso por ahora.

Simplemente use PHP, cree su producto y ejecútelo. Si tiene éxito, deberá reescribirlo de todos modos. Piense en Facebook, incluso han desarrollado una máquina virtual PHP (HHVM) para que sea más rápido para las partes que no pudieron salir de PHP.

Es tan malo, horrible y enferma a los desarrolladores, pero está bien para su caso.

Estoy de acuerdo con George (¡con quien trabajé en el pasado! – Hola George) ya que él hace un excelente comentario. Ustedes tienen que estar de acuerdo y, en última instancia, se trata de productividad y calidad. Además, si se está desarrollando con aspiraciones de ser adquirido, tener tecnologías dispares lo hará menos atractivo en comparación con otros que parecerán más cohesivos y tendrán una mejor sinergia.

Nunca he oído hablar de meteoritos. Sin embargo, puedo decir que después de usar C, Pascal, BASIC (old school, vb 3-6, .net) ASP, Perl y, sí, PHP, ese PHP es el menos mantenible. Esta es sólo mi opinión. Por supuesto, hay muchos desarrolladores de php y código heredado, por lo que los recursos se vuelven menos problemáticos a largo plazo si su empresa crece.

Qué tan “viejo” es algo, no es realmente un buen criterio.

No has dicho mucho sobre lo que estás haciendo. Existen buenas razones de seguridad, corrección y rendimiento para evitar PHP.

Incluso podría racionalizar su uso, tal como somos, porque tenemos un nivel medio seguro y eficiente en nuestro sistema. Pero he tenido experiencias extremadamente malas al ver que PHP se aplica a los problemas incorrectos.