TurboGears (укр. ТурбоГірз) — вебфреймворк, написаний мовою програмування Python, що складається з декількох WSGI-компонентів: , SQLAlchemy, [en] та .
Тип | Вебфреймворк |
---|---|
Розробник | Kevin Dangoor (оригінальний розробник), Mark Ramm (TG2 lead) |
Перший випуск | вересня 2005 |
Стабільний випуск | 2.4.0 (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
TurboGears побудовано на базі численних різнорідних бібліотек та проміжного програмного забезпечення. Засоби за замовчуванням змінилися між версіями 1.x, 2.x та 2.3+, але більшість цих компонентів може бути використана у будь-якій версії фреймворку. Це дає можливість для створення великої кількості альтернативних конфігурацій. Нижче наведено основні компоненти фреймоворку.
Компоненти TurboGears 1.x
- SQLObject (Model) — backend даних, який може створити базу даних або інтерфейс з набором існуючих даних.
- SQLAlchemy встановлено за замовчуванням у TurboGears з версії 1.1.
- [en] (Вид) — XHTML frontend двигун шаблонів, де всі шаблони є дійсними XHTML або XML-файлами, які зазвичай створюються таким чином, щоб була можливість відкривати ці шаблони як прості XHTML-файли для перевірки дизайну. Одночасно існує можливість вбудовувати фрагменти на мові Python в манері притаманній XML.
- [en] наступник Kid і замінить його в якості шаблону двигуна за замовчуванням в TurboGears з версії 1.1. Це компонент майже на 100 % синтаксис-сумісний з Kid.
- CherryPy (Controller) — проміжне програмне забезпечення, що дозволяє розробляти вебдодатки, записуючи обробники подій, які повертають дані шаблонам (у випадку TurboGears). Ті ж дані можуть бути отримані в AJAX як потік даних JSON.
- [en] — краща, але необов'язкова бібліотека JavaScript для TurboGears 1.x. Цей компонент призначено для того, щоб зробити програмування в JavaScript більш «пітонічним» (у відповідності до філософії та стандартів мови Python). В основному він використовується для реалізації функцій та віджетів AJAX, оскільки він надає інтерфейс для отримання потоків даних JSON асинхронним способом.
Компоненти TurboGears 2.x
- SQLAlchemy (Модель) — визначає як зв'язати колекції MongoDB з об'єктами Python, з якими може взаємодіяти контролер користувача.
- Ming (Модель) — забезпечує рівень доступу до даних для MongoDB, схоже на те як SQLAlchemy визначає як зв'язати колекції MongoDB з об'єктами Python, з якими може взаємодіяти контролер користувача.
- [en] (Вигляд) — визначає шаблони для HTML або XHTML, які буде створено користувачем. Тут користувач сам визначає інтерфейс, з яким клієнт буде взаємодіяти.
- — Repoze.who використовується для керування безпекою (ідентифікації та аутентифікації). Користувачі можуть визначати правила авторизації, засновані на предикатах, прикріплених до контролерів, у фреймворку вже є деякі вбудовані предикати, але деякі можуть бути написані самостійно.
- — основна бібліотека віджетів для створення форм і складних графічних інтерфейсів. Tosca за замовчуванням генерує прості HTML-форми, але також може бути використана як проміжне програмне забезпечення для підключення до більш просунутих віджетів JavaScript і інструментальних засобів. На відміну від TurboGears 1.x, бібліотека JavaScript більше не використовується.
- Gearbox — інструментарій, який використовується TurboGears для управління проєктами, створенням нових і обслуговуванням додатків TurboGears, але користувач також може підключатися до Apache, Nginx, або будь-яких інших сумісних з WSGI.
До версії 2.3 також може використовуватися:
- Pylons (Контролер) — проміжне програмне забезпечення обробляє всю локальну логіку користувача, підключається до вебсервера користувача та передає дані в Інтернет.
- [en] — командний інструментарій і вебсервер, який використовувався замість Gearbox.
- Repoze.what — використовується для обробки авторизації. При визначенні елементів контролера користувача, які піддаються впливу мережі, предикати repoze.what визначають, хто може отримати до них доступ і за яких умов.
Шаблон плагінів
Мови шаблонів, окрім [en], можна використовувати через конфігураційний файл програми користувача. Плагіни, що наразі підтримуються в 2.1 це , Jinja, , [en], та Kajiki. Підтримка Kid в даний час не планується, оскільки Genshi практично ідентичний плагін. Цей список може змінюватися в майбутніх версіях.
Історія проєкту
TurboGears спочатку було створено у 2005 році Кевіном Дангуром як фреймворк для ще не випущеного проєкту Zesty News. Коли в кінці вересня 2005 року він опублікував його як фреймворк з відкритим вихідним кодом, за перші 3 місяці він отримав більше 30 000 завантажень скринкастингів.
У січні 2007 року Кевін Дангур пішов у відставку як керівник проєкту, Альберто Вальверде став керувати проєктом як його наступник, але згодом також пішов у відставку через інші особисті зобов'язання. Альберто все ще бере участь у спільноті TurboGears через свій проєкт ToscaWidgets2. Проєкт TurboGears зараз спільно керується групою з приблизно півдюжини основних розробників на чолі з Марком Раммом (ведучій розробник TurboGears 2) та Флораном Айде (менеджер релізу Turbogears 1.x).
У червні 2007 року співтовариство почало експерименти, щоб зробити TurboGears API головним компонентом та протоколом, який використовується в Pylons і з'явилося припущення, що ці два фреймворки можуть нарешті об'єднатися. Тим не менш, офіційна документація TurboGears 2 стверджує, що це навряд чи відбудеться через «різні, але сумісні пріоритети» обох проєктів. 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
Розробка 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 як нового уніфікованого проєкту під назвою . У зв'язку з проблемами зворотної сумісності цього кроку, та гарантіями TurboGears бути надійною платформою в довгостроковій перспективі, нинішня команда вирішила співпрацювати з проєктом Pylons у всьому можливому, але не на основі ядра TurboGears на Pyramid.
Подальша розробка, підтримка Python 3 і поліпшення швидкості відбулися в гілці 2.3, в якій було повністю переписано ядро TurboGears, зберігаючи при цьому зворотну сумісність з існуючими додатками. Починаючи з версії 2.3 TurboGears має власне ядро, і не використовує фреймворк Pylons.
В серії 2.3 фреймворк експериментував з так званим «мінімальним режимом», який дозволяє діяти як мікро-фреймворк де-факто зменшуючи залежності від 10-х до всього 3-х. Що дозволило позиціонувати TurboGears між Flask і Django в родині фреймворків на Python, оскільки він має на меті масштабуватися від мікро-фреймворку до в залежності від того який пакет використовується — TurboGears2 або tg.devtools.
Див. також
- Django (Джанго)
- [en]
Джерела
- Ramm, M; Dangoor, K; Sayfan, G (November 7, 2006). Rapid Web Applications with TurboGears, Prentice Hall.
Посилання
- TurboGears homepage [ 18 грудня 2005 у Wayback Machine.]
Примітки
- . Архів оригіналу за 16 липня 2019. Процитовано 20 липня 2019.(англ.)
- Release 2.4.3 — 2020.
- TurboGears2 Cookbook — Widgets & Forms [ 11 липня 2018 у Wayback Machine.](англ.)
- . Kevin Dangoor. 3 січня 2007. Архів оригіналу за 18 березня 2016. Процитовано 12 квітня 2007.(англ.)
- . Архів оригіналу за 5 липня 2012. Процитовано 27 червня 2007.(англ.)
- . Архів оригіналу за 25 вересня 2020. Процитовано 16 вересня 2008.(англ.)
- State of the Gears. Michael Pedersen. 1 березня 2012. Процитовано 18 березня 2013.(англ.)
- TurboGears 2.3 unstable release. Alessandro Molina. 23 січня 2013. Процитовано 18 березня 2013.(англ.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
TurboGears ukr TurboGirz vebfrejmvork napisanij movoyu programuvannya Python sho skladayetsya z dekilkoh WSGI komponentiv SQLAlchemy en ta TurboGearsTipVebfrejmvorkRozrobnikKevin Dangoor originalnij rozrobnik Mark Ramm TG2 lead Pershij vipuskveresnya 2005Stabilnij vipusk2 4 0 10 travnya 2019 5 rokiv tomu 2019 05 10 Versiyi2 4 3 1 bereznya 2020 2 PlatformaKrosplatformennijMova programuvannyaPythonUkrayinska movanemayeLicenziyaMIT License LGPLRepozitorijgithub com TurboGears tg2Vebsajtwww turbogears org TurboGears pobudovano na arhitekturnomu shabloni model vid kontroler angl Model view controller MVC tak samo yak Struts abo Ruby on Rails Vikoristannya TurboGears robit rozrobku vebdodatkiv na movi Python prostishoyu i dostupnishoyu dlya pidtrimki Pochinayuchi z versiyi 2 3 frejmvork maye minimalnij rezhim yakij dozvolyaye jomu pracyuvati yak en Rezhim mikro frejmvorku docilno vikoristovuvati v seredovishah de ne potriben ves stek Komponenti TurboGearsTurboGears pobudovano na bazi chislennih riznoridnih bibliotek ta promizhnogo programnogo zabezpechennya Zasobi za zamovchuvannyam zminilisya mizh versiyami 1 x 2 x ta 2 3 ale bilshist cih komponentiv mozhe buti vikoristana u bud yakij versiyi frejmvorku Ce daye mozhlivist dlya stvorennya velikoyi kilkosti alternativnih konfiguracij Nizhche navedeno osnovni komponenti frejmovorku Komponenti TurboGears 1 x SQLObject Model backend danih yakij mozhe stvoriti bazu danih abo interfejs z naborom isnuyuchih danih SQLAlchemy vstanovleno za zamovchuvannyam u TurboGears z versiyi 1 1 en Vid XHTML frontend dvigun shabloniv de vsi shabloni ye dijsnimi XHTML abo XML fajlami yaki zazvichaj stvoryuyutsya takim chinom shob bula mozhlivist vidkrivati ci shabloni yak prosti XHTML fajli dlya perevirki dizajnu Odnochasno isnuye mozhlivist vbudovuvati fragmenti na movi Python v maneri pritamannij XML en nastupnik Kid i zaminit jogo v yakosti shablonu dviguna za zamovchuvannyam v TurboGears z versiyi 1 1 Ce komponent majzhe na 100 sintaksis sumisnij z Kid CherryPy Controller promizhne programne zabezpechennya sho dozvolyaye rozroblyati vebdodatki zapisuyuchi obrobniki podij yaki povertayut dani shablonam u vipadku TurboGears Ti zh dani mozhut buti otrimani v AJAX yak potik danih JSON en krasha ale neobov yazkova biblioteka JavaScript dlya TurboGears 1 x Cej komponent priznacheno dlya togo shob zrobiti programuvannya v JavaScript bilsh pitonichnim u vidpovidnosti do filosofiyi ta standartiv movi Python V osnovnomu vin vikoristovuyetsya dlya realizaciyi funkcij ta vidzhetiv AJAX oskilki vin nadaye interfejs dlya otrimannya potokiv danih JSON asinhronnim sposobom Komponenti TurboGears 2 x SQLAlchemy Model viznachaye yak zv yazati kolekciyi MongoDB z ob yektami Python z yakimi mozhe vzayemodiyati kontroler koristuvacha Ming Model zabezpechuye riven dostupu do danih dlya MongoDB shozhe na te yak SQLAlchemy viznachaye yak zv yazati kolekciyi MongoDB z ob yektami Python z yakimi mozhe vzayemodiyati kontroler koristuvacha en Viglyad viznachaye shabloni dlya HTML abo XHTML yaki bude stvoreno koristuvachem Tut koristuvach sam viznachaye interfejs z yakim kliyent bude vzayemodiyati Repoze who vikoristovuyetsya dlya keruvannya bezpekoyu identifikaciyi ta autentifikaciyi Koristuvachi mozhut viznachati pravila avtorizaciyi zasnovani na predikatah prikriplenih do kontroleriv u frejmvorku vzhe ye deyaki vbudovani predikati ale deyaki mozhut buti napisani samostijno osnovna biblioteka vidzhetiv dlya stvorennya form i skladnih grafichnih interfejsiv Tosca za zamovchuvannyam generuye prosti HTML formi ale takozh mozhe buti vikoristana yak promizhne programne zabezpechennya dlya pidklyuchennya do bilsh prosunutih vidzhetiv JavaScript i instrumentalnih zasobiv Na vidminu vid TurboGears 1 x biblioteka JavaScript bilshe ne vikoristovuyetsya Gearbox instrumentarij yakij vikoristovuyetsya TurboGears dlya upravlinnya proyektami stvorennyam novih i obslugovuvannyam dodatkiv TurboGears ale koristuvach takozh mozhe pidklyuchatisya do Apache Nginx abo bud yakih inshih sumisnih z WSGI Do versiyi 2 3 takozh mozhe vikoristovuvatisya Pylons Kontroler promizhne programne zabezpechennya obroblyaye vsyu lokalnu logiku koristuvacha pidklyuchayetsya do vebservera koristuvacha ta peredaye dani v Internet en komandnij instrumentarij i vebserver yakij vikoristovuvavsya zamist Gearbox Repoze what vikoristovuyetsya dlya obrobki avtorizaciyi Pri viznachenni elementiv kontrolera koristuvacha yaki piddayutsya vplivu merezhi predikati repoze what viznachayut hto mozhe otrimati do nih dostup i za yakih umov Shablon plaginivMovi shabloniv okrim en mozhna vikoristovuvati cherez konfiguracijnij fajl programi koristuvacha Plagini sho narazi pidtrimuyutsya v 2 1 ce Jinja en ta Kajiki Pidtrimka Kid v danij chas ne planuyetsya oskilki Genshi praktichno identichnij plagin Cej spisok mozhe zminyuvatisya v majbutnih versiyah Istoriya proyektuTurboGears spochatku bulo stvoreno u 2005 roci Kevinom Dangurom yak frejmvork dlya she ne vipushenogo proyektu Zesty News Koli v kinci veresnya 2005 roku vin opublikuvav jogo yak frejmvork z vidkritim vihidnim kodom za pershi 3 misyaci vin otrimav bilshe 30 000 zavantazhen skrinkastingiv U sichni 2007 roku Kevin Dangur pishov u vidstavku yak kerivnik proyektu Alberto Valverde stav keruvati proyektom yak jogo nastupnik ale zgodom takozh pishov u vidstavku cherez inshi osobisti zobov yazannya Alberto vse she bere uchast u spilnoti TurboGears cherez svij proyekt ToscaWidgets2 Proyekt TurboGears zaraz spilno keruyetsya grupoyu z priblizno pivdyuzhini osnovnih rozrobnikiv na choli z Markom Rammom veduchij rozrobnik TurboGears 2 ta Floranom Ajde menedzher relizu Turbogears 1 x U chervni 2007 roku spivtovaristvo pochalo eksperimenti shob zrobiti TurboGears API golovnim komponentom ta protokolom yakij vikoristovuyetsya v Pylons i z yavilosya pripushennya sho ci dva frejmvorki mozhut nareshti ob yednatisya Tim ne mensh oficijna dokumentaciya TurboGears 2 stverdzhuye sho ce navryad chi vidbudetsya cherez rizni ale sumisni prioriteti oboh proyektiv Pylons hotili zalishatisya zoseredzhenimi na nizkomu rivni rozshirenni dizajnu v toj chas yak TurboGears zoseredilisya na nadanni povnogo zruchnogo dlya koristuvacha paketu Ale voni spivpracyuyut bagato v chomu tak samo yak Debian i Ubuntu zaraz Nova gilka 2 x mala svij pershij stabilnij reliz u travni 2009 roku Stanom na osin 2008 roku TurboGears maye velike ta zhittyezdatne spivtovaristvo z ponad 3000 koristuvachiv v spisku rozsilki opublikovanu v listopadi 2006 roku knigu ta ryad program z vidkritim kodom ta patentovanih TurboGears rozgornutih u realnomu sviti Rozvitok progresuye v pomirnomu ale postijnomu tempi yakij bulo pidzhivleno uspishnoyu uchastyu proyektu v yakosti organizaciyi nastavnictva Google Summer of Code v 2008 ta 2009 rokah TurboGears versiyi 1 1 yakij stvoreno dlya dopomogi perehodu do versij 2 x bulo vipusheno v zhovtni 2009 roku Nova redakciya knigi perebuvaye v stadiyi onovlennya vidpovidno do zmin yaki z yavilisya v TurboGears versiyi 2 U 2010 roci proyekt trohi pohitnuvsya Providnih rozrobnikiv vidklikali cherez realni problemi u zhitti Odnak do kincya sichnya 2011 roku proyekt pochav reorganizuvatisya i pracyuvati nad povernennyam na shlyah rozvitku Pislya dekilkoh misyaciv otrimavshi poryadok v infrastrukturi i pracyuyuchi nad problemami koduvannya TurboGears vipustila novi versiyi 2 0 4 ta 2 1 2 U 2013 roci pidtrimuyuchi zvorotnu sumisnist proyekt vidijshov vid kodovoyi bazi Pylons shob pidtrimati Python 3 zabezpechiti priskorennya ta sprostiti proces instalyaciyi Z cimi zminami bulo vipusheno versiyu 2 3 0 u serpni 2013 roku Takozh bulo ogolosheno pro bilsh shvidkij cikl vipusku yakij povinen privesti do publikaciyi reliziv priblizno kozhni 3 misyaci Majbutnye TurboGearsRozrobka TurboGears teper oriyentovana v pershu chergu na novu gilku 2 x z versiyeyu 2 3 yaka zaraz pidtrimuye Python 3 Shlyahi perehodu z gilki 1 x do gilki 2 x zabezpechuyutsya cherez versiyi 1 1 i 1 5 yaki peremishuyut ORM za zamovchuvannyam ta movi shabloniv do tiyeyi sho vikoristovuyetsya v seriyi 2 x Komanda TurboGears dala zrozumiti novim koristuvacham sho 2 x ce majbutnye a 1 x lishe dlya zruchnosti isnuyuchih koristuvachiv Protyagom 2011 roku providni rozrobniki TurboGears veli peregovori z proyektom Pylons dlya ob yednannya sil z nimi ta rozrobnikami Repoze BFG s yak novogo unifikovanogo proyektu pid nazvoyu U zv yazku z problemami zvorotnoyi sumisnosti cogo kroku ta garantiyami TurboGears buti nadijnoyu platformoyu v dovgostrokovij perspektivi ninishnya komanda virishila spivpracyuvati z proyektom Pylons u vsomu mozhlivomu ale ne na osnovi yadra TurboGears na Pyramid Podalsha rozrobka pidtrimka Python 3 i polipshennya shvidkosti vidbulisya v gilci 2 3 v yakij bulo povnistyu perepisano yadro TurboGears zberigayuchi pri comu zvorotnu sumisnist z isnuyuchimi dodatkami Pochinayuchi z versiyi 2 3 TurboGears maye vlasne yadro i ne vikoristovuye frejmvork Pylons V seriyi 2 3 frejmvork eksperimentuvav z tak zvanim minimalnim rezhimom yakij dozvolyaye diyati yak mikro frejmvork de fakto zmenshuyuchi zalezhnosti vid 10 h do vsogo 3 h Sho dozvolilo pozicionuvati TurboGears mizh Flask i Django v rodini frejmvorkiv na Python oskilki vin maye na meti masshtabuvatisya vid mikro frejmvorku do v zalezhnosti vid togo yakij paket vikoristovuyetsya TurboGears2 abo tg devtools Div takozhPortal Vilne programne zabezpechennya Django Dzhango en DzherelaRamm M Dangoor K Sayfan G November 7 2006 Rapid Web Applications with TurboGears Prentice Hall ISBN 0 13 243388 5PosilannyaTurboGears homepage 18 grudnya 2005 u Wayback Machine Primitki Arhiv originalu za 16 lipnya 2019 Procitovano 20 lipnya 2019 angl Release 2 4 3 2020 TurboGears2 Cookbook Widgets amp Forms 11 lipnya 2018 u Wayback Machine angl Kevin Dangoor 3 sichnya 2007 Arhiv originalu za 18 bereznya 2016 Procitovano 12 kvitnya 2007 angl Arhiv originalu za 5 lipnya 2012 Procitovano 27 chervnya 2007 angl Arhiv originalu za 25 veresnya 2020 Procitovano 16 veresnya 2008 angl State of the Gears Michael Pedersen 1 bereznya 2012 Procitovano 18 bereznya 2013 angl TurboGears 2 3 unstable release Alessandro Molina 23 sichnya 2013 Procitovano 18 bereznya 2013 angl