2009-10-06 8 views
12

Estoy a punto de comenzar el desarrollo de un nuevo sitio web y he estado investigando sobre PHP Frameworks. No soy un desarrollador avanzado de PHP, pero he estado desarrollando sitios web y aplicaciones (en asp.net) desde hace algunos años.¿Estoy haciendo la elección correcta al elegir Yii como mi PHP Framework?

Mi sitio web se basará principalmente en AJAX (usando jQuery) y haciendo muchas llamadas a servicios web. Después de algunas investigaciones, esto es lo que se me ocurrió:

CakePHP: Originalmente comencé a desarrollar en esto, pero me pareció demasiado complejo. El hecho de que te obligue a utilizar y aprender todo este material nuevo solo para usarlo fue un tanto desalentador, así que lo dejé de lado por el momento.

Zend: El rendimiento del framework me deja un poco escéptico, pero escuché que tiene un gran soporte para la creación de servicios web. También escuché que fue un poco complejo.

CodeIgniter: No hay un motivo real para no usar este. De acuerdo con lo que he leído, CodeIgniter y Yii son muy similares, pero Yii es un poco más rápido y no tiene un código innecesario para PHP4 (ya que planeo desarrollar exclusivamente en PHP5).

En cuanto a Yii, lo único que me asusta es que es más nuevo que los otros marcos, por lo que tiene una comunidad más pequeña. Tampoco parece tener un montón de soporte de servicios web (solo SOAP, según entiendo) en oposición a Zend.

Así que mis preguntas se reducen a:

  1. caso de estas cosas me preocupe? (no es tan grande como una comunidad, soporte de servicio web deficiente)
  2. ¿Hay algo más que deba investigar?
  3. ¿Es correcto mi elección de Yii sobre los otros frameworks para una aplicación web principalmente basada en AJAX?

Bara

+0

Para cualquiera que se pregunte qué marco elegir, lea y mire Tío Bob: http://stackoverflow.com/a/18853233/1614973 –

Respuesta

11

Necesita documentar los requisitos de su proyecto y las razones detrás de por qué un marco es incluso necesario en primer lugar. Luego mira el futuro del sitio y la funcionalidad asociada. A continuación, elija el marco que proporcione la funcionalidad más sólida para satisfacer esos requisitos. No te obsesiones con las opiniones. Lea la documentación e identifique los componentes que desea utilizar, limite su búsqueda desde allí y luego experimente con todos ellos.

El desempeño de su diligencia debida le recompensará no solo a usted sino a su cliente que está pagando las facturas.

Para resumir:

  1. identificar los componentes requeridos del sitio.
  2. Investigue los marcos e identifique las coincidencias para sus requisitos.
  3. Experimenta y aprende cuáles funcionan mejor para este trabajo.

Adiciones Editar/Opinión:

Si esto es simplemente un proyecto de crecimiento personal, entonces me gustaría ver en el uso de lo que va a buscar la mejor en su curriculum vitae. Zend tiene el nombre más grande y un producto sólido, por lo que ganan de forma predeterminada porque es el viejo "no se puede despedir para el argumento de IBM". Algunos grandes jugadores están utilizando Symphony, pero es una gran curva de aprendizaje. Yii, Cake, Kohana tienen pros y contras y son geniales a su manera.

+0

buena respuesta, mucho mejor que la mía :) –

+0

eres amable. :-) –

+0

No hay cliente, este es un proyecto principalmente para mí, así puedo aprender, divertirme y quizás usarlo en el futuro. El sitio realmente solo necesitará una página, y la mayoría de las interacciones extraerán contenido según la acción. Probablemente cargaré más desde otra página. Como puede ver en mi publicación inicial, investigué algunos marcos, simplemente me preguntaba si he tomado la decisión correcta o si me he perdido algo. CakePHP es realmente el único que realmente probé en profundidad, y no me gustó. Otra cosa que me gustaría señalar es que realmente no quiero hacer nada de línea de comandos. – Bara

0

Casi todos los framework web moderna tiene un excelente soporte para XHR/Ajax. Realmente se reduce a tus preferencias personales en función de tu conocimiento actual del idioma en lo que respecta al marco que más te guste.

