Unifie by Typeless

Unifie by Typeless

Typeless · 코딩

Unifie by Typeless는 React 앱용 무료 TypeScript 툴킷으로, action 생성 함수와 reducers, RxJS epics를 개발자를 위한 하나의 도구로 묶은 것이다.

Unifie by Typeless 미리보기

Unifie by Typeless 소개

Unifie by Typeless란 무엇인가

Unifie by Typeless는 TypeScript로 React 앱을 만드는 팀을 위한 개발 툴킷이다. 여섯 개쯤 되는 작은 라이브러리를 이어 붙이는 대신, actions와 reducers, 부수 효과 처리를 하나의 패키지에서 얻는다. 이 프로젝트는 typeless 라이브러리 위에 세워졌으며, 그 라이브러리는 TypeScript를 React hooks와 RxJS에 짝지어 준다.

이 조합은 길 잃은 action 타입 문자열이나 잘못된 payload 형태를 받은 reducer 때문에 생긴 버그를 쫓아본 적이 있다면 중요하게 다가온다. Unifie는 TypeScript의 추론에 기대므로, 컴파일러가 초기 상태에서 대부분의 타입을 도출한다. 직접 쓰는 주석은 훨씬 적다. 어긋난 부분은 빌드 시점에 드러나고, 운영 환경에서는 나오지 않는다. 대부분 팀에 남는 장사다. 그렇다면 누가 고려해야 할까.

미리 알아 둘 점이 있다. 여기서는 TypeScript의 타입 시스템이 무거운 일을 맡는다. 큰 코드베이스에서는 상태 계층 전체의 추론 타입을 계산하는 동안 에디터가 느려질 수 있다. 반복 코드를 없애는 그 설계가 도구에도 부담을 준다. 중대형 앱을 운영한다면 설정을 손볼 각오를 해야 한다. 그러지 않으면 파일을 저장할 때마다 버벅임을 느낀다.

시작하기

  1. npm이나 yarn으로 라이브러리와 그 peer 의존성인 React 16.8 이상, RxJS 6을 설치한다.
  2. 앱 루트를 DefaultTypelessProvider로 감싸 모듈이 자신의 상태와 부수 효과를 등록하게 한다.
  3. 기능마다 모듈을 하나씩 만들어, 심볼 파일과 action 정의를 담는 인터페이스 파일, reducer와 epic을 담는 모듈 파일로 나눈다.
  4. 기능의 진입 컴포넌트 안에서 모듈 hook을 호출해 reducer와 epic을 불러오고, 그다음 컴포넌트에서 actions를 dispatch한다.

제품 정보

Unifie by Typeless의 요금, 지원 플랫폼, 성능을 한눈에 확인해 보세요.

무료 플랜예
유료 플랜$0
플랫폼Web (React apps)
개발사Typeless
카테고리코딩
출시일Jun 2019
최근 업데이트Sep 2020
웹사이트 방문 수1.1K
웹사이트 글로벌 순위13.8M
API 제공 여부예

추천 대상

이 도구가 가장 잘 맞는 사용자, 작업, 상황입니다.

사용자

  • TypeScript로 작업하며 상태 계층의 타입을 손으로 쓰지 않고 추론되길 원하는 React 개발자
  • 큰 앱을 유지하면서 흩어진 action 타입 문자열에 지친 프런트엔드 팀
  • RxJS에 이미 익숙하고 부수 효과를 같은 도구에서 처리하려는 엔지니어

작업

  • 하나의 비대한 store 파일 없이 여러 컴포넌트에 걸친 공유 앱 상태를 관리하기
  • dispatch된 actions에 반응하는 epics를 통해 데이터 가져오기 같은 비동기 부수 효과를 처리하기
  • 기능별로 reducers와 epics를 나눠 각각이 해당 컴포넌트가 마운트될 때만 로드되게 하기

활용 상황

  • 첫날부터 스택을 통제하고 TypeScript에 확실히 투자할 수 있는 신규 React 프로젝트
  • 성장하는 앱을 임시방편 상태 라이브러리에서 타입이 붙은 단일 방식으로 옮기기
  • 이미 React hooks를 쓰고 상태와 actions에도 같은 hook 스타일을 원하는 팀

주요 기능

최소한의 주석으로 추론되는 타입

이 툴킷은 네가 준 초깃값에서 상태의 형태를 읽고, 거기서 actions와 reducers, epics의 타입을 추론한다. 인터페이스 정의를 손으로 쓰는 일은 드물다. 실제로 개발자가 상태 필드 하나를 바꾸면 컴파일러가 깨지는 지점을 모두 짚어 주므로, 리팩터링의 추측이 줄어든다.

한 모듈 안의 action 생성 함수와 reducers

각 기능은 자기 모듈을 갖고, actions를 선언해 reducer 로직과 한곳에서 짝짓는다. 앱이 커져도 유지할 중앙 reducers 파일이 없다. actions는 타입이 붙은 payloads를 실어 나르므로, reducer는 별도 검사 없이 받는 데이터를 정확히 안다.

부수 효과를 위한 RxJS epics

