2011-08-16 14 views
9

Estoy a punto de comenzar un nuevo proyecto y estoy pendiente de qué lenguaje/marco utilizar. He sido programador de PHP profesionalmente, pero no estaba en la escala de este proyecto. He jugado con RoR y he quedado muy impresionado hasta ahora. En este momento, los dos principales candidtates son RoR y Symfony2.Nuevo proyecto: Ruby on Rails o Symfony2 (u otro marco)

Mi mayor cuelga con RoR: - no sé ruby, o apenas lo hago. Puedo leerlo bien, pero quedarme atrapado escribiendo el código. - He leído quejas de que es lento, y parece ser lento solo en la CLI.

Mis principales problemas con Symfony2: - prácticamente no hay documentación para ello. Symfony1.x? seguro ... pero no symfony2 - también hay poco apoyo. el BB en su sitio es como 80% de spam. - fui a instalarlo en un entorno local de desarrollo que no pude siquiera ejecutar (ver mi primer cuelgue)

este proyecto será bastante complejo e irá más allá de las operaciones CRUD básicas. no está bajo una línea de tiempo muy apretada, pero hay una. ~ 3 meses para el hito1, que es básicamente un calendario, algunas cosas de organización financiera (no transacciones con instituciones financieras, solo material de tipo de organización financiera personal) y un administrador de proyectos/cms.

también, estoy abierto a usar otros marcos, pero symfony2 parece ser el mejor en este momento. si Symfony2 tuviera el soporte/documentación/tutoriales/etc de RoR, sería una obviedad.

estoy realmente interesado en escuchar lo que el stackoverflowverse tiene que decir al respecto. estoy constantemente impresionado con la calidad de las respuestas/respuestas en este sitio.

algunas otras subpreguntas (que están en mi cabeza en este momento): - si usted recomienda un marco de trabajo php diferente, ¿por qué? - ¿Cuáles son tus principales quejas con respecto a alguna de las opciones mencionadas?

sé que CakePHP es el más cercano a RoR, pero he estado leyendo que los modelos son un poco inseguros (de muchas a muchas relaciones y tal).

en este momento, me estoy inclinando hacia RoR. En pocas palabras, realmente quiero aprenderlo y podría hacer el trabajo. Simplemente no conozco a Ruby y estoy listo para mucho sobre Symfony2.

cualquier consejo que pueda ofrecer será muy apreciado. ¡Gracias!

+0

Si quiere aprender un nuevo idioma mientras trabaja en este proyecto, recomendaría Python y Django sobre Ruby y RoR. – solarc

Respuesta

9

Para mí Symfony2 ha sido excelente hasta ahora. La documentación es escasa en comparación con Symfony1.x pero es mucho más fácil comenzar en Sf2 y, como las cosas son muy explícitas, requiere menos conocimiento de cómo funciona el marco interno.

Hay un script de aplicación/check.php que le avisará de cualquier dependencia necesaria para ejecutarlo, y la compatibilidad ocurre principalmente en su mailing list que es muy activo (ni siquiera sabía que había un BB). Algunos componentes, como Twig, también tienen sus propias listas.

+0

ni siquiera sabían que tenían una lista de correo ... por lo general no puedo soportarlos así que tal vez lo pasé por alto. gracias ... ya lo veré. – afxjzs

+0

Se trata de ** Twig **: p – Ouadie

22

Personalmente, recomendaría que si está comenzando un nuevo proyecto que es el proyecto más grande que haya tenido que hacer, entonces debería quedarse con lo que sabe mejor. Esto pasa a ser PHP.

He usado Ruby o rieles. De hecho, tenemos algunas aplicaciones de producción en nuestra compañía que usan RoR. La mejor forma en que aprendí RoR fue trabajando en pequeños proyectos. Nunca hubiera considerado elegir un lenguaje de programación con el que no estoy familiarizado y, además, aprender un nuevo marco para comenzar a codificar un gran proyecto.

En cuanto a Symfony2, comenzamos a usarlo hace un par de semanas. Symfony2 es un excelente marco y parece muy prometedor. Está limpio, muy desacoplado y rápido. Sin embargo, nos encontramos con demasiados errores/dolores de cabeza/inconsistencias en Symfony2 para continuar usándolo. Comenzaremos a trabajar de nuevo una vez que haya madurado y la documentación crezca (muchos de los documentos no están actualizados). Con suerte, lanzarán algún tipo de tutorial de Jobeet, pero para Symfony2.

Pasando a CakePHP. La base de código de CakePHP es antigua. De hecho, funciona bien en PHP 4.3.2. No aprovecha todas las bondades que PHP5 tiene para ofrecer (clases de absract, interfaces, propiedades protegidas privadas &, excepciones, métodos mágicos, anotaciones, pasar objetos por referencia, etc.) Capa de abstracción de la base de datos de CakePHP, aunque ha tenido mejoras , no es increíblemente eficiente una vez que las estructuras de su base de datos se vuelven demasiado complejas (muchas combinaciones, por ejemplo) se derrumba bastante mal.

Pasando a Symfony 1.4, que he usado durante muchos grandes proyectos

Me gusta utilizar porque:

  1. PHP5
  2. sistema de eventos
  3. inyección de dependencias
  4. sistema de almacenamiento en caché
  5. Formularios (buena integración con Doctrine 2) De hecho, esta es mi característica favorita.
  6. Muchos plugins (sfGuard para la gestión de usuarios, por ejemplo)
  7. Twig (buen lenguaje de plantillas)
  8. altamente configurable
  9. Escalable (aunque no tan rápido como Symfony2)
  10. Una gran cantidad de documentación (tutorial Jobeet es grande)

Si PHP es por el momento su fuerte y hay que empezar a trabajar en un gran proyecto a continuación, empezar a utilizar un marco basado en PHP que conozca la sintaxis y funciones del lenguaje mejores.

Pase a RoR cuando tenga que hacer un pequeño proyecto.

Sólo mis 2 centavos.

Lo mejor de la suerte.

+0

gracias por su respuesta. sin embargo, hasta el momento se aprobó app/check.php y la comprobación que se hace en config.php pasó ... y luego no funcionó (ver: http://stackoverflow.com/questions/7072552/symfony2-trips -right-out-the-gate) así que sí ... no me impresionó hasta ahora. quiero comenzar este proyecto ahora, y no en tecnología antigua/obsoleta (symfony1.x) cuando ya hay un symfony2 ... eso realmente no tiene sentido ... a menos que me falta algo. – afxjzs

+2

Symfony 1.4 no está desactualizado. Symfony 2 simplemente hace uso de nuevas funciones en php 5.3, concretamente espacios de nombres. Symfony 2, si bien puede ser lanzado en el presente, sigue sufriendo una variedad probable de cambios hasta que se convierta en una plataforma de desarrollo madura. si compara el árbol de sf 1.x y mira los cambios entre 1.0 y 1.4, piense en cómo sf2 todavía está en una versión 2.0. los marcos web son solo formas inteligentes de analizar y concatenar cadenas. la tecnología anticuada apenas se aplica a los marcos web a menos que sean realmente anticuados. sf2 no ​​hace nada de lo que sf1 no es perfectamente capaz. –

+0

el sistema de paquetes y el reemplazo de partes del paquete "de terceros" a nivel local es la gran atracción/ventaja que vi en s2 después de años de trabajar principalmente con s1. Todavía no he escrito ningún proyecto en s2, por las razones que @ alex.pilon da – yitznewton

9

Este es un tema antiguo pero las cosas han cambiado un poco y recomendaría Symfony2. Su documentación actual es excelente (symfony.com) y es mucho más fácil de aprender para los novatos. Lo intenté con RoR, pero con Symfony me metí en él mucho más rápido.

0

Voy a repetir los comentarios de solarc sobre Symfony 2. Lo usé para un par de pequeños proyectos, y estoy empezando algo más ambicioso con él esta semana. Me gustaría ver un tutorial completo al estilo de Jobeet, pero la documentación principal es lo suficientemente buena como para comenzar a usar mi humilde opinión. Le doy una lectura completa, y he aprendido algunas cosas que extrañé usar la documentación como una simple referencia.

Encontrar paquetes fue mi mayor frustración, pero la documentación menciona knpbundles.com, y eso parece ser un excelente recurso.

2

Estoy sorprendido de cómo nadie ha mencionado la comunidad GEM súper rica para Ruby y, por lo tanto, para Ruby on Rails, simplemente hay tanta funcionalidad por ahí, tanta gente trabajando en algunos proyectos MIT/de código abierto . Para mí, la comunidad es lo que me impulsa a elegir un marco sobre otro. La cantidad de configuraciones y diferentes motores de plantilla, hay mucho por ahí para ruby ​​on rails.

Para una comprobación tabla de comparación de esto:

http://vschart.com/compare/doctrine-php/vs/ruby-on-rails

Al final del día, todo se reduce a lo que usted sabe, pero no hay que ignorar la comunidad y la funcionalidad que se ha escrito para usted ya, sin cargo ...

+0

¿Por qué no preferir el compositor sobre Gemfile? –

+0

Creo que el último atributo de esta "tabla" trata de que estos debates de comparación usualmente terminan con :) –