Immutable.js
minuta czytania
Immutable.js to biblioteka JavaScript, która pozwala na tworzenie niezmiennych obiektów i tablic. Jest szczególnie przydatny w aplikacjach opartych na stanie, takich jak aplikacje internetowe czy aplikacje mobilne.
Javascript średnio sobie radzi z niezmiennością (z ang. immutability). Korzystanie z Immutable.js gwarantuje nam niezmienność oraz zapewnia jednocześnie bogate API o dużej wydajności. Dlatego w tym artykule postaram się omówić bibliotekę Immutable.js.
Immutability w javascript
Jak wspomniałem na wstępie javascript nie jest przystosowany do pracy z danymi, które mają być immutable (z ang. niezmienne). Aktualnie Javascript posiada dwa typy danych, które są niezmienne i są to: ciąg znaków oraz liczby. Koncepcja niezmienności w programowaniu mówi nam, że jeśli zadeklarujemy jakiś typ danych to te dane nie zmieniamy bezpośrednio. Jeśli chcemy zmienić jakieś dane to powinniśmy utworzyć kopię tych danych i na tej kopii te dane modyfikujemy. W Javascript mamy metody, które pozwalają nam na pracę przy obiektach oraz tablicach nie zmieniając oryginalnej zawartości, a są to takie metody jak np. map, filter, czy slice. Te metody tworzą kopie danych i wprowadzają zmiany właśnie na tej kopii danych.
Czym jest immutable.js
Jest to biblioteka, która pomaga Javascriptowi w obsłudze niezmiennych struktur danych. Oznacza to, że raz utworzone dane nie mogą się zmienić. Biblioteka ta ułatwia w utrzymaniu niezmiennych struktur danych. Immutable.js robi wiele rzeczy “pod maską”, co poprawia wydajność. Niezmienne struktury danych zwykle zużywają dużo pamięci RAM, ponieważ takie podejście wymaga ciągłego tworzenia nowych kopii obiektów, a dzięki użyciu immutable.js jesteśmy w stanie zoptymalizować ten proces.
Zalety Immutability
Główne zalety niezmienności to przewidywalność, wydajność i lepsze śledzenie mutacji. Pracując z bibliotekami front-endowymi, deklarujemy w nich dużo stanu. Często także wykonujemy jakieś akcje asynchroniczne i aktualizujemy stan pierwotny. Kiedy użytkownik zacznie wykonywać akcje: dodawania, usuwania, aktualizacji to stan ten będzie znacznie się różnić od początkowego. Mutowanie stanu powoduje skutki uboczne, które mogą powodować błędy. Dlatego właśnie warto użyć biblioteki, która pomoże nam w niezmienności danych.
Powiązane artykuły
Optymalizacja obrazów Dockera
24 lip 2023
Obrazy dla kontenerów Dockera mogą być naprawdę ciężkie. W internecie można znaleźć przykłady image'ów ważących nawet po 5 lub więcej gigabajtów. Jest to problem, zarówno dla developerów, używających Dockera do lokalnego developmentu, jak i dla osób odpowiedzialnych za setup aplikacji w środowiskach testowych i produkcyjnych. W artykule zostanie poruszony temat zmniejszania rozmiaru obrazów Dockera.

Pillar Page - Sekrety efektywnej organizacji treści na Twojej stronie internetowej
25 wrz 2023
Wyobraź sobie dom, w którym wszystko jest pięknie posortowane w jednym miejscu. Takim 'domem' dla Twojej strony internetowej może być Pillar Page - dedykowana strona, na której skupia się wszystko, co wartościowe dla Twoich odbiorców. Pozwoli Ci to z łatwością zarządzać i organizować treść na stronie.
Rozszerzanie możliwości Big Data z Apache Samza
25 wrz 2023
Big Data, czyli duże zbiory danych, nieustannie zyskują na znaczeniu w świecie IT. Nowe możliwości analizy i przetwarzania tychże daje Apache Samza - otwarte oprogramowanie stworzone przez Apache Software Foundation. Wspierającym nas procesor strumieniowy o wysokim przepustowości, Samza pomaga rozwijać potęgę Big Data. W tym artykule zajmiemy się szczegółami i możliwościami wynikającymi z korzystania z Apache Samza.
InVision Studio - niezbędne narzędzie dla każdego projektanta UI/UX
25 wrz 2023
InVision Studio to narzędzie, którego każdy projektant UI/UX powinien mieć w swoim arsenale. Pomaga w tworzeniu responsywnych interfejsów, prototypów i animacji, umożliwiając szybką i efektywną pracę. Doceniany za innowacyjność, łatwość obsługi oraz szeroki zakres funkcji, InVision Studio silnie zaznacza swoją obecność w świecie projektowania UI/UX.
Efektywne prowadzenie webinarów w sektorze IT
25 wrz 2023
W dobie cyfryzacji, webinar staje się jednym z najważniejszych narzędzi w sektorze IT. Powodzenie webinaru zależy od wielu czynników, począwszy od przygotowania, a skończywszy na umiejętności utrzymania zaangażowania uczestników. Zatem cyfrowym szlakiem: poradnik efektywnego prowadzenia, to przewodnik, który pomoże przetrwać w cyfrowym świecie webinarów IT. Dowiedz się więcej, jak skutecznie zorganizować i przeprowadzić webinar, a swoje zdobycze wiedzy zastosować w praktyce.
MyISAM - mechanizm składowania danych w MySQL
25 wrz 2023
MyISAM, zasłużony odpowiednik MySQL dla architektury składowania danych, to prawdziwy klejnot w jego koronie. Zapewniając szybką indeksację i wysoki poziom skompresowanych danych, MyISAM umożliwia efektywne zarządzanie dużymi ilościami informacji. Weźmy zestaw narzędzi, aby zgłębić tajemnice tego mechanizmu składowania danych.
Zobacz wszystkie artykuły