Yii es un marco genérico de programación web, lo que significa que se puede utilizar para desarrollar todo tipo de aplicaciones web en PHP.
Debido a su arquitectura basada en componentes y a su sofisticada compatibilidad de caché, es especialmente apropiado para el desarrollo
de aplicaciones de gran envergadura, como portales, foros, sistemas de gestión de contenidos (CMS), proyectos de comercio electrónico,
servicios web compatibles con la arquitectura REST y muchas más.
¿Cómo se compara Yii con otros marcos?
--------------------------------------
- Como la mayoría de los marcos de PHP, Yii implementa el patrón de diseño MVC (Modelo-Vista-Controlador) y promueve la organización de código basada en este patrón.
- La filosofía de Yii consiste en escribir el código de manera simple y elegante, sin sobrediseñar nunca por el mero hecho de seguir un patrón de diseño determinado.
- Yii es un marco completo que provee muchas características probadas y listas para usar, como los constructores de consultas y la clase ActiveRecord para las bases de datos relacionales y NoSQL, la compatibilidad con la arquitectura REST para desarrollar API, la compatibilidad de caché en varios niveles y muchas más.
- Yii es extremadamente extensible; se puede personalizar o reemplazar prácticamente cualquier pieza de código de base, como se puede también aprovechar su sólida arquitectura de extensiones para utilizar o desarrollar extensiones distribuibles.
- El alto rendimiento es siempre la meta principal de Yii.
Detrás de Yii hay un [sólido equipo de desarrollo][], así como una gran comunidad en la que numerosos profesionales contribuyen constantemente a su desarrollo.
El equipo de desarrollo de Yii se mantiene atento a las últimas tendencias de desarrollo web, así como a las mejores prácticas y características de otros marcos y proyectos.
Las buenas prácticas más relevantes de otros proyectos se incorporan regularmente a la base del marco y se exponen a través de interfaces simples y elegantes.
Actualmente existen dos versiones principales de Yii: la versión 1.1 y la versión 2.0. Para la versión 1.1, que es de la generación anterior, actualmente solo se ofrece mantenimiento.
La versión 2.0 está completamente reescrita y adopta las últimas tecnologías y protocolos, incluidos Composer, PSR, espacio de nombres, rasgos, etc.
Esta versión representa la última generación del marco y su desarrollo recibirá nuestro principal esfuerzo en los próximos años.
Esta guía está basada principalmente en la versión 2.0 del marco.
Para utilizar Yii se requieren conocimientos básicos de programación orientada a objetos (POO), porque el marco Yii se basa íntegramente en esta tecnología.
Yii 2.0 hace uso también de las últimas características de PHP, como [espacios de nombres](http://www.php.net/manual/en/language.namespaces.php)
y [rasgos](http://www.php.net/manual/en/language.oop5.traits.php). Comprender estos conceptos ayuda a entender Yii 2.0.