ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Moment.js, ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΉ 12 ΠΌΠ»Π½ Π·Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ Π² нСдСлю

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ JavaScript-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Moment.js объявили ΠΎ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½ΠΈΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Ρ€Π΅ΠΆΠΈΠΌ сопровоТдСния, ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‰Π΅ΠΌ остановку Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π·Π°ΠΌΠΎΡ€ΠΎΠ·ΠΊΡƒ API ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ активности исправлСниСм ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Ρ‹Ρ… ошибок, ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· Π±Π°Π·Ρ‹ часовых поясов ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ΠΌ инфраструктуры для ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Для Π½ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Moment.js ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π½Π΅ рСкомСндуСтся.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Moment.js прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для манипуляций со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΈ Π΄Π°Ρ‚Π°ΠΌΠΈ ΠΈ являСтся стандартом Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎ Π² своСй области. Π•ΠΆΠ΅Π½Π΅Π΄Π΅Π»ΡŒΠ½ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ ΠΎΠΊΠΎΠ»ΠΎ 12 ΠΌΠ»Π½ Ρ€Π°Π·. ΠŸΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ принятого Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ стало осознаниС, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ устарСл ΠΈ Π½Π΅ укладываСтся Π² соврСмСнныС ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° JavaScript.
Из нСдостатков упоминаСтся ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ большой Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ (329KB Π±Π΅Π· сТатия, 70ΠšΠ‘ со сТатиСм) ΠΈ использованиС измСняСмых ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (mutable, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΏΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° moment ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ измСнСнию ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π°).

Π’ ΠΎΠ±Π·ΠΎΡ€Π°Ρ… Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Moment.js, ΠΊΠ°ΠΊ низкая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π·Π°ΠΏΡƒΡ‚Π°Π½Π½ΠΎΡΡ‚ΡŒ API, отсутствиС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ «Tree shaking» (ΡƒΡ€Π΅Π·Π°Π½ΠΈΠ΅ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° для сокращСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° web-прилоТСния) ΠΈ Ρ‚Ρ€ΡƒΠ΄ΠΎΡ‘ΠΌΠΊΠΎΡΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. Будя ΠΏΠΎ всСму, послСднСй ΠΊΠ°ΠΏΠ»Π΅ΠΉ, ΠΏΠΎΠ΄Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΠ²ΡˆΠ΅ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΊ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ ΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅ Moment.js Π² Ρ€Π΅ΠΆΠΈΠΌ сопровоТдСния, стало ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² систСмС Π°ΡƒΠ΄ΠΈΡ‚Π° web-страниц Lighthouse, встроСнной Π² инструмСнты для web-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Chrome — нСсколько Π΄Π½Π΅ΠΉ Π½Π°Π·Π°Π΄ Lighthouse стал Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎΠ± излишнСй раздутости ΠΊΠΎΠ΄Π° Moment.js ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‚ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ для Π·Π°ΠΌΠ΅Π½Ρ‹.

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ встроСнный API Intl для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с локалями ΠΈ часовыми поясами. Π”Π°Π½Π½Ρ‹ΠΉ API ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Luxon, созданной ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· участников Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Moment.js ΠΈ прСподносимой ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ шаг ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΈ Moment.js. ΠšΡ€ΠΎΠΌΠ΅ Luxon Π² качСствС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² для Π·Π°ΠΌΠ΅Π½Ρ‹ ΡƒΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‚ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Day.js (минималистичный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Moment.js с ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌ API, Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠΊΠΎΠ»ΠΎ 7ΠšΠ‘ Π±Π΅Π· ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ²), date-fns, js-joda (ΠΏΠΎΡ€Ρ‚ java.time) ΠΈ ΡˆΡ‚Π°Ρ‚Π½Ρ‹Π΅ JavaScript-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Date ΠΈ Intl, Π° Ρ‚Π°ΠΊΠΆΠ΅ находящийся Π² состоянии Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊΠ° API Temporal.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru