devnews.pl

Main Menu

  • Informacje
    • Systemy i przeglądarki
    • Gadżety
  • Narzędzia
  • Frontend
  • Backend
  • QA
  • Języki programowania

logo

devnews.pl

  • Informacje
    • Systemy i przeglądarki
    • Gadżety
  • Narzędzia
  • Frontend
  • Backend
  • QA
  • Języki programowania
Narzędzia
Home›Narzędzia›Moment.js przechodzi w tryb utrzymania

Moment.js przechodzi w tryb utrzymania

By Bernadeta Zapała
16 września 2020
129
0
Share:

Podstawowe zadania dotyczące formatowania daty i czasu można wykonać dzięki klasie Date JavaScriptu. Do trudniejszych zadań była przeznaczona zewnętrzna biblioteka Moment.js. Pozwala ona na kontrolę i daje większą swobodę w manipulacji czasem. Od 2011 roku bibliotekę wykorzystano w milionach projektów.

Moment.js

Jednak Moment.js zbudowano dla poprzedniej ery JS, dzisiaj wiele elementów wygląda już zupełnie inaczej. Dla twórców tej biblioteki ważniejsze jest utrzymanie stabilności biblioteki niż dodawanie nowych funkcji. Dlatego też twórcy wydali informację:

Obecnie uważamy Moment.js za starszy projekt w trybie utrzymania. Nie umarł, ale niezaprzeczalnie jest skończony.

Co „utrzymanie” oznacza dla projektów z Moment.js?

Utrzymywanie biblioteki w trybie utrzymania oznacza przede wszystkim brak nowych funkcji i możliwości. Twórcy nie planują także zmian API Moment na niezmienny stan. Nie będą także rozwiązywać problemów z rozmiarem paczki. W przypadku znanych od dawna błędów twórcy także mogą ich już nie naprawiać.

Stan utrzymania oznacza jednak, że główni programiści biblioteki zamierzają rozwiązywać pojawiające się krytyczne problemy. Będą pojawiać się także aktualizacje danych dla stref czasowych Moment.js po wydaniu bazy IANA.

Skargi na Moment.js

Wielu programistów skarżyło się przede wszystkim na rozmiar biblioteki. Każdy programista stara się optymalizować rozmiar swojej aplikacji do minimum, a Moment.js nie należy do najlżejszych bibliotek. Ponadto współpraca z nowoczesnymi algorytmami potrząsania drzewem wykazywała tendencję do zwiększania rozmiarów aplikacji.

Kolejnym argumentem przeciwnym bibliotece były jej zmienne obiekty. Oznacza to, że operacje takie jak dodawanie czy odejmowanie, przekształcały wartość w oryginalnym obiekcie:

var a = moment('2016-01-01'); 
var b = a.add(1, 'week'); 
a.format();
"2016-01-08T00:00:00-06:00"

Rewolucją byłaby ich zmiana na niezmienny stan. Jednak uczyniłoby to z Moment.js zupełnie nową bibliotekę. Twórcy biblioteki uznali, że ważniejsze jest zachowanie zmiennego API, ponieważ niezmienne obiekty znajdują się już w innych bibliotekach.

Czy warto zostać przy Moment.js?

Warto jednak pozostać przy bibliotece w kilku przypadkach. Przede wszystkim biblioteka działa w przeglądarkach IE 8 i nowszych. Wiele bibliotek, w przeciwieństwie do Moment.js, wykazywało także problemy w działaniu w Safari. Co ważne, kilka bibliotek przyjmuje Moment jako zależność. Dlatego też często sensowniejsze jest kontynuowanie pracy z Moment niż włączanie kolejnej biblioteki daty i godziny.

Alternatywy dla biblioteki

Dotychczasowi użytkownicy mogą rozważyć kilka innych opcji obsługujących daty i godziny. Wśród bibliotek warto zerknąć na Luxon, Day.js, js-Joda oraz date-fns. Pierwsza z nich często jest określana jako „ewolucja Momentu”, z kolei Day.js jest bardziej minimalistyczna biblioteka. Date-fns oferuje szereg funkcji do manipulowania obiektami Date JS. Ostatnia biblioteka, js-Joda jest podstawą implementacji JSR-310 Java SE 8 pakietu Java.time.

