Yii framework

 

  1. Introducción
  2. Historia
  3. Características
  4. Performance
  5. Docker
  6. Demo





@abassanini
devops.ec/aldo.bassanini
2020

Introducción - Yes It Is!

 

Yii es el acrónimo para Yes It Is!,  que es la respuesta de Yii para 4 acertadas preguntas:

  • ¿es rápido?,
  • ¿es seguro?,
  • ¿es profesional?, ¿
  • es adecuado para mi siguiente proyecto?.


La respuesta es Yes It Is!.

Un poco más de detalle

 Yii es un framework de desarrollo web gratuito, open source, escrito en PHP que promueve el desarrollo rápido, limpio y siguiendo el diseño DRY.


Trabaja para agilizar el desarrollo de aplicaciones y ayuda a garantizar un producto final extremadamente eficiente, ampliable y fácil de mantener.


Busca orientarse a desarrollo desacoplado y 12F

Historia

  • Yii fue desarrollado por Qiang Xue, creador anteriormente del framework Prado. 

  • El proyecto inició el primero de Enero de 2008.

  • Yii 1.0
    • Diciembre 2008, casi un año después de inicio el desarrollo

  • Yii 2.0:Octubre 2014

  • PHP 7: Diciembre 2015

Historia


Yii se ha inspirado en otros proyectos, como por ejemplo:


  • Prado: La mayor fuente de inspiración para Yii (no, no fue Ruby on Rails). De este tomó su diseño basado en componentes, paradigma de programación orientado a eventos, etc.
  • Ruby on Rails: Yii hereda el espíritu de convención sobre configuración . Yii también hace referencia a su implementación del patrón de diseño Active Record para su capa ORM.
  • jQuery: Está integrado en Yii como el framework fundamental de JavaScript .
  • Symfony: Yii hace referencia a su diseños de filtros y su arquitectura de plug-ins.
    • Heredó componentes de Symfony
  • Joomla: referencia su diseño modular y esquema de traducción
  • Muchas Extensiones: Bootstrap, JSON, Vue.js, Fontawesome, RBAC, SMS, Google, etc
    • https://www.yiiframework.com/extensions

características


Model-View-Controller (MVC) design pattern. Database Access Objects (DAO), Query Builder, Active Record, DB Migration.
Form input and validation. AJAX-enabled widgets.
Authentication and authorization. Skinning and theming.
Web services. Internationalization (I18N) and localization (L10N).
Layered caching scheme. Error handling and logging.
Security. Unit and functionality testing.
Automatic code generation. Friendly with third-party code.
Detailed documentation. Extension library.

Performace




Benchmark


Es rápido?


  • Yii es rápido porque utiliza la técnica lazy loading extensivamente.

  • Por ejemplo, no incluye el archivo de una clase hasta que la clase se utiliza por primera vez; y no crea un objeto hasta que el objeto se accede por primera vez.

  • Otros frameworks afectan su rendimiento debido a que habilitan una funcionalidad (conexión DB, sesión de usuario, etc.) sin importar si es utilizada o no en la petición.

Docker

Docker

Imagen relacionada

Docker

Docker

Docker

Docker

Docker

Docker

Docker

Docker

Docker

Docker

Demo






Demo Docker

https://github.com/yiisoft/yii2-app-basic

Gracias

Made with Slides.com