TL;DR
- Effect 4.0은 Effect를 처음부터 다시 구축한 주요 릴리스로, 번들 크기와 메모리 사용량을 줄이고 동시 작업 처리량을 높임.
- Effect 3.x와 비교해 최소 프로그램 번들은 35.6KB에서 7.1KB로 감소하고, 작업 처리량은 초당 0.71M에서 4.57M으로 증가하며, 5만 개 파이버의 힙 메모리는 157.5MB에서 21.8MB로 감소함.
- 여러 패키지를
effect패키지와 단일 버전 릴리스 체계로 통합하고, 핵심 패키지의 런타임 의존성을 0개로 구성함. - 2026년 9월 21일 주간
npm다운로드는 4,390만 회이며, Effect 4.x의 최근 7일 점유율은 56%로 3.x의 44%를 앞섬. - Effect 4.x는 최소 3년간 지원되며, 버그 수정은 2029년 9월 또는 Effect 5.0 출시 후 1년 중 더 늦은 시점까지, 보안 수정은 2029년 9월 또는 5.0 출시 후 2년 중 더 늦은 시점까지 제공됨.
Effect 4.0
- Effect 4.0은 지금까지 출시한 릴리스 가운데 가장 야심 찬 버전으로, Effect를 처음부터 다시 구축한 결과물임.
- 실행 속도가 빨라지고 메모리 사용량이 크게 줄며, 트리 셰이킹(tree-shaking)으로 번들 크기도 훨씬 작아짐.
- Effect 3.x와 4.x의 성능 비교는 다음과 같음.
- 최소 프로그램 크기: 3.x 35.6KB, 4.x 7.1KB로, 번들 크기는 더 작을수록 좋음.
- 초당 작업 수: 3.x 0.71M, 4.x 4.57M으로, 동시 작업 처리량은 6.4배 높으며 수치가 클수록 좋음.
- 파이버(fiber) 5만 개의 힙 메모리: 3.x 157.5MB, 4.x 21.8MB로, 파이버당 메모리 사용량은 86% 감소하며 수치가 작을수록 좋음.
- 번들 비교는 동일한 소스 코드로 빌드한 뒤 최소화하고 gzip 압축한 결과임. 런타임 수치는 새 프로세스에서 각각 9회 실행한 결과의 중앙값임.
하나의 생태계, 의존성 0개
- 이전에 별도 패키지로 제공되던 여러 기능이 이제
effect자체에 포함됨. - 주변 패키지들은 단일 버전을 공유하며 함께 릴리스됨.
- 핵심
effect패키지는 런타임 의존성이 없음. 배포하는 모든 코드를 직접 관리해 서드파티 의존성 체인이 없고, 공급망 공격에 노출될 가능성도 낮음.
함수에서 클러스터까지
- Effect는 처음에는 훨씬 작은 범위에서 시작했지만, 현재는 단일 함수부터 분산 시스템까지 다룸.
- 프로그래밍 모델은 효과 시스템(effect system)을 중심으로 하며, 타입 지정 오류, 의존성 주입, 리소스 관리, 구조적 동시성, 관측 가능성을 기본 제공함.
- 표준 라이브러리와 플랫폼 통합이 프로그래밍 모델을 중심으로 확장됐고, 이후 영속 워크플로와 클러스터링을 비롯한 분산 시스템용 상위 수준 기본 요소가 추가됨.
- 모든 계층은 동일한 모델을 기반으로 하며, 상위 계층까지 같은 보장을 유지함.
주류 채택
- Effect는 대기업을 포함해 다양한 규모의 기업에서 프로덕션 환경에 사용됨.
- 2026년 9월 21일 주간
npm다운로드 수는 4,390만 회이며, 3.x 대비 증가율은 179배임. - 최근 7일간 Effect 4.x 채택 비중은 56%, 3.x는 44%임.
- Effect를 중심으로 자체 커뮤니티를 가진 프로젝트도 성장했으며, 클라우드 인프라 분야의 Alchemy와 프런트엔드 분야의 Foldkit이 있음.
- 프로덕션에서 Effect를 사용하는 팀에 구축 중인 제품과 필요한 지원을 공유해 달라고 요청함.
장기 지원
- 팀들이 Effect를 제품의 기반으로 삼는 만큼, 이번 릴리스부터 모든 주요 버전에 장기 지원 정책을 적용함.
- Effect 4.x의 버그 수정은 2029년 9월 또는 5.0 출시 후 1년 중 더 늦은 시점까지 제공됨.
- 보안 수정은 2029년 9월 또는 5.0 출시 후 2년 중 더 늦은 시점까지 제공됨.
- 지원 기간은 최소 3년이며, 5.0이 충분히 늦게 출시되면 버그 및 보안 수정 지원은 이 최소 기간을 넘김.
- 5.0이 2027년 9월 출시되면 4.x는 2029년 9월까지 버그와 보안 수정을 받음.
- 5.0이 2028년 9월 출시되면 4.x는 2029년 9월까지 버그 수정, 2030년 9월까지 보안 수정을 받음.
- 5.0이 2030년 9월 출시되면 4.x는 2031년 9월까지 버그 수정, 2032년 9월까지 보안 수정을 받음.
- 전체 정책과 릴리스 절차는 후속 게시물에서 공유할 예정임.
다음 계획
- 우선순위는 생태계의 더 많은 부분을 안정화하는 것임.
- 새 모듈 가운데 일부는 아직
@stability unstable또는@stability experimental로 표시돼 있으며, 이는 마이너 또는 패치 릴리스에서 변경될 수 있음을 뜻함. - 프로덕션 피드백을 활용해 모듈을 다듬고 안정 버전으로 승격할 계획임.
- 앞으로 더 폭넓은 네이티브 플랫폼 지원과 상위 수준 기본 요소를 제공하며, Effect를 애플리케이션 전체를 위한 단일 프로그래밍 모델로 확장할 계획임.
이제 사용자의 차례
- 마이그레이션을 진행하는 경우 마이그레이션 가이드부터 시작할 수 있으며, 코딩 에이전트에 전달하면 대부분의 작업을 자동으로 처리할 수 있음.
- Effect가 궁금한 경우 문서를 확인하거나 에이전트에 Effect로 개발해야 하는 이유를 물어볼 수 있음.
- 기여, 릴리스 테스트, 버그 제보, 다른 사용자의 시작 지원에 참여한 모든 사람에게 감사를 전함.
- X, Bluesky, Discord에서 소식을 공유하고 함께 축하해 달라고 요청함.
- 마지막 업데이트 날짜는 2026년 9월 30일임.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요