Źródło: Moment.js

TagsJavaScriptMaintanance ModeMoment.js

Share:

  • Narzędzia

    API do ręcznego śledzenia wyświetleń w Google Analytics

  • Frontend

    Angular 10 beta – wersja platformy stworzonej przez Google

  • Systemy i przeglądarki

    Funkcje eksperymentalne Edge DevTools

  • 26 stycznia 2021

    Kendo UI R1 2021 – nowości dla bibliotek

  • 21 stycznia 2021

    Narzędzie Vno – połączenie Vue i Deno

  • 19 stycznia 2021

    GitHub Enterprise Server 3.0 RC – kandydat do wydania

  • 15 stycznia 2021

    TypeScript 4.2 Beta z ulepszeniami typów krotek

  • 13 stycznia 2021

    Styczniowy Patch Tuesday z luką 0-day

  • 11 stycznia 2021

    Safari Technology Preview 118 dostępne dla programistów

  • 8 stycznia 2021

    Microsoft Launcher na Androida z usprawnionym dotykiem

  • 7 stycznia 2021

    WebStorm 2020.3.1 dostępny dla urządzeń z Apple Silicon

  • 22 grudnia 2020

    ReScript 8.4 z przypiętymi zależnościami

  • 14 grudnia 2020

    Edge 88 beta i przeglądarka na kanale Canary dostępne!

  • 9 grudnia 2020

    Chrome 88 Beta z nowościami w WebXR

  • 9 grudnia 2020

    Snowpack 3.0 RC z eksperymentalnymi funkcjami

  • 4 grudnia 2020

    Android Studio Arctic Fox – nowe wydanie narzędzia Google

  • 4 grudnia 2020

    The Hack Summit 2020 – konferencja IT Security

  • 2 grudnia 2020

    PowerToys 0.27 z poprawkami błędów

  • 2 grudnia 2020

    Aleph.js alfa z funkcją importowania map

  • 27 listopada 2020

    Cypress 6.0 zwiększa zakres możliwości obsługi sieci

  • 26 listopada 2020

    Firefox 83 przyspiesza i wprowadza tryb HTTPS-Only

  • 25 listopada 2020

    Electron 11.0 z obsługą Apple Silicon

  • 25 listopada 2020

    Prettier 2.2 z obsługą najnowszego TypeScript 4.1

  • 24 listopada 2020

    Tailwind CSS 2.0 z narzędziami kontroli tekstu

  • 20 listopada 2020

    Angular 11 – stabilne wydanie platformy

  • 19 listopada 2020

    Chakra UI React v1 wydany z ulepszeniami

  • 19 listopada 2020

    Chrome 87 z szybszym startem i zmianami w kartach

  • 18 listopada 2020

    Silnik WebKit w przeglądarce Safari 14

  • 17 listopada 2020

    Poznańska konferencja POZITIVE TECHNOLOGIES 2020 platformą wymiany wiedzy i doświadczeń najlepszych specjalistów IT

  • 16 listopada 2020

    Babylon.js 4.2 z edytorem cząsteczek i Babylon React Native

  • 13 listopada 2020

    Apple Silicon M1 i MacBooki – spotkanie One More Thing

  • 12 listopada 2020

    .NET 5.0 Microsoftu z poprawioną wydajnością

  • 12 listopada 2020

    Windows Terminal 1.5 Preview z nowymi funkcjami

 

 

Jesteśmy pasjonatami najnowszych technologii w świecie programowania. Zbieramy dla Was informacje i porady z całego świata, które sprawią, że Twoja praca stanie się jeszcze bardziej efektywna.

Obserwuj nas codziennie, aby być na bieżąco oraz śmiało udostępniaj nasze posty.

Zespół DevNews

Kategorie

  • Backend
  • Bez kategorii
  • Frontend
  • Gadżety
  • Informacje
  • Języki programowania
  • Narzędzia
  • QA
  • Systemy i przeglądarki

OBSERWUJ NAS

KONTAKT

Chcesz się z nami skontaktować?

Napisz do nas wiadomość: kontakt@devnews.pl

www.devnews.pl | DEVNEWS 2020 | Newsy i ciekawostki ze świata IT