--unstable-unsafe-proto 플래그는 많은 npm 패키지가 의존하는 Object.prototype.__proto__를 지원함.
Node-API의 안정화로 --unstable 플래그 없이 Node-API에 의존하는 npm 패키지를 사용할 수 있게 되어 지원 범위가 확대됨.
Deno.serve()를 통한 더 간단하고 빠른 웹 서버
Deno.serve() 함수를 도입하고 안정화하여 개발자가 최소한의 코드로 서버를 시작할 수 있게 함.
코어 라이브러리와 이벤트 루프 메커니즘의 타겟팅된 최적화를 통해 성능이 크게 향상됨.
Deno의 HTTP 처리량은 기본 "Hello, world" 서버 설정을 사용한 벤치마크 테스트에서 눈에 띄게 증가함.
더 유연한 deno.json
Deno는 복잡한 설정 없이도 사용할 수 있는 프로그래밍 원칙을 지향하며, deno.json 설정 파일을 지속적으로 개선하여 사용의 용이성을 유지함:
deno.json을 가져오기 맵으로도 사용할 수 있게 함.
deno fmt는 세미콜론을 지원하여 코드 스타일에 대한 유연성을 제공함.
package.json과의 통합으로 Node와 Deno 환경 간의 전환을 용이하게 함.
deno.json 구조를 단순화하여 개발자가 더 직관적으로 탐색할 수 있게 함.
글로브 패턴의 도입으로 파일 및 디렉토리의 포함 또는 제외를 더 정밀하게 제어할 수 있게 됨.
LSP를 통한 더 부드러운 개발 경험
Deno의 언어 서버 프로토콜(LSP) 통합은 정확한 정의 이동, 포괄적인 IntelliSense, TypeScript 프로젝트를 위한 원활한 코드 포맷팅 등의 기능을 제공함.
LSP를 개선하기 위해 많은 노력을 기울여 Deno에서의 코딩을 더 부드럽고 직관적으로 만듦.
WebGPU
WebGPU는 개발자가 JavaScript를 사용하여 GPU 하드웨어의 성능을 직접 활용할 수 있게 하는 첨단 기술을 Deno에 통합함.
WebGPU는 --unstable-webgpu 플래그 뒤에서 사용할 수 있으며, Deno 애플리케이션의 기능을 확장하는 중요한 이정표임.
Jupyter 노트북
오픈 소스 노트북 도구인 Jupyter는 JavaScript와 TypeScript를 사용하여 Deno를 지원하게 됨.
이를 통해 데이터 과학, 시각화 등을 현대적인 JavaScript와 TypeScript 및 웹 표준 API를 사용하여 수행할 수 있게 됨.
주목할 만한 오픈 소스 Rust 크레이트
Deno는 다양한 오픈 소스 프로젝트와 연계되어 있으며, Deno의 기능 세트를 확장하고 성능을 최적화하기 위해 적극적으로 기여함.
올해 Deno는 독립적으로 유용할 수 있는 몇 가지 Rust 크레이트를 출시함.
Fresh
Fresh는 클라이언트 측 JavaScript를 기본적으로 전송하지 않는 Deno의 현대적인 전체 스택 웹 프레임워크로, 사용하기 쉽고 성능을 향상시키기 위해 계속 개선됨.
Deno의 클라우드 비즈니스 확장
Deno Subhosting은 Netlify의 엣지 함수와 Deco.cx 고객의 전자 상거래 상점을 지원하는 동안 자체 서비스로 전환되어 누구나 무료로 사용할 수 있게 됨.
Deno KV, Queues, Cron과 같은 클라우드 기본 요소를 출시하여 웹 개발을 근본적으로 단순화하는 비전을 향해 진전을 이룸.
Deno 2
Deno 2는 Node와 npm과의 호환성을 개선하고, 프로젝트의 종속성을 관리하고 최적화하는 데 관한 흥미로운 발표를 포함하여 개선된 런타임을 제공할 예정임.
GN⁺의 의견:
Deno는 Node.js와의 호환성을 크게 향상시키고, 웹 개발을 단순화하는 데 중점을 두고 있음이 중요함. 이는 기존 Node.js 개발자들에게 Deno로의 전환을 더 쉽게 만들고, Deno의 채택을 촉진할 수 있음.
WebGPU와 같은 첨단 기능의 통합은 Deno가 단순한 서버 사이드 플랫폼을 넘어서 더 넓은 범위의 애플리케이션 개발에 적합하게 만들고 있음을 보여줌. 이는 특히 GPU를 활용한 고성능 컴퓨팅이 필요한 개발자들에게 매력적일 수 있음.
Fresh 프레임워크와 Deno Deploy의 발전은 Deno가 전체 스택 웹 개발에서 중요한 역할을 할 수 있음을 시사하며, 클라우드 기반 서비스로서의 Deno의 위치를 강화함. 이러한 발전은 Deno가 현대 웹 개발의 주요 플레이어로 자리 잡을 가능성을 높이고 있음.
한 사용자는 인터넷에 연결되지 않은 환경에서 Deno 애플리케이션을 가져오는 방법을 아직 찾지 못했으며, 이에 대한 문서가 전혀 없다고 지적함. 이 사용자는 Deno가 기업 환경에서 희망을 가질 수 없다고 생각함.
다른 사용자는 WebGPU 기능에 관심을 표현하며, Slint 프레임워크를 통해 브라우저나 웹뷰 없이 자바스크립트/타입스크립트로 데스크톱 GUI를 만들고 있음을 설명함. Deno가 직접 윈도우를 띄울 수 있다면, 모든 플랫폼에 대해 네이티브 바이너리 대신 wasm을 배포할 수 있을 것이라고 기대함. 그러나 WebGPU 기능이 윈도우를 띄우는 API를 포함하지 않아 여전히 추가 라이브러리가 필요하다고 덧붙임.
한 사용자는 Deno의 컴파일 상황이 개선되기를 바라며, 생성된 실행 파일이 90MB 이상이고 압축 시 오류가 발생하여 Go 언어처럼 배포하기 어렵다고 지적함. Deno가 Node.js의 pkg 솔루션보다 크기 면에서 더 나빠졌다고 언급함.
또 다른 사용자는 Deno가 러스트 호스트 프로세스에 내장될 수 있는 더 큰 지원을 보고 싶어함. 자바스크립트 번들러를 작성 중이며, 플러그인을 실행하기 위해 Node.js 런타임이 필요하지만, deno-core 크레이트가 매우 기본적이고 내장하기 어렵다고 언급함. Deno가 JS 도구 세계에서 "플러그인 런타임"이 될 수 있을 것이라고 기대하며, 현재는 Rust 호스트 프로세스에서 stdio를 사용하여 Node.js 자식 프로세스와 통신하고 있음을 설명함.
한 사용자는 자바스크립트를 좋아하지 않지만, Deno를 사용해보고 매우 부드럽고 빠른 경험을 했다고 긍정적인 의견을 표현함.
또 다른 사용자는 2023년에 처음으로 비트리비얼한 Deno 앱을 프로덕션에 배포했으며, 여러 진입점이 있는 저장소에서 lock 파일을 동기화하는 학습 과정에 어려움을 겪었지만, 전반적으로 좋은 경험이었다고 말함.
Jupyter가 Deno를 사용하여 자바스크립트와 타입스크립트를 지원하게 되었다는 소식에 대해 한 사용자는 긍정적인 반응을 보이면서도, 파이썬이 숫자와 수학에 뛰어난 지원을 제공하는 점을 언급하며, 이를 사용하고 싶어하는 사람이 있을지 의문을 제기함.
한 사용자는 기사 끝에 링크된 JSR의 대기 목록에 가입할 수 있으며, Deno 팀이 무엇을 만들고 있는지 궁금해함.
Deno Deploy가 GCP 지역을 35개에서 12개로 줄였다는 소식에 대한 링크를 공유한 사용자가 있음.
Fresh라는 웹 개발 프레임워크를 사용하고 싶어하지만, 현재 Tailwind만 지원하는 것은 미성숙해 보인다고 지적하는 사용자가 있음. 다음 반복에서 CSS 번들링이 아닌 뷰 전환을 우선시하는 것에 대해 의아해함.