He escrito 2 ERP en PHP antes. Mi respuesta se aplicaría a cada sitio web complejo cualquiera que lo desarrolle.
Esta pregunta necesitaría tocar los pros y los contras del desarrollo y desarrolladores de PHP.
Pros
1) Hecho para la web
No conozco a nadie que inicie PHP como una aplicación de escritorio. Todos comienzan a aprender PHP junto con tecnologías web convencionales, como HTML, CSS y Javascript. Casi todos los desarrolladores de PHP que contrata ya son expertos en tecnologías web de una forma u otra.
- Cómo crear una aplicación de prueba gratuita menos pirateable
- ¿Cuál es la diversidad de la ingeniería de software?
- ¿Qué es un diagrama de estado y cómo puedes hacer uno?
- ¿Por qué los jóvenes de la India están más atraídos por la industria SEO que la industria del software en estos días?
- ¿Qué es un software vocus?
Al estar hecho para la web, literalmente no encontrará ningún problema con el sistema operativo de escritorio.
Y si no está satisfecho con el aspecto del sitio, contrata diseñadores web. Preferiblemente los que pueden diseñar para pantallas móviles.
Y si desea dar un paso más en el campo móvil, puede usar PhoneGap para compilar una aplicación nativa para 7 sistemas operativos móviles diferentes. PhoneGap es bastante similar a la sintaxis HTML, por lo que es muy poca curva de aprendizaje para desarrolladores PHP y desarrolladores web.
Es realmente conveniente desde el punto de vista de RR. HH. Y desde el punto de vista de la gestión de TI, cuando puede reutilizar las habilidades existentes para satisfacer diferentes necesidades.
2) Facilidad de contratación
PHP es posiblemente el lenguaje más popular cuando se trata de desarrollo web. Es realmente fácil encontrar desarrolladores en este idioma. Sin embargo, esta es una espada de doble filo, que explicaré más adelante en la sección Contras, los codificadores de vaqueros.
3) Muchos marcos disponibles, muchos tienen baterías incluidas
PHP, con el tiempo, ha creado muchos frameworks. Cada uno de estos marcos tiene su enfoque, fortaleza y debilidades. Estoy seguro de que alguien estará de acuerdo conmigo, nadie desarrollaría un ERP duradero sin un marco adecuado, independientemente del idioma.
Muchos marcos ya tienen bibliotecas que facilitan el desarrollo, como la autenticación y la autorización. La velocidad de desarrollo es clave cuando se trata del costo del proyecto. Si puedo usar lo que esté disponible, puede ahorrarme muchas horas de trabajo.
4) ERP disponible estándar
Aunque generalmente no estoy a favor del ERP estándar, todavía es algo bueno sobre ERP en PHP. Si está ejecutando una pequeña y mediana empresa, la mayoría de los ERP listos para usar funcionarían para usted. Si puede obtener el código fuente, que generalmente puede, también puede piratear los códigos en lo que quiera.
Contras
1) Difícil de encontrar desarrolladores buenos y experimentados para ERP
La comunidad PHP está llena de muchos codificadores “cowboy”. Muchos nunca han intentado hacer sitios web complejos. Cuando se trata de sistemas empresariales, no puede confiar en los codificadores “cowboy”. Necesitas codificadores empresariales.
Los sistemas empresariales como ERP tienden a durar mucho, mucho tiempo. Sus programadores deben construirlo de tal manera que pueda mantenerse durante un período de tiempo previsible. Debe construirse para poder adaptarse al negocio a medida que evoluciona con el tiempo. No puede pagar la deuda técnica.
2) Tenga cuidado con los datos financieros
PHP sufre de imprecisión de coma flotante. Este problema también afecta a otros idiomas. Entonces, ¿qué es la imprecisión de coma flotante? Echemos un vistazo a un ejemplo:
¿Adivinaste 8? Lo siento, te equivocas. La salida es en realidad 7.
¿Entonces qué pasó? Dejame explicar:
Primera operación: 0.1 + 0.7 // el resultado es 0.79999999999
2da operación: 0.79999999 * 10 = 7.999999999
3a operación: (int) 7.9999999 // el resultado es 7
PHP también se escribe libremente. Entonces, cuando está haciendo cualquier forma de variables numéricas, debe tener en cuenta el tipo. Potencialmente, podría eliminar 99 centavos si convierte de flotante a entero.
Normalmente, un sitio web simple no encontraría tales problemas, pero cuando se trata de datos financieros, una cifra incorrecta puede causar literalmente que pierda no solo su trabajo. Potencialmente, podría tener serios problemas legales con su empresa o su cliente si les causa millones.
3) No tiene ningún ERP disponible para las empresas multinacionales
Para ser justos, en realidad no hay un ERP estándar en ningún idioma. Nunca he visto a ningún MNC comprar un ERP sin ninguna forma de personalización.
Los sistemas ERP grandes en PHP son casi inexistentes para la compra. Por eso tuve que desarrollar 2 sistemas ERP por mi cuenta.
4) PHP no es para procesamiento pesado
PHP está construido para la web, donde los procesos son de corta duración y sin estado. Llegará a un punto en el que tendrá que hacer algunos cálculos pesados. Aquí es donde debe consumir mucho tiempo y memoria. PHP, al no tener estado, le causará problemas cuando procesa big data. Si su proceso falla por alguna razón, debe comenzar todo el proceso nuevamente. A menudo, no puede permitirse un proceso medio ejecutado, que podría corromper los datos existentes.
Para tales situaciones, probablemente ejecute PHP en CLI. Pero ese tipo de derrota el propósito de PHP, que ya está construido para la web. Si va a hacer eso, también podría programar en Java solo para esa parte del sitio que requiere un gran cálculo.
Si aún insiste en usar PHP para el cálculo pesado, entonces probablemente tenga que diseñar el cálculo que permita fallas en la ejecución del proceso. Haría que el diseño de su sistema sea más complejo.
La memoria PHP vive en la RAM. Si está reteniendo datos en RAM, es probable que se quede sin RAM y el proceso fallará, como de costumbre. Y la gestión de memoria no es fácil en PHP. Necesitará a alguien con experiencia, que pueda decirle que, si necesita absolutamente los datos en la RAM en lugar de estar en un archivo o base de datos temporal, debe usar SplFixedArray – Manual en lugar de una matriz normal. Necesita a alguien que sepa todo sobre la optimización de la memoria.
Conclusión
Sí, puedes desarrollar un ERP en PHP. Sin embargo, debe encontrar desarrolladores con mucha experiencia o ser uno mismo, de lo contrario, está en un gran problema y podría unirse al club anti-php. Pero el punto positivo de tener desarrolladores de PHP es que probablemente ya tenga otros sitios web en PHP. Puede reutilizar estos talentos fácilmente y ahorrar muchos dolores de cabeza de recursos humanos.