Est-il judicieux de continuer à mettre à jour la version de Bootstrap utilisée dans mon application Web?

17

Pour ceux qui ne le savent peut-être pas, Bootstrap est un framework HTML, CSS et JS qui peut être utilisé comme base ou point de départ dans la construction d'un site Web ou d'une application Web.

Je suis maintenant dans une position où j'ai une application en production qui a été conçue avec la version 3 du cadre, mais avec un style supplémentaire compatible avec d'autres sites Web du portefeuille de l'entreprise.

Cependant, nous sommes sur le point de nous lancer dans de nombreux ajouts à cette application Web, et je me demande - dois-je mettre à jour la version de bootstrap utilisée par l'application?

Je pose cette question pour plusieurs raisons. La première est que la version 4 de bootstrap n'est pas exactement rétrocompatible avec la version 3 - un certain nombre de classes d'assistance ont changé, ont été remplacées ou supprimées entièrement, donc c'est une quantité de travail non négligeable à mettre à jour (pas excessif, mais pas une simple question de mise à jour d'un numéro de version dans package.json et de reconstruction soit).

Maintenant, ma compréhension du bootstrap est qu'il s'agissait initialement de faire décoller votre site Web / application Web - un bon point de départ, pour ainsi dire (d'où le nom). Mais étant donné que l'application est bien au-delà de ce point d'amorçage, dois-je envisager d'investir du temps pour mettre à jour le cadre d'amorçage?

Je sais qu'en surface, cela semble être une question avec une réponse évidente - bien sûr, vous gardez vos affaires à jour !!!. Mais, si vous pensez à Bootstrap comme un moyen de démarrer, alors après avoir été opérationnel, pourquoi devriez-vous continuer à mettre à jour le framework lui-même? Vous avez déjà personnalisé des pièces pour les besoins de votre application - ne devriez-vous pas vous permettre d'aller dans une direction différente?

Si Bootstrap en tant que framework vise vraiment à démarrer (contrairement à un framework comme Rails ou Django où il s'agit d'une productivité continue tout au long de la vie de votre application), à un moment donné, ne devriez-vous pas vous séparer du framework de démarrage?

(Par exemple, si vous clonez un référentiel de démarrage angulaire pour commencer à créer votre application, reviendriez-vous ensuite 4 ou 5 mois plus tard et essayez de fusionner les mises à jour de ce référentiel de démarrage dans votre application maintenant active?)

PS. C'est la première fois que je pose une question ici - si ce n'est pas un type de question approprié pour ce forum, je m'excuse à l'avance.

snorkpete
la source
2
I know that on the surface this seems like a question with an obvious answer - of course, you keep your stuff up to date!!!.pas si évident. Que gagneriez-vous à faire la mise à jour? Le gain vaut-il le coût en temps et en argent? Êtes-vous simplement en train de mettre à jour css ou y a-t-il un bug important qui doit être corrigé? Existe-t-il une exigence selon laquelle le bootstrap 3 ne répond pas correctement?
Laiv
1
je n'ai actuellement aucun problème avec bootstrap 3 en particulier. Cependant, l'un des outils utilisés est ng2-bootstrap, qui est un port spécifique angulaire du bootstrap js qui supprime la dépendance jQuery. Je reçois un comportement étrange de cette bibliothèque lorsque je l'ai mise à jour vers sa dernière version, ce qui m'a fait penser à utiliser une bibliothèque angulaire à bootstrap différente - celle qui est mieux prise en charge, mais ne fonctionne que pour bootstrap 4 ...
snorkpete
.... je sais que ma question laisse de côté cette information, mais je me demandais simplement s'il y avait une réelle motivation pour continuer à mettre à jour le bootstrap ou simplement geler la version du bootstrap, résoudre tous les problèmes que je rencontre dans la bibliothèque avec mon propre code et ne pas '' Ne vous inquiétez pas de rester à jour.
snorkpete

Réponses:

18

Vous pouvez penser à mettre à jour Bootstrap de la même manière que vous penseriez à toute autre dépendance.

  1. Introduit-il des changements de rupture?
  2. Quels avantages retirez-vous de la mise à niveau?
  3. Les avantages l'emportent-ils sur le risque ou l'investissement en temps?

Dans le contexte d'une dépendance CSS (et potentiellement JS, si vous utilisez les scripts d'assistance), ces questions peuvent être pensées de cette façon:

  1. Si les noms de classe utilisés dans Bootstrap changent ou que les styles sont sensiblement différents, ce qui casserait le style sur votre site, il s'agit d'un changement de rupture.
  2. Vous pourriez avoir accès à un meilleur code modularisé, à une grille plus brillante, etc.
  3. L'amélioration des avantages dépend fortement de la quantité de travail personnalisé que vous avez déjà ajouté à votre précédente installation Bootstrap. Si vous avez fait beaucoup de travail qui dépend de la substitution des styles attendus, cela n'en vaut peut-être pas la peine.

Personnellement, je considère que les passe-partout CSS sont gravés dans la pierre pour un projet une fois que j'ai commencé. Je ne modifierai jamais le code Bootstrap lui-même, et je cible généralement les styles que je souhaite remplacer spécifiquement par Bootstrap. Cela signifie que si je mets à niveau Bootstrap, beaucoup de choses se briseront probablement de manière subtile et difficiles à trouver - pour moi, cela ne vaut pas la peine pour un gain minimal. Je voudrais simplement économiser en utilisant une nouvelle version de Bootstrap pour la prochaine application ou la page suivante.

Les seules exceptions que je pourrais voir à ce sujet sont l'intégration de la nouvelle grille ou du code lié à la mise en page, mais encore une fois, cela dépend du travail sur mesure que vous avez fait pour l'ancienne version de vos dépendances CSS.

Chemin Spurr-Chen
la source
2
très bien mis, mon ami
snorkpete