[Pycon] [new paper] "Alessandro Molina" - TurboGears 2.4, 10 years of redesigning a web framework

info a pycon.it info a pycon.it
Mer 5 Dic 2018 22:34:15 CET


Title: TurboGears 2.4, 10 years of redesigning a web framework
Duration: 45 (includes Q&A)
Q&A Session: 0
Language: it
Type: Talk

Abstract: Il talk mira a presentare come si è evoluto il web framework TurboGears negli ultimi 10 anni sfociati nella versione 2.4 che espone un nuovo e totalmente ridisegnato sistema di configurazione a componenti pluggabili. 

Il talk mira a ripercorrere tutti gli accorgimenti e le lezioni imparate per mantenere la compatibilità con le applicazioni esistenti nel mentre in cui il web framework veniva totalmente ridisegnato a riscritto.

TurboGears ha vissuto, con largo anticipo, la stessa esperienza che ha vissuto il linguaggio Python con la dicotomia Python2 vs Python3. Il framework nel 2010 rilasciò la version 2.0 che era fortemente incompatibile con la versione 1.0 e tentò la strada di mantenerle entrambe con le release 1.1 e 1.5 che avvicinavano la serie 1.x alla serie 2.0.

La scelta di mantenere i due filoni si dimostrò nella pratica difficile da far funzionare e causò grossi scontenti nella community, al punto che TurboGears passò dal rivaleggiare con Django come numero di utenti a scendere sotto framework come Pylons, Flask e Pyramid nel numero di utenti. 

Questa esperienza diede una grande lezione al team di sviluppo che dalla versione 2.1 si impegnò a non rompere mai più la retrocompatibilità anche mentre venivano implementati major rewrite del framwork come le versioni 2.3 che lo hanno spostato da Pylons all'uso di un microcore ad alte performance e la versione 2.4 che hanno riscritto l'intero sistema di configurazione basandolo su componenti pluggabili.

Il talk ripercorre la storia delle varie release di TurboGears, dei trucchi e delle lezioni imparate nel garantire la compatibilità di un progetto così vasto e con centinaia di applicazioni in produzione da anni, alcune delle quali che customizzano fortemente il comportamento del framework.

Tags: [u'best-practices', u'history', u'web development', u'experience', u'maintenace']


Maggiori informazioni sulla lista Pycon