Diversity w polskim IT
Maciej Olanicki
Maciej OlanickiRedakcja Bulldogjob

RedwoodJS – nowy framework JavaScript od twórcy GitHuba

Tom Preston-Werner, znany szerzej jako twórca GitHuba i generatora Jekyll, zaprezentował nowy javascriptowy framework, który ma spore szanse na zdobycie uznania developerów.
6.04.20223 min
RedwoodJS – nowy framework JavaScript od twórcy GitHuba

Dobrych javascriptowych frameworków nigdy za wiele – zapewne z takiego założenia wyszli twórcy frameworka RedwoodJS, który po niespełna dwóch lat prac w końcu doczekał się wersji 1.0. Przyjrzyjmy się zatem bliżej funkcjom, innowacjom i zastosowanym w nim rozwiązaniom.

RedwoodJS – nowy otwarty framwork JS

Redwood to w stu procentach opensource’owy framework łączący uznane biblioteki, tak aby dostarczać obsługę całego stosu technologicznego. Wykorzystywać można go do przygotowywania aplikacji webowych zarówno w JavaScripcie, jak i TypeScripcie. 

Sami twórcy – wśród których znalazł się Tom Preston-Werner, twórca GitHuba i Jekylla – są zdania, że RedwoodJS to wybór idealny dla startupów – ma on oferować możliwie jak najwięcej out-of-the-box, tak aby przygotowanie kompletnej aplikacji webowej przebiegało w sposób możliwie jak najdalej zautomatyzowany.

Jak to wygląda w praktyce? Redwood to konglomerat, w którym interfejs opracowany z użyciem Reacta wywołuje API z użyciem GraphQL. Do przeprowadzania operacji na bazach danych wykorzystywana jest Prisma, nic zatem nie stoi na przeszkodzie, by korzystać z PostgreSQL, MySQL, SQL Server, SQLite, a także – choć na razie w wersji testowej – MongoDB. 

Ponadto ściśle zintegrowane z frameworkiem zostało Jest (testowanie), Pino (logowanie), a także katalog komponentów do wykorzystania w budowaniu UI dzięki Storybook. Ponadto twórcy chwalą się, że takie operacje, jak implementacja uwierzytelniania np. z użyciem Auth0 czy wdrożenie frameworka CSS to kwestia wydania jednego polecenia. 

RedwoodJS – najważniejsze funkcje

Aplikacje przygotowane z użyciem Redwooda są podzielone na frontend i backend reprezentowane przez dwa osobne projekty JavaScript lub TypeScript przechowywane w ramach jednego monorepo. Backend, nazywany tutaj „stroną API”, to implementacja wspomnianego już GraphQL, zaś wszystkie procesy zostały rozdzielone na usługi z własnym wewnętrznym API. Frontend budowany jest z użyciem Reacta i komponentów pobranych ze Storybook.

Wśród najważniejszych funkcji RedwoodJS należy wymienić prekonfigurowane domyślne komponenty (m.in. Webpack, Babel), co ma przyśpieszyć i uprościć uruchomienie aplikacji, uproszczono także konfigurację routingu – wszystkie trasy są w jednym pliku. Prostota idzie tu w parze z szerokimi możliwościami – korzystać można z dynamicznych parametrów, własnych typów i ogółem ma się dość dużą kontrolę nad generowaniem URL-i. Ponadto Redwood oferuje automatyczne dzielenie kodu na podstawie tego, jak wykorzystywany jest on na konkretnych stronach.

Do kolejnych ciekawych funkcji warto zaliczyć mechanizm deklaratywnego pobierania danych z API backendu, możliwość łatwej walidacji formularzy zarówno po stronie klienta, jak i serwera oraz funkcje związane z uproszczeniem migracji danych i baz danych. Wrażenie robi także ścisła integracja z Jest – testować można w zasadzie całą bazę kodu składającego się na aplikację

Ważnych cech i funkcji nowego frameworka jest oczywiście znacznie więcej – ze szczegółami można zapoznać się tutaj. Również w githubuowym repozytorium projektu znajdziemy linki do dokumentacji i instrukcji instalacji RedwoodJS. Czy ten składający się z wielu uznanych komponentów konglomerat ma szansę na sukces? Przez ostatnie miesiące poprzedzające premierę wersji 1.0 nie wybił się on ze swojej niszy, jednak historia pokazuje, że Tom Preston-Werner stał już za niejednym udanym przedsięwzięciem.

<p>Loading...</p>