Evan You(You Yuxi)는 2018년 11월 16일 오전 Vue 토론토에서 열린 기조 연설에서 Vue 3를 미리 선보였습니다. 최신 브라우저에서 지원되는 새로운 기능을 활용하는 Vue 3는 우리가 이미 알고 사랑하는 Vue.js의 강력하고 향상된 버전이 될 것입니다.
요약하자면 Vue 3는 다음 측면에서 기대할 가치가 있습니다.
faster
# ㅋㅋㅋ ## 🎜🎜#더 쉬워진 개발 및 사용
더 빠르게:
Virtual DOM Rewrite
가상 DOM 재작성을 사용하면 더 많은 컴파일 시간 프롬프트를 통해 런타임 오버헤드를 줄일 수 있습니다. 재작성에는 가상 노드 생성을 위한 보다 효율적인 코드가 포함됩니다.최적화된 슬롯 생성현재 Vue 버전에서는 상위 구성 요소가 다시 렌더링되면 해당 하위 구성 요소도 다시 렌더링되어야 합니다(11월 20일 일일 업데이트: 이 문장은 엄격하지 않으며 쉽게 오해할 수 있습니다. 2.0 구성 요소의 재렌더링은 구성 요소 세분성에서 이루어집니다. 수정된 데이터가 하위 구성 요소의 소품이 아닌 한, 하위 구성 요소가 트리거됩니다. 인용: https://juejin.im/pin/5bf28ddd6fb9a056783705fc) Vue 3을 사용하면 상위 및 하위 구성요소를 독립적으로 다시 렌더링할 수 있습니다.
정적 트리 호이스팅정적 트리 호이스팅을 사용하면 Vue 3의 컴파일러가 정적 구성 요소가 무엇인지 감지한 다음 이를 호이스팅하여 렌더링 비용을 줄일 수 있음을 의미합니다. 전체 트리 구조를 패치하는 과정을 건너뛸 수 있습니다.
정적 소품 호이스팅
또한 Vue 3에서는 노드를 변경하지 않는 패치 프로세스를 건너뛰는 정적 소품 호이스팅을 기대할 수 있습니다.
프록시 기반 관찰자 메커니즘
현재 Vue의 반응형 시스템은 Object.defineProperty의 getter 및 setter를 사용합니다. 그러나 Vue 3는 관찰자 메커니즘으로 ES2015 프록시를 사용합니다. 이렇게 하면 기존 경고가 제거되고 속도가 두 배로 향상되며 메모리 오버헤드가 절반으로 절약됩니다.
IE11을 계속 지원하기 위해 Vue 3에서는 이전 관찰자 메커니즘과 새 프록시 버전을 지원하는 빌드를 출시할 예정입니다.
Smaller:Vue는 런타임에 약 20kb로 압축되어 이미 매우 작습니다. 그러나 새로운 코어 런타임이 약 10kb gzip으로 측정되므로 크기가 훨씬 더 작을 것으로 예상할 수 있습니다. 이는 대부분 사용되지 않는 라이브러리를 제거함으로써 달성됩니다(트리 쉐이킹이라고도 함). 예를 들어 전환 요소를 사용하지 않는 경우 해당 요소는 포함되지 않습니다.
유지 관리 용이성:대부분의 Vue 개발자는 라이브러리 자체에 대해 작업하지 않지만 Vue 3가 더 많은 라이브러리로 이어질 것이라는 점을 아는 것이 좋습니다. 유지 관리 가능한 소스 코드. TypeScript를 사용할 뿐만 아니라 많은 패키지가 분리되어 모든 것이 더욱 모듈화됩니다.
더 많은 기본 지원
런타임 커널은 플랫폼에 구애받지 않으므로 Vue가 다음과 같은 모든 플랫폼과 더 쉽게 통합될 수 있습니다. 웹, iOS 또는 Android).
개발 및 사용이 더 쉬워짐
Observer 모듈이 자체 패키지에 담겨있어 새로운 방식으로 사용할 수 있습니다#🎜 🎜#
다시 렌더링된 위치를 추적하는 것도 더 쉬워집니다. Evan의 강연에서 그는 라이브 코딩을 수행하고 구성 요소를 다시 렌더링하도록 트리거하는 요소를 찾기 위해 Vue 애플리케이션을 추적하는 방법(아래 코드 사용)을 보여주었습니다. 이는 대규모 애플리케이션과 성능 미세 조정에 유용합니다.Vue 3.0은 TypeScript에 대한 지원도 향상하여 편집기에서 고급 유형 검사와 유용한 오류 및 경고를 허용합니다.
Experimental Hooks APIVue에서 두 구성 요소 간의 동작을 공유해야 할 때 일반적으로 Mixins를 사용합니다. 그러나 Evan은 Mixins의 일부 문제를 피하고 관용적인 Vue 코드를 더 편안하게 사용하기 위해 Hooks API를 사용하려고 노력하고 있습니다.실험적 시간 분할 지원
동시에 다시 렌더링하려는 구성 요소가 많으면 모든 브라우저의 속도가 느려지기 시작하여 사용자 경험이 더 나빠질 수 있습니다. Evan은 JS 실행을 처리할 사용자 상호 작용이 있는 경우 브라우저에 제공될 여러 부분으로 나누기 위해 Time Slicing을 사용하는 방법을 보여주었습니다.위 내용은 vue3.0의 새로운 기능은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!