2010-03-06 30 views
9

He estado incursionando en lenguajes de programación/scripting desde que era un niño. Empecé con HTML y CSS, luego pasé a PHP (que obtuve bastante bien) y luego a Python, Perl y C (++). Recientemente hice mucho trabajo en PHP (junto con MySQL).¿Debo usar PHP/MySQL puro para desarrollar aplicaciones web?

Después de pasar tanto tiempo aprendizaje idiomas, ahora quieren hacer algo con ellos. Estoy buscando comenzar/contribuir a un proyecto de código abierto; casi seguro una aplicación web de algún tipo.

En mi experiencia con aplicaciones web de escritura (ciertamente pequeñas), he encontrado que escribir PHP "puro" es un proceso extremadamente lento y tedioso.

Mi pregunta es esta: si tuviera que escribir desde cero una aplicación web relativamente compleja/grande, ¿en qué debería escribirla? ¿Debo usar PHP/MySQL puro o usar un framework como Django, Rails o CakePHP?

+0

No utilice PHP. (http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/) Descubrirá que pasa la mayor parte del tiempo haciendo cosas frontend en HTML + CSS + JS y la plantilla correcta Usar PHP para la parte del controlador es solo una mala elección. Pruebe el matraz + Jinja2 + Bootstrap o algo así mientras separa la lógica de la presentación. El mundo no necesita más programadores PHP. Pero sí, Framework, pero no sin comprender correctamente lo que hace. – sleeplessnerd

Respuesta

14

Escritura de una aplicación compleja a partir de cero, Yo sin duda no utilizar "PHP desnuda": Sin duda utilizar un marco: proporcionan:

  • un gran número de clases/métodos útiles
  • un conjunto de reglas - como "en los que el directorio debe ser salvado controladores", "cómo escribir un punto de vista", ...
  • MVC - es decir, que ayudan a una mejor estructuración del proyecto

Tenga en cuenta que esta respuesta es válida tanto para proyectos personales como para proyectos profesionales.


Hay varios marcos en PHP, como:

Una cosa para recordar: aprender a usar un marco bien llevará algún tiempo: comenzando con un pequeño proyecto, antes de ir a un grande, probablemente sería una buena idea ;-)


Ahora, cuando te estás preguntando "¿qué marco debería elegir?", es principalmente una cuestión de preferencias personales ...Y aquí hay un par de preguntas/respuestas que podrían ayudar un poco:


Como eres preguntándome qué Marco Yo elegiría ; así:

  • me gusta mucho Zend Framework, y con frecuencia utilizar Doctrine como ORM (que es el ORM por defecto de Symfony, pero se puede utilizar muy fácilmente con ZF)
  • Si tuviera que elegir otro, lo haría probablemente vaya con Symfony, ya que he visto que se usa en un par de proyectos en el trabajo, y que muchas personas que trabajan con él y como él
+0

¿Recomendarías algún framework específico? –

+1

Me gusta mucho CakePHP – user103219

+0

No necesariamente estoy buscando un framework PHP; Miré a Rails y a Django, aunque no con gran detalle. –

2

Si ya conoce ese idioma, se debe utilizar definitivamente un marco (a menos que seas un masoquista).

Para mí, además del hecho de que generalmente se incluyen con todo tipo de geniales bibliotecas, usar un marco se trata de usar el tiempo de manera efectiva.

Lo más importante, le ahorrará tiempo. Está liberado de los detalles de preocuparse por la base/arquitectura y puede dedicar su tiempo a las características de la aplicación.

Además, ahorrará otros tiempo; especialmente porque planeas ser todo de código abierto.

+0

Otra opción es escribir tu propio kind-of-framework –

+0

A menos que intente aprender un idioma, reinventar la rueda no es un buen uso de su tiempo; a menos que, por supuesto, pienses que puedes hacer una rueda mejor (luego más poder para ti). –

0

Depende de quién va a trabajar con el código, en qué plataforma debe ejecutarse y cuán compleja debe ser la base de datos.

Si se desarrolla para una empresa o comunidad, siempre es más fácil usar PHP porque hay muchos otros que lo conocen, por lo que para las empresas es más fácil contratar a alguien que conozca el idioma.

Si en su mayoría desea desarrollarse por su cuenta, use lo que más le gusta, incluso escuché de sitios web escritos en puro ceceo común.

Si la aplicación puede ejecutarse solo en Windows, C# también es una buena solución, ya que puede desarrollar aplicaciones web extremadamente rápido y la biblioteca .NET facilita muchas tareas.

Como base de datos puede usar MySQL si la estructura es simple pero para las bases de datos más complejas usaría Postgres ya que el rendimiento de MySQL parece disminuir rápidamente con la complejidad creciente (opinión subjetiva).

EDITAR: Como otros señalaron, los marcos siempre son una buena idea. Hay marcos web para la mayoría de los idiomas actuales. Para PHP CakePHP me fue recomendado recientemente.

1

dependiendo de su nivel de habilidades, sí puede hacerlo en PHP puro sin marcos. Esto también será bueno, IMO, para mejorar tus habilidades en depuración, lógica y otros. Pero, por otro lado, restringirá a otros programadores para mejorar/mantener su código debido a la curva de aprendizaje, en este caso, el marco sirve como un lenguaje común.Recomiendo que si su proyecto será complejo, o con la posibilidad de que otros programadores se unan al proyecto, elija un marco en el que se sienta cómodo y úselo.

Cuestiones relacionadas