También aconsejaría a Kohana ya que es bastante estable, maduro y tiene un excelente soporte.

No lo sabrás hasta que juegues con el armazón, te sugiero sumergir los dedos de los pies en algunos de ellos.

4

Como desarrollador principal de Yii, quizás no soy del todo justo (¡pero quiero hacerlo!), Sin embargo, por objetividad debo mencionar que probé Zend y CodeIgniter antes.

En las versiones anteriores de Yii, benchmark tests fueron muy impresionantes, y como el liderazgo no quiere tener este marco inflado, no todas las solicitudes de características se implementan. Esto puede sonar un poco decepcionante, pero si tienes suficiente experiencia en programación y diseño, ya eres consciente de su potencial.

Por otro lado, Yii aún admite una gran variedad de soluciones prácticas y de la vida real. Esto es algo subjetivo, pero si nos fijamos en las clases de uso frecuente, descubrirá su poder en cuestiones reales.

La documentación (especialmente la API) es muy precisa y muy específica, lo que puede parecer extraño y frío en las primeras horas, pero a la larga, definitivamente facilitará su trabajo (a diferencia de los de moda docbuddies, que desearía hacer amigos en las firmas de métodos).

Todos estos contribuyen a su tiempo de desarrollo. ¡Las personas pueden crear aplicaciones serias en cuestión de semanas!

+0

¿Cómo es el soporte de terceros para Yii, específicamente para complementos/módulos? – Bara

+0

Dos desarrolladores principales (incluido el líder) también trabajan en un proyecto llamado Zii, que es un repositorio de extensión oficial para Yii. Hasta ahora no está muy maduro, pero hay casi cien extensiones aportadas por el usuario. Por diseño, la arquitectura le permite conectar otras bibliotecas (como clases Zend) muy fácilmente también. – pestaa

5

He solía ser un desarrollador de Symfony, CakePHP, Zend Framework, Kohana y CodeIgniter, pero hace alrededor de 1 año descubrí Yu, mi primer (y segundo y tercero) impresión fue excelente:

  • Fácil de aprender
  • Fácil de implementar
  • Fácil de utilizar y extender
  • muy, muy, muy rápido
  • apoyo de muchos idiomas
  • Soporte de muchos software, servidores y aceleradores
  • Soporte de MySQL, PostgreSQL, SQLite y Oracle ... El soporte de Firebird es beta.
  • Muchas otras características que no recuerdo en este momento.

Descárguelo, úselo e implemente su proyecto con él, ... se sorprenderá.

Ahora haga sus preguntas:

  1. caso de estas cosas me preocupe? La comunidad no es tan pequeña como parece. Actualmente, Yii tiene una comunidad activa. No somos pocos.
  2. ¿Hay algo más que deba investigar? Debería ver sus necesidades: la base de datos que usará, el servidor web y otros, como dijo Randy.
  3. ¿Mi elección de Yii sobre los otros frameworks está bien para una aplicación web principalmente basada en AJAX? Sí lo es.
+0

No creo que haya dado suficiente tiempo para realmente aprender los marcos. Tantos frameworks aprendidos en tan poco tiempo. –

+1

Aprendí esos marcos hace algunos años, sin embargo, desde que aprendí YiiFramework no trabajo con ellos. Mi experiencia en frameworks es: Kohana (6 meses), CodeIgniter (2y), ZF (1y), CakePHP (1y), Symfony (6m) – robregonm

+0

Estoy de acuerdo en que Yii es fácil de aprender. Esto es tremendamente importante para mí. No solo hace que sea más fácil atraer a otros desarrolladores, sino que también le permite comenzar a desarrollar su aplicación en lugar de pasar días aprendiendo cómo hacer algo que todas las aplicaciones necesitarán. –

4

En 1 año y medio usando Yii, tengo alrededor de 15 sitios en línea, todos funcionan a la perfección, rápido, y Yii hizo muy fácil crearlos. Y la mayoría de los sitios no son triviales, son grandes sitios del mundo real. Puedo proporcionar enlaces si así lo solicita.

Así que puedo asegurarle que al elegir Yii ciertamente podrá hacer cualquier clase de sitio que desee, y será rápido y seguro.

Cuestiones relacionadas