기트허브(GitHub) 공동 창업자 톰 프레스턴워너를 필두로 하는 오픈소스 프레임워크 ‘레드우드(Redwood)’ 프로젝트 개발팀은 잼스택(Jamstack) 애플리케이션 개발을 지원하는 편향적인(opinionated) 풀스택 서버리스 웹 애플리케이션 프레임워크를 제공하고 있다.
‘레드우드’는 애플리케이션 프론트엔드와 백엔드 모두에서 자바스크립트(JavaScript)를 기본언어로 사용한다. 이렇게 단일 언어를 사용하면 코드 재사용부터 개발자 채용까지 모든 것이 단순해진다고 개발팀은 설명했다.
개발팀은 공식 문서를 통해 ‘레드우드’ 혹은 ‘레드우드.js’를 설명하면서, CDN에 의해 정적으로 딜리버리되는 리액트(React) 자바스크립트 라이브러리 프론트엔드가 그래프QL(GraphQL)을 통해 전 세계의 AWS 람다(AWS Lamba)에서 실행되는 백엔드와 통신하며, 이를 모두 깃 푸시(git push)로 배포할 수 있다고 전했다.
이 밖에 ‘레드우드’를 사용하면, 그 자체로 운영상의 의사결정이 이뤄지기 때문에 다양한 기술과 구성을 선택하고 재선택하는 데 시간을 낭비하는 대신 애플리케이션 개발에 더 집중할 수 있다고 개발팀은 언급했다.
한편 사전 렌더링 및 디커플링 핵심 원칙을 활용하는 ‘잼스택’은 웹을 더 빠르고, 더 안전하며, 더 확장 가능하도록 하는 아키텍처를 제공한다. 잼스택은 최신 데브옵스 개발 철학을 정적 HTML 페이지와 결합한다.
레드우드는 현재 버전 0.20 상태다. 기트허브에서 액세스할 수 있다. 개발팀은 2020년 말에 스테이블 1.0 버전을 출시할 예정이라고 밝혔다. 표준 레드우드 애플리케이션에서 사용할 기술은 다음과 같다.
• 리액트(React)
• 그래프QL(GraphQL)
• 프리즘 데이터베이스 툴킷(Prism database toolkit)
• 제스트 자바스크립트 테스팅 프레임워크(Jest JavaScript testing framework): 출시 예정
• UI 애플리케이션 개발을 지원하는 스토리북 툴(Storybook tool): 출시 예정
• 바벨 자바스크립트 컴파일러(Babel JavaScript compiler)
• 웹팩 번들러(Webpack bundler)
또한 레드우드는 포맷에 관한 편향적인(opinionated) 기본값, 동적 매개변수를 라우팅하는 자체 라우터 등을 특징으로 한다. 자동 페이지 분할 기능도 있다.