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
BackendFrontendNarzędzia
Home›Backend›RedwoodJS – nowa platforma webowa JavaScript

RedwoodJS – nowa platforma webowa JavaScript

By Bernadeta Zapała
3 listopada 2020
280
0
Share:

Tom Preston-Werner wydał nowy, bezserwerowy framework aplikacji internetowych – RedwoodJS. Jego zadaniem jest przede wszystkim tworzenie i wdrażanie aplikacji JAMstack. RedwoodJS nie osiągnęło jeszcze stabilnej wersji 1.0, więc nie jest odpowiednie do użytku produkcyjnego. We wpisie na blogu twórcy piszą:

Wyobraź sobie frontend React, statycznie dostarczany przez CDN, który komunikuje się przez GraphQL z twoim backendem działającym na AWS Lambdas na całym świecie. A wszystko to można wdrożyć za pomocą tylko git push – to jest Redwood.

Skład RedwoodJS

Redwood obecnie korzysta z technologii React, GraphQL (Apollo), Prisma, Babel oraz Webpack. W planach jest także obsługa Jest oraz Storybook. Oprócz tego nowy framework przejmuje Jamstack. Aplikacja jest podzielona na dwie części – frontend i backend. Cała organizacja Redwood polega na umieszczaniu kodu frontend i backend w jednym mono-repozytorium.

  • /web – Strona internetowa – strona zbudowana przy pomocy React, frontend, udostępniany jako pliki statyczne przez CDN
  • /api – Strona api  – implementacja interfejsu API GraphQL, są to funkcje bezserwerowe zaplecza, frontend będzie je wywoływał w razie potrzeby dynamicznych danych.

Utrzymywanie tego oddzielnie pozwala na różne zależności i procesy kompilacji dla każdego projektu.

Na grafice wygląda to następująco:

Architektura RedwoodJS

Architektura RedwoodJS

Własny router RedwoodJS

Przede wszystkim Redwood dostarcza wbudowany router. Dzięki niemu programiści wyświetlają wszystkie ścieżki w jednym pliku, bez żadnego zagnieżdżania. Router wprowadza przede wszystkim wiele nowości do aplikacji. Mowa o nazwanych ścieżkach, a także typach parametrów ścieżek. Te pierwsze pozwalają właśnie na odwoływanie się do ścieżek za pomocą zdefiniowanej nazwy. Typy z kolei dbają o wymuszanie wartości na podstawie typu danych lub funkcji niestandardowych.

import { Router, Route } from '@redwoodjs/router'
const Routes = () => {
return (
<Router>
<Route path="/" page={HomePage} name="home" />
<Route path="/users/{type}" page={UsersPage} name="users" />
</Router>
)
}

// web/src/components/Admin/Admin.js
import { Link, routes } from '@redwoodjs/router'
const Admin = () => {
return (
<h1><Link to={routes.home()}>My CRM</Link></h1>
<Link to={routes.users({type: "admin"})}>View Admins</Link>
)
}

Generatory, komórki, formularze

Redwood posiada także liczne generatory CLI, tworzące powłokę komórek, stron czy układów. Przede wszystkim ograniczają one schemat typowych operacji.

Komórki w RedwoodJS zapewniają przede wszystkim proste podejście do obsługi zdalnego pobierania danych w wielu stanach. Zawierają one zapytanie GraphQL, stany ładowania, Empty, Failure, a także Success. Minimum potrzebne do działania komórki to eksport QUERY i Success.

Z kolei Formularze Redwood zbudowane są na podstawie React Hook Form. Z Redwood formularze są prostsze i dają gwarancję pracy ze zwykłymi danymi wejściowymi HTML, a także zapewniają walidację.

Źródła: InfoQ, RedwoodJS Docs

TagsBabelDevelopmentGraphQLJavaScriptPrismaReactWeb Developmentwebpack

Share:

  • Frontend

    Constraint Layout 2.0 – najnowsza biblioteka jetpack

  • webpack 5.0 logo
    Narzędzia

    webpack 5.0 zoptymalizowany, z wieloma nowościami

  • Frontend

    Svelte — framework JS „odchudzający” strony internetowe

  • 3 marca 2021

    Vite 2.0 wydane z nowymi wtyczkami

  • 25 lutego 2021

    ReacType 5.0 – zmiany we wprowadzaniu komponentów

  • 23 lutego 2021

    Dapr v.1.0 gotowy do fazy produkcji

  • 22 lutego 2021

    ReScript 9.0 z zewnętrzną konfiguracją stdlib

  • 22 lutego 2021

    One UI 3.1 z ciekawymi nowościami dla urządzeń Samsunga

  • 22 lutego 2021

    Windows Terminal Preview 1.6 z nową sekcją ustawień

  • 15 lutego 2021

    Visual Studio Code 1.53 z ulepszeniami debugowania

  • 8 lutego 2021

    Edge 89 beta, Edge Dev 90 i nowości na kanale Canary

  • 2 lutego 2021

    Firefox 85 i Firefox Nightly – nowe wersje przeglądarki Mozilli

  • 29 stycznia 2021

    Billboard.js 2.2.0 z nowymi funkcjami wykresów

  • 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

 

 

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