Loading AI tools
З Вікіпедії, вільної енциклопедії
TurboGears (укр. ТурбоГірз) — вебфреймворк, написаний мовою програмування Python, що складається з декількох WSGI-компонентів: WebOb, SQLAlchemy, Genshi[en] та Repoze.
Тип | Вебфреймворк |
---|---|
Розробник | Kevin Dangoor (оригінальний розробник), Mark Ramm (TG2 lead) |
Перший випуск | вересня 2005 |
Стабільний випуск | 2.4.0[1] (10 травня 2019 ) |
Версії | 2.4.3 (1 березня 2020)[2] |
Платформа | Кросплатформенний |
Мова програмування | Python |
Українська мова | немає |
Ліцензія | MIT License, LGPL |
Репозиторій | github.com/TurboGears/tg2 |
Вебсайт | www.turbogears.org |
TurboGears побудовано на архітектурному шаблоні модель-вид-контролер (англ. Model-view-controller, MVC), так само як Struts або Ruby on Rails. Використання TurboGears робить розробку вебдодатків на мові Python простішою і доступнішою для підтримки. Починаючи з версії 2.3 фреймворк має «мінімальний режим», який дозволяє йому працювати як мікро-фреймворк[en]. Режим мікро-фреймворку доцільно використовувати в середовищах, де не потрібен весь стек.
TurboGears побудовано на базі численних різнорідних бібліотек та проміжного програмного забезпечення. Засоби за замовчуванням змінилися між версіями 1.x, 2.x та 2.3+, але більшість цих компонентів може бути використана у будь-якій версії фреймворку. Це дає можливість для створення великої кількості альтернативних конфігурацій. Нижче наведено основні компоненти фреймоворку.
До версії 2.3 також може використовуватися:
Мови шаблонів, окрім Genshi[en], можна використовувати через конфігураційний файл програми користувача. Плагіни, що наразі підтримуються в 2.1 це Myghty, Jinja, Mako, Cheetah[en], та Kajiki. Підтримка Kid в даний час не планується, оскільки Genshi практично ідентичний плагін. Цей список може змінюватися в майбутніх версіях.
TurboGears спочатку було створено у 2005 році Кевіном Дангуром як фреймворк для ще не випущеного проєкту Zesty News. Коли в кінці вересня 2005 року він опублікував його як фреймворк з відкритим вихідним кодом, за перші 3 місяці він отримав більше 30 000 завантажень скринкастингів.
У січні 2007 року Кевін Дангур пішов у відставку як керівник проєкту, Альберто Вальверде став керувати проєктом як його наступник[4], але згодом також пішов у відставку через інші особисті зобов'язання. Альберто все ще бере участь у спільноті TurboGears через свій проєкт ToscaWidgets2. Проєкт TurboGears зараз спільно керується групою з приблизно півдюжини основних розробників на чолі з Марком Раммом (ведучій розробник TurboGears 2) та Флораном Айде (менеджер релізу Turbogears 1.x).
У червні 2007 року співтовариство почало експерименти, щоб зробити TurboGears API головним компонентом та протоколом, який використовується в Pylons і з'явилося припущення, що ці два фреймворки можуть нарешті об'єднатися[5]. Тим не менш, офіційна документація TurboGears 2 стверджує, що це навряд чи відбудеться через «різні, але сумісні пріоритети»[6] обох проєктів. Pylons хотіли залишатися зосередженими на низькому рівні, розширенні дизайну, в той час як TurboGears зосередилися на наданні повного, зручного для користувача пакету. Але вони співпрацюють багато в чому так само, як Debian і Ubuntu зараз. Нова гілка 2.x мала свій перший стабільний реліз у травні 2009 року.
Станом на осінь 2008 року, TurboGears має велике та життєздатне співтовариство з понад 3000 користувачів в списку розсилки, опубліковану в листопаді 2006 року книгу, та ряд програм з відкритим кодом та патентованих TurboGears, розгорнутих у реальному світі. Розвиток прогресує в помірному, але постійному темпі, який було підживлено успішною участю проєкту в якості організації наставництва Google Summer of Code в 2008 та 2009 роках. TurboGears версії 1.1, який створено для допомоги переходу до версій 2.x, було випущено в жовтні 2009 року. Нова редакція книги перебуває в стадії оновлення відповідно до змін, які з'явилися в TurboGears версії 2.
У 2010 році проєкт трохи похитнувся. Провідних розробників відкликали через реальні проблеми у житті. Однак до кінця січня 2011 року, проєкт почав реорганізуватися і працювати над поверненням на шлях розвитку. Після декількох місяців, отримавши порядок в інфраструктурі і працюючи над проблемами кодування, TurboGears випустила нові версії (2.0.4 та 2.1.2).
У 2013 році, підтримуючи зворотну сумісність, проєкт відійшов від кодової бази Pylons, щоб підтримати Python 3, забезпечити прискорення та спростити процес інсталяції. З цими змінами було випущено версію 2.3.0 у серпні 2013 року. Також було оголошено про більш швидкий цикл випуску, який повинен привести до публікації релізів приблизно кожні 3 місяці.
Розробка TurboGears тепер орієнтована в першу чергу на нову гілку 2.x, з версією 2.3, яка зараз підтримує Python 3.
Шляхи переходу з гілки 1.x до гілки 2.x забезпечуються через версії 1.1 і 1.5, які переміщують ORM за замовчуванням та мови шаблонів до тієї, що використовується в серії 2.x. Команда TurboGears дала зрозуміти новим користувачам, що 2.x — це майбутнє, а 1.x — лише для зручності існуючих користувачів.
Протягом 2011 року провідні розробники TurboGears вели переговори з проєктом Pylons для об'єднання сил з ними та розробниками Repoze.BFG's як нового уніфікованого проєкту під назвою Pyramid. У зв'язку з проблемами зворотної сумісності цього кроку, та гарантіями TurboGears бути надійною платформою в довгостроковій перспективі, нинішня команда вирішила співпрацювати з проєктом Pylons у всьому можливому, але не на основі ядра TurboGears на Pyramid[7].
Подальша розробка, підтримка Python 3 і поліпшення швидкості відбулися в гілці 2.3, в якій було повністю переписано ядро TurboGears, зберігаючи при цьому зворотну сумісність з існуючими додатками. Починаючи з версії 2.3 TurboGears має власне ядро, і не використовує фреймворк Pylons[8].
В серії 2.3 фреймворк експериментував з так званим «мінімальним режимом», який дозволяє діяти як мікро-фреймворк де-факто зменшуючи залежності від 10-х до всього 3-х. Що дозволило позиціонувати TurboGears між Flask і Django в родині фреймворків на Python, оскільки він має на меті масштабуватися від мікро-фреймворку до повноцінного фреймворку в залежності від того який пакет використовується — TurboGears2 або tg.devtools.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.