부수 효과는 RxJS 위에 세운 epics를 통해 흐른다. epic은 특정 action을 듣고 새 action을 돌려주므로, 네트워크 요청 같은 비동기 흐름을 따져 보기 쉬워진다. RxJS를 써 본 적이 없다면 이 부분에 학습 곡선이 있다. 써 본 개발자들은 자연스럽게 어울린다고 말한다.

주문형 로딩과 코드 분할

reducers와 epics는 React 컴포넌트가 마운트될 때 로드되지, 시작할 때가 아니다. 그러니 코드 분할이 그대로 작동하고, 어떤 기능의 상태 로직은 누군가 그걸 열 때만 함께 온다. 문서는 모든 것을 초기 번들로 끌어들이는 단일 epics 파일이 없다는 점을 강조한다.

핫 모듈 교체 지원

개발 중에 상태 로직은 페이지 전체를 새로 고치지 않고 제자리에서 다시 로드되며, 심볼은 각자 파일에 있어 편집하는 동안 HMR이 계속 작동한다. 사소한 점이지만 reducer를 다듬을 때 클릭을 많이 아껴 준다.

React hooks 통합

컴포넌트는 hooks를 호출해 상태를 읽고 actions를 dispatch한다. 오늘날 대부분 React 개발자가 쓰는 스타일과 맞는다. 예전 connect 기반 배선은 건너뛴다. actions도 같은 hook 패턴으로 들어오므로 컴포넌트 코드는 짧게 유지된다.

장단점

장점

  • 타입이 초기 상태에서 흘러나오므로 쓰는 주석이 줄고 빌드 시점에 실수를 잡는다
  • actions와 reducers, epics가 느슨하게 이어진 여러 라이브러리가 아니라 하나의 도구에 있다
  • 기능별 모듈과 주문형 로딩이 초기 번들을 가볍게 유지한다
  • MIT 라이선스 아래 무료 오픈 소스이며 유료 등급이 전혀 없다

단점

  • 무거운 타입 추론이 큰 코드베이스에서 에디터를 느리게 할 수 있어 설정을 조정해야 할 수 있다
  • RxJS epics는 리액티브 스트림을 다뤄 본 적 없는 개발자에게 학습 곡선을 더한다
  • 기능마다 심볼, 인터페이스, 모듈 파일이 필요한 명시적 구조는 작은 앱에서 부담으로 느껴진다
  • 문서와 커뮤니티가 주류 상태 라이브러리에 비해 작아, 문제 해결이 소스 코드에 기대게 된다

자주 묻는 질문

TypeScript로 작성한 앱에서 React 상태 관리와 부수 효과를 위한 툴킷이다. 여러 개별 라이브러리를 조립하지 않고 actions와 reducers, epics를 통한 비동기 흐름을 정의하는 데 쓴다.

관련 콘텐츠

Unifie by Typeless와 관련된 도구, 스킬, 아티클을 살펴보세요.

Unifie by Typeless 대안

Forefront

Forefront

Forefront · 코딩

Forefront는 오픈소스 AI로 무언가를 만드는 웹 플랫폼이다. 대표적인 오픈소스 언어 모델을 자신의 데이터로 미세 조정하고, 성능을 평가하고, API로 실행하거나 내보내 직접 호스팅할 수 있다. 폐쇄형 플랫폼의 편의를 원하면서도 모델과 데이터의 소유권은 놓지 않으려는 개발자가 대상이다.

무료 / $0 - $99/mo자세히 보기
Startkit

Startkit

StartKit.AI · 코딩

Startkit은 AI SaaS와 AI 래퍼 제품을 만들기 위한 보일러플레이트다. 지루한 부분을 미리 연결해 둔 AI 스타트업 보일러플레이트라고 생각하면 된다. 인증, Stripe와 Lemon Squeezy 결제, 사용량 제한, 트랜잭션 이메일, 그리고 OpenAI, Anthropic, Groq, Llama와 통신하는 AI API 스타터 키트가 포함된다. 저장소를 복제하고 가격을 정한 뒤 사용자가 실제로 돈을 내는 부분에 착수하면 된다. React와 Tailwind 위의 Next.js로 만들어졌기 때문에 보일러플레이트 코드의 상당 부분이 이미 익숙하게 느껴진다.

유료 / $99 - $499 one-time자세히 보기
Testim

Testim

Tricentis · 코딩

Testim은 웹, 모바일, Salesforce 애플리케이션 전반에 걸쳐 엔드투엔드 테스트를 만들고 실행하는 AI 기반 테스트 자동화 플랫폼이다. 머신러닝에 기대어 인터페이스가 바뀌어도 테스트를 안정적으로 유지하므로, 팀은 깨진 셀렉터를 고치는 데 쓰는 시간을 줄인다. 오늘부터 쓸 수 있는 자동화 테스트 도구치고 나쁘지 않다. 브라우저에서 동작을 녹화해 테스트를 만들고, 더 세밀한 제어가 필요하면 JavaScript를 더한다. 바쁜 QA 팀에게 탄탄한 선택이다.

무료 / Custom pricing on request자세히 보기