Barrapunto
La información que te interesa
http://softlibre.barrapunto.com/

Title    GTK y la estabilidad de las APIs
Date    Miércoles, 03 Agosto de 2016, 07:30h
Author    mig21
Topic   
from the dept.
http://softlibre.barrapunto.com/article.pl?sid=16/08/03/0713258

pleyades nos cuenta: «Una queja habitual en el software libre es la falta de compatibilidad hacia atrás, o como quiera que se traduzca "backward compatibility". Evidentemente, hay una razón para ello, cuando estás trabajando en la V-2.0, no quieres tener que preocuparte de la V-1.0. Al parecer Gnome, y las librerías GTK en las que se basa, se usan como ejemplo por excelencia de la falta de compatibilidad hacia atrás. Las APIs no son compatibles, un programa escrito para GTK 1, no funciona con GTK 2 y uno escrito con GTK 2 no funciona con GTK 3. Esto obliga a los programadores a reescribir el software cada vez que sale una versión incompatible con la anterior y, como eso no pasa con la frecuencia adecuada, obliga a los usuarios a tener instaladas varias versiones de las librerías en el sistema. Se puede argüir que la compatibilidad hacia atrás está bien, pero es un lastre del que de vez en cuando hay que desprenderse. Es cierto, la clave está en "cierto tiempo", con qué frecuencia. Programas escritos para Windows 95, siguen funcionando hoy para Windows 10, 20 años después. Themes escritos para GTK 3.18 fallan en GTK 3.20. Pues si creéis que esto es un problema, veréis la que se nos viene encima. Un desarrollador de Gnome ha escrito cuales son los planes de futuro de Gnome en un artículo Gtk 4.0 no es Gtk 4. Creo que el título es revelador de que el nuevo GTK será mas claro e intuitivo.Sigue argumentado su queja en la página ampliada.

Algunas perlas

Vamos a incrementar la velocidad a la que sacaremos las "Major Releases" de Gtk (ie: Gtk 4, Gtk 5, Gtk 6...) a una cada dos años. Podrás tener instalados en el sistema en paralelo las cabeceras y libreriás de Gtk 2, 3, 4 and 5, si quieres


Si quieres, no. No tendrás más remedio. No todo el mundo tendrá intención de reescribir el software cada dos años, así que te verás con la obligación de mantener varias versiones.

Mientras tanto Gtk 4.0 no tendrá la API final estable de los que llamaremos "GTK 4". Cada 6 meses la neueva relase (Gtk 4.2, Gtk 4.4, Gtk 4.6) romperá el API y el ABI.


Perfecto. Una major release ya no es lo que era

La release estable no será la 4.0, sino que irá evoluconando hasta la API estable, la 4.6, 18 meses después.


Es decir, la tradición dice que sacamos una versión beta V-4.99.1 V-4.99.2 V-4.99.3..., o V.5.0-rc-1, V.5.0-rc-2, V.5.0-rc-3... hasta que alcanzamos la versión estable en la GTK 5.0. Ahora ha cambiado la denominación V.5.0 será la primera beta, y la estable se alcanzará en la V5.6, unos 18 meses después. Es decir, cambiar la nomenclatura que se ha usado siempre, eso mejorará la claridad. Y no sólo eso, la versión estable, que ha costado 18 meses no estará operativa más que 6 meses, cuando saldrá la siguiente release V-6.0, con API inestable hasta la V-6.6.

* * * *

No sé si las calidad de las liberías será beta o estable, pero parece ser que tienen intención de que las especificaciones de la API estén en un estado alfa permanente.

Como dicen en este artículo ¿Por qué construimos sobre cimientos podridos? Las APIs son como los huesos, a veces hay que romperlos para arreglarlos, y es muy doloroso. Mejor pensémoslo dos veces, y no,lo hagamos cada cuatro días.

Esta gente ha perdido el sentido de la realidad. Son desarrolladores haciendo un programa, rehaciéndolo, retocándolo mil veces, deshaciéndolo aproximándose a la perfección, sin darse cuenta del desastre que crean detrás.

¿Lo más sensato? No usarlo, y es lo que va a pasar. Si ahora hay una cierta división entre los que usan GTK2 y GTK3, el resultado de esto va ser que Gnome no volverá a ser un entrono de escritorio completo. Faltarán aplicaciones, unas funcionarán mal, otras con problemas, otras desaparecerán.

En ciertos entornos está hablándose de limitarse al QT.»

Links

  1. "Themes escritos para GTK 3.18 fallan en GTK 3.20." - https://blogs.gnome.org/mclasen/2015/11/20/a-gtk-update/
  2. "Gtk 4.0 no es Gtk 4" - https://blogs.gnome.org/desrt/2016/06/13/gtk-4-0-is-not-gtk-4/
  3. "¿Por qué construimos sobre cimientos podridos?" - https://davmac.wordpress.com/2016/07/05/why-do-we-keep-building-rotten-foundations/

© Copyright 2017 - Barrapunto S.L., All Rights Reserved

printed from Barrapunto, GTK y la estabilidad de las APIs on 2017-12-18 18:14:40