Yii

Yii
Тип Фреймворк для створення вебзастосунків
Автор Qiang Xued
Розробник Yii developers team
Стабільний випуск 2.0.1 (7 грудня 2014)
Операційна система багатоплатформовий
Мова програмування PHP
Ліцензія BSD
Репозиторій github.com/yiisoft/yii2
Вебсайт www.yiiframework.com

Yii (вимовляється як «Ї» або [ji:]) — це високопродуктивний вебфреймворк, написаний на PHP, реалізує парадигму модель-вид-контролер.[1] Yii — скорочення від «Yes It Is!»

Історія

Історія Yii почалася 1 січня 2008 року, як проект з виправлення деяких вад фреймворку PRADO (PHP Rapid Application Development Object-oriented), що став в 2004 переможцем «Zend PHP 5 coding contest»[2][3].

Фреймворк PRADO був спробою перенести ASP.NET на платформу PHP, включаючи ViewState, PostBacks, Page_Load та OnClick. Якщо подивитися вихідний код, то можна побачити що деякі шматки коду просто скопійовані з ASP.NET (наприклад, поділ на Rare Fields та Occasional Fields в класі Control[4] з метою оптимізації використання пам'яті, яка має сенс в .NET, але являє сумнівну цінність в PHP).

PRADO успадкував від ASP.NET майже всі негативні сторони: повільно обробляв складні сторінки, мав круту криву навчання і був достатньо важкий у налаштуванні.[5]

У певний момент автор (Qiang Xue) зрозумів, що PHP-фреймворк повинен бути побудований дещо по-іншому, і ось в жовтні 2008 року, після більш 10 місяців закритої розробки, вийшла перша альфа-версія. 3 грудня 2008 був випущений Yii 1.0[1]

Можливості

Порівняння з іншими фреймворками

За результатами тестів phpmark Yii показав найкращу продуктивність.[6]

Справедливості заради, варто відзначити, що продуктивність фреймворків в цих тестах оцінювалася на штучних прикладах типу Hello world. Тести показують час ініціалізації фреймворків, і на їх підставі можна лише зробити висновок, що Yii має якісну підсистему відкладеної ініціалізації (тобто, код завантажується лише тоді, коли він необхідний). Підтвердженої інформації про те, що Yii в «бойових умовах» працює швидше, ніж інші фреймворки, немає.

У блогосфері можна знайти масу статей з порівняльним аналізом фреймворків. В цілому, простежуються такі тенденції:

  • Yii активно розвивається[7]
  • Yii не виглядає «монстром» порівняно з фреймворками Symfony та Zend Framework [8]
  • У деяких порівняльних роботах відзначають високу швидкість вивчення фреймворку, отримання результатів та прототипування у порівнянні з Zend Framework та Symfony. Також наголошують на його стабільності та безпеці.[9][10]

Див. також

Посилання

  • Офіційний вебсайт [Архівовано 25 січня 2018 у Wayback Machine.]
  • Розширення Yii [Архівовано 26 вересня 2012 у Wayback Machine.]
  • Документація Yii [Архівовано 26 вересня 2012 у Wayback Machine.]
  • Yii на Google Code [Архівовано 21 вересня 2012 у Wayback Machine.]
  • Українська спільнота Yii [Архівовано 23 жовтня 2012 у Wayback Machine.]

Джерела

  1. а б About Yii. Архів оригіналу за 27 квітня 2012. Процитовано 22 серпня 2010.
  2. About PRADO. Архів оригіналу за 27 квітня 2012. Процитовано 22 серпня 2010.
  3. PHP5 Coding Competition Winners. Google Blogoscoped. 26 жовтня 2004. Архів оригіналу за 17 листопада 2011. Процитовано 7 лютого 2012.
  4. PRADO, TControl source. Архів оригіналу за 24 серпня 2014. Процитовано 6 серпня 2012.
  5. Yii: a high-performance framework inheriting Prado. 6 жовтня 2008. Архів оригіналу за 27 квітня 2012. Процитовано 22 серпня 2010.
  6. Performance of Yii. Архів оригіналу за 19 серпня 2010. Процитовано 27 вересня 2012.
  7. Yii 1.1.9. Архів оригіналу за 10 березня 2012. Процитовано 27 вересня 2012.
  8. Порівняння PHP фреймворків — Kohana Yii Symfony CodeIgniter. Архів оригіналу за 23 вересня 2012. Процитовано 27 вересня 2012.
  9. Evaluierung von PHP Frameworks. Архів оригіналу за 13 вересня 2012. Процитовано 27 вересня 2012.
  10. Порівняння популярних PHP-фреймворків. Архів оригіналу за 4 вересня 2012. Процитовано 27 вересня 2012.
  • п
  • о
  • р
Каркаси вебзастосунків (веб-фреймворки)
ASP.NET
ASP.NET MVC Framework · BFC · DotNetNuke · MonoRail · Umbraco
ColdFusion
ColdSpring · Fusebox · Mach-II · Model-Glue · onTap
Common Lisp
ABCL-web · blow · BKNR · SymbolicWeb · UnCommon Web
Erlang
BeepBeep · Chicago Boss · Erlang Web · ErlyWeb · Inets · Misultin · Mochiweb · Nitrogen · WebMachine · Yaws
Flex
Cairngorm
Java
Apache Cocoon · Apache Struts · Apache Tapestry · AppFuse · Aranea framework · Click Framework · Cooee framework · Flexive · Google Web Toolkit · Grails · Hamlets · IT Mill Toolkit · ItsNat · JavaServer Faces · JBoss Seam · Makumba · Mentawai · Oracle ADF · OpenLaszlo · OpenXava · Play Framework · Reasonable Server Faces · Restlet · RIFE · Shale Framework · SmartClient · Spring Framework · Stripes · ThinWire · WebObjects · WebWork · Apache Wicket · XTT Framework · ZK Framework
Клієнтські для JavaScript
ASP.NET AJAX · AJILE · Clean AJAX · Backbone.js · Dojo toolkit · Echo JS · Ext JS · jQuery · KnockoutJS · MochiKit · Meteor · MooTools · OpenLink AJAX Toolkit · Prototype · React · qooxdoo · Rialto Toolkit · Rico · script.aculo.us · SmartClient · Spry framework · WinJS · Underscore.js · Yahoo! UI Library
Perl
Catalyst[en] · Interchange · Maypole framework · Mason · Mojolicious
PHP
Akelos PHP Framework · CakePHP · Chisimba · CodeIgniter · Drupal · DokuWiki · eZ Publish · FUSE · Horde · Joomla! · Kohana · MODX · Phalcon · PHP For Applications · PHPOpenbiz · PRADO · Qcodo · Seagull PHP Framework · Simplicity PHP framework · Laravel · SilverStripe · Symfony · VirtueMart · Zend Framework · Zoop Framework · Yii
Python
CherryPy · Django · Flask · Karrigell · Nevow · Porcupine · Pylons · Spyce · TurboGears · TwistedWeb · web.py · web2py · Webware · Zope
Ruby
Camping · Nitro · IOWA · Ramaze · Cerise · Merb · Ruby on Rails
Scala
Lift · Play Framework · Scalatra
Серверні для JavaScript
AppJet · firecat · Helma Object Publisher · Node.js
Lua
Dart
Інші
Alpha Five · Fusebox (ColdFusion і PHP) · OpenACS (Tcl) · Seaside (Smalltalk) · HAppS (Haskell)·