Die Entwickler der JavaScript-Bibliothek haben bekannt gegeben, die Entwicklung eingestellt und das Projekt in den Wartungsmodus überführt wird, was bedeutet, dass die Funktionalität nicht mehr erweitert, die API eingefroren und die Aktivitäten auf die Behebung schwerwiegender Fehler, die Aktualisierung von Zeitzonendaten und die Wartung der Infrastruktur für bestehende Benutzer beschränkt werden. Für neue Projekte wird von der Verwendung von Moment.js abgeraten.
Die Bibliothek Moment.js bietet Funktionen zur Manipulation von Zeit und Daten und gilt als De-facto-Standard in ihrem Bereich. Wöchentlich wird die Bibliothek Der Grund für die getroffene Entscheidung war die Erkenntnis, dass das Projekt veraltet ist und nicht mehr in die modernen Entwicklungsparadigmen von JavaScript passt.
Zu den Nachteilen werden die relativ große Bibliotheksgröße (329 KB ohne Kompression, 70 KB mit Kompression) und die Verwendung von veränderbaren Objekten erwähnt (, die Änderung einer Kopie des Objekts moment führt zur Änderung des Originals).
In auch solche Probleme von Moment.js wie geringe Leistung, komplexe API und fehlende Unterstützung für „» (Reduzierung nicht verwendeten Codes zur Verringerung der Größe der Webanwendung) und die aufwändige Fehlersuche. Offenbar war die letzte Auslöser, der die Entwickler zur Entscheidung führte, Moment.js in den Wartungsmodus zu versetzen, eine Änderung im Audit-System für Webseiten Lighthouse, das in die Entwicklertools von Chrome integriert ist — vor wenigen Tagen hat Lighthouse eine Warnung über die übermäßige Aufblähung des Codes von Moment.js ausgegeben und Alternativen zur Ersetzung vorgeschlagen.
Moderne Browser bieten eine integrierte API zur Arbeit mit Lokalen und Zeitzonen. Diese API wird in der Bibliothek , die von einem der Entwickler von Moment.js geschaffen wurde und als der nächste Schritt in der Evolution von Moment.js präsentiert wird. Neben Luxon werden als Ersatzoptionen die Bibliotheken (minimalistische Version von Moment.js mit ähnlicher API, benötigt etwa 7 kB ohne Plugins), , (Port von java.time) und die integrierten JavaScript-Objekte und , sowie die sich im Entwurf befindliche API .
Quelle: opennet.ru
