"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Microsoft Teams 향상: Electron에서 WebView2로의 마이그레이션이 미치는 영향

Microsoft Teams 향상: Electron에서 WebView2로의 마이그레이션이 미치는 영향

2024-08-17에 게시됨
검색:202

소개
''빠르게 발전하는 데스크톱 애플리케이션 개발 환경에서 Microsoft Teams는 최근 기본 기술에 상당한 변화를 가져왔습니다. 처음에 Electron 프레임워크를 기반으로 구축된 두 애플리케이션 모두 Microsoft의 WebView2 컨트롤을 사용하도록 전환되었습니다. 이러한 움직임은 성능, 통합 및 사용자 경험 면에서 눈에 띄는 개선을 제공하는 중추적인 변화를 의미합니다. 이 블로그에서는 이러한 마이그레이션이 중요한 이유와 개발자와 사용자 모두에게 어떤 의미가 있는지 살펴보겠습니다.

Rish Tandon의 직접적인 통찰력

Microsoft Teams의 CEO인 Rish Tandon은 트윗에서 이러한 전환의 중요성을 다음과 같이 강조했습니다.
"이번 변경으로 우리는 #MicrosoftTeams 아키텍처에서 중요한 단계를 밟고 있습니다. 우리는 Electron에서 Edge WebView2로 이동하고 있습니다. Teams는 계속 하이브리드 앱으로 유지되지만 이제는 #MicrosoftEdge에 의해 구동됩니다. 또한 Angular는 사라졌습니다. 이제 WebView2가 100% 사용되었습니다."

아키텍처 개요

ElectronJS 프로세스 모델:

Electron은 웹 애플리케이션을 래핑하여 크로스 플랫폼 데스크톱 애플리케이션을 만들 수 있는 프레임워크입니다. 이는 웹 애플리케이션과 데스크톱 환경 사이의 브리지 역할을 하며 팝업 표시 또는 장치 연결에 응답하는 등의 상호 작용을 처리합니다. Electron이 데스크탑과의 인터페이스를 관리하는 반면, 애플리케이션의 핵심 기능은 JavaScript로 구현됩니다.

Elevating Microsoft Teams: The Impact of Migrating from Electron to WebView2

WebView2 기반 애플리케이션 프로세스 모델:

WebView2는 텍스트 상자나 버튼과 유사한 다용도 컨트롤이지만 Edge에 통합된 Chromium 엔진을 사용하여 웹 페이지 경험을 렌더링하도록 설계되었습니다. 이는 Win32 시대의 웹 브라우저 컨트롤을 자체적으로 대체한 이전 WebView 컨트롤을 대체합니다. WebView는 원래 Edge(Trident) 렌더링 엔진을 사용하고 Windows 10으로 제한되었지만 WebView2는 업데이트된 Edge 엔진을 활용하며 더 광범위한 Windows 플랫폼과 호환됩니다.

Elevating Microsoft Teams: The Impact of Migrating from Electron to WebView2

간단한 요약:

Elevating Microsoft Teams: The Impact of Migrating from Electron to WebView2

Electron JS에서 WebView2로 전환하는 이유는 무엇입니까?

전환 이유

성능 개선: WebView2는 Electron보다 가볍고 빠르므로 메모리 사용량이 줄어들고 로드 시간이 빨라집니다.
Windows와의 향상된 통합: WebView2는 Windows와 원활하게 통합되어 성능과 사용자 경험을 향상시킵니다.
오버헤드 감소: WebView2는 리소스를 덜 사용하므로 전체 Chromium 브라우저 인스턴스를 번들로 묶을 필요가 없으므로 애플리케이션의 설치 공간이 줄어듭니다.
강화된 보안: WebView2는 Microsoft Edge에 대한 지속적인 보안 업데이트의 이점을 활용하여 Electron보다 더 안전한 환경을 제공합니다.

전환 결과

성능:
메모리 사용량: WebView2는 메모리 소비를 대폭 줄여 성능을 더욱 원활하게 해줍니다.
로드 시간: 최적화된 렌더링과 감소된 오버헤드로 인해 로드 시간이 빨라지고 응답 속도가 빨라졌습니다.

사용자 경험:
안정성: 충돌 및 버그가 줄어들어 안정성이 향상되었습니다.
사용자 인터페이스: 더 반응성이 뛰어난 인터페이스와 더 부드러운 상호 작용.

통합 및 호환성:
Windows 기능: 알림 및 파일 처리와 같은 Windows 기능과의 통합이 향상되었습니다.
애플리케이션 업데이트: Edge의 업데이트 메커니즘을 통해 업데이트가 단순화되었습니다.

개발자 영향:
개발 효율성: 간소화된 프레임워크와 향상된 디버깅 도구.
코드 유지 관리: 표준화된 웹 콘텐츠 처리로 유지 관리가 더 쉬워졌습니다.

보안:
강화된 보안: Edge의 보안 기능으로 취약점으로부터의 보호가 향상되었습니다.

개발자와 사용자에게 미치는 영향

개발자용:
전환 복잡성: Electron에서 WebView2로 마이그레이션하려면 애플리케이션 아키텍처를 재작업해야 합니다. 개발자는 Electron 관련 기능을 WebView2와 동등한 기능으로 대체해야 하며, 종종 웹 콘텐츠 처리 방법과 네이티브 코드와 웹 콘텐츠 간의 통신 관리 방법에 상당한 변경이 필요합니다.
새로운 기회: WebView2는 기본 Windows 기능과 통합하고 최신 웹 표준을 활용할 수 있는 새로운 가능성을 열어줍니다. 개발자는 이러한 기회를 탐색하여 애플리케이션을 더욱 강화하고 더욱 강력한 기능을 제공할 수 있습니다.

사용자의 경우:
향상된 성능: 사용자는 더욱 빠르고 응답성이 뛰어난 애플리케이션을 경험할 수 있습니다. 이는 복잡한 디자인 작업을 처리하는 실시간 커뮤니케이션에 의존하는 Microsoft Teams와 같은 수요가 높은 애플리케이션에 특히 유용합니다.
원활한 경험: Windows 환경에 대한 통합이 향상되어 사용자는 더욱 응집력 있고 유동적인 경험을 기대할 수 있습니다. 여기에는 운영 체제와의 보다 원활한 상호 작용과 Windows 관련 기능에 대한 향상된 지원이 포함됩니다.

결론

Microsoft Teams의 Electron JS에서 WebView2로의 마이그레이션은 더 나은 성능, 통합 및 최신 웹 표준 준수를 향한 중요한 변화를 의미합니다. 이러한 변화는 사용자 경험과 보안을 향상시키기 위해 데스크톱 애플리케이션을 최적화하는 추세를 강조합니다. 기술이 발전함에 따라 더 많은 애플리케이션이 비슷한 발전을 채택할 것으로 예상되며 전략적 업데이트가 어떻게 혁신을 주도하고 일상적인 도구를 개선할 수 있는지 보여줄 수 있습니다.

릴리스 선언문 이 기사는 https://dev.to/sshamza/elevating-microsoft-teams-the-impact-of-migating-from-electron-to-webview2-5hn2?1에서 복제됩니다. 침해가 있는 경우에는 Study_golang에 문의하세요. @163.com 삭제
최신 튜토리얼 더>
  • PHP 디자인 패턴: 어댑터
    PHP 디자인 패턴: 어댑터
    어댑터 디자인 패턴은 호환되지 않는 인터페이스를 가진 개체가 함께 작동할 수 있도록 하는 구조적 패턴입니다. 두 개체 사이의 중개자(또는 어댑터) 역할을 하여 한 개체의 인터페이스를 다른 개체가 예상하는 인터페이스로 변환합니다. 이를 통해 원래 코드를 수정하지 않고도 ...
    프로그램 작성 2024-11-06에 게시됨
  • PHP의 WebSocket 이해
    PHP의 WebSocket 이해
    WebSocket은 단일 TCP 연결을 통해 실시간 전이중 통신 채널을 제공합니다. 클라이언트가 서버에 요청을 보내고 응답을 기다리는 HTTP와 달리 WebSocket은 여러 요청 없이도 클라이언트와 서버 간의 지속적인 통신을 허용합니다. 이는 채팅 애플리케이션, 실시...
    프로그램 작성 2024-11-06에 게시됨
  • Visual Studio 2012에서는 어떤 C++11 기능이 지원됩니까?
    Visual Studio 2012에서는 어떤 C++11 기능이 지원됩니까?
    Visual Studio 2012의 C 11 기능최근 Visual Studio 2012 미리 보기 버전이 출시되면서 많은 개발자들이 C 11 기능 지원에 대해 궁금해하고 있습니다. Visual Studio 2010은 이미 부분적인 C 11 지원을 제공했지만 새 버전에서...
    프로그램 작성 2024-11-06에 게시됨
  • Windows 시작 시 Python 스크립트를 자동으로 실행하려면 어떻게 해야 합니까?
    Windows 시작 시 Python 스크립트를 자동으로 실행하려면 어떻게 해야 합니까?
    Windows 시작 시 Python 스크립트 실행Windows가 시작될 때마다 Python 스크립트를 실행하는 것은 작업을 자동화하거나 필수 프로그램을 시작하는 데 매우 중요합니다. 여러 접근 방식은 다양한 수준의 사용자 정의 및 사용자 제어를 제공합니다.스크립트 실행...
    프로그램 작성 2024-11-06에 게시됨
  • Astral.CSS 탐색: 웹 디자인을 혁신하는 CSS 프레임워크.
    Astral.CSS 탐색: 웹 디자인을 혁신하는 CSS 프레임워크.
    빠르게 변화하는 웹 개발 세계에서 프레임워크는 개발자가 시각적으로 매력적이고 기능적인 웹 사이트를 효율적으로 만드는 데 도움이 되는 중추적인 역할을 합니다. 현재 사용 가능한 다양한 프레임워크 중에서 Astral CSS는 독특한 디자인 철학과 사용 용이성으로 인해 단연...
    프로그램 작성 2024-11-06에 게시됨
  • ESnd Arrow 함수에 대한 종합 가이드
    ESnd Arrow 함수에 대한 종합 가이드
    ES6 소개 ECMAScript 2015(ES6(ECMAScript 6)라고도 함)는 JavaScript에 대한 중요한 업데이트로, 코딩을 더욱 효율적이고 관리하기 쉽게 만드는 새로운 구문과 기능을 도입합니다. JavaScript는 웹 개발에 사용되는 ...
    프로그램 작성 2024-11-06에 게시됨
  • 알고리즘 및 데이터 구조 탐색: 효율적인 프로그래밍의 기초
    알고리즘 및 데이터 구조 탐색: 효율적인 프로그래밍의 기초
    이번 게시물 시리즈에서는 학술 환경과 대규모 기술 회사에서 널리 논의되는 두 가지 주제인 알고리즘과 데이터 구조에 대한 학습 여정을 공유하겠습니다. 이러한 주제는 언뜻 보기에 어려운 것처럼 보일 수 있지만, 특히 다른 직업적 어려움으로 인해 경력 전반에 걸쳐 해당 주제...
    프로그램 작성 2024-11-06에 게시됨
  • Go 프로그램의 고루틴 수를 프로파일링하기 위해 pprof를 어떻게 사용합니까?
    Go 프로그램의 고루틴 수를 프로파일링하기 위해 pprof를 어떻게 사용합니까?
    pprof를 사용하여 고루틴 수 프로파일링Go 프로그램에서 잠재적인 고루틴 누출을 감지하려면 시간이 지남에 따라 활성화된 고루틴 수를 모니터링해야 합니다. 표준 go 도구 pprof 명령은 차단에 대한 통찰력을 제공하지만 고루틴 수를 직접적으로 다루지는 않습니다.고루틴...
    프로그램 작성 2024-11-06에 게시됨
  • 클래스 메서드를 콜백으로 전달하는 방법: 메커니즘 및 기술 이해
    클래스 메서드를 콜백으로 전달하는 방법: 메커니즘 및 기술 이해
    클래스 메서드를 콜백으로 전달하는 방법배경일부 시나리오에서는 효율적인 작업을 위해 클래스 메서드를 다른 함수에 대한 콜백으로 전달해야 할 수도 있습니다. 특정 작업의 실행. 이 문서에서는 이를 달성하기 위한 다양한 메커니즘을 안내합니다.호출 가능 구문 사용함수를 콜백으...
    프로그램 작성 2024-11-06에 게시됨
  • 웹 스크래핑 - 흥미롭네요!
    웹 스크래핑 - 흥미롭네요!
    멋진 용어: CRON = 지정된 간격으로 작업을 자동으로 예약하는 프로그래밍 기술 웹 뭐? 프로젝트 등을 조사할 때 일반적으로 일기, 엑셀, 문서 등 다양한 사이트에서 정보를 작성합니다. 우리는 웹을 스크래핑하고 수동으로 데이터를 추출하고 있습니다. 웹...
    프로그램 작성 2024-11-06에 게시됨
  • 사용후기 그리드 섹션
    사용후기 그리드 섹션
    ? CSS 그리드를 배우면서 이 추천글 그리드 섹션 구축을 완료했습니다! ? 그리드는 구조화된 레이아웃을 만드는 데 적합합니다. ? 라이브 데모: https://courageous-chebakia-b55f43.netlify.app/ ? GitHub: https://gi...
    프로그램 작성 2024-11-06에 게시됨
  • REGISTER_GLOBALS가 PHP의 주요 보안 위험으로 간주되는 이유는 무엇입니까?
    REGISTER_GLOBALS가 PHP의 주요 보안 위험으로 간주되는 이유는 무엇입니까?
    REGISTER_GLOBALS의 위험REGISTER_GLOBALS는 모든 GET 및 POST 변수를 PHP 스크립트 내에서 전역 변수로 사용할 수 있도록 하는 PHP 설정입니다. 이 기능은 편리해 보일 수 있지만 잠재적인 보안 취약성 및 코딩 관행으로 인해 사용을 권장...
    프로그램 작성 2024-11-06에 게시됨
  • Nodemailer 개요: Node.js에서 간편한 이메일 보내기
    Nodemailer 개요: Node.js에서 간편한 이메일 보내기
    Nodemailer는 이메일 전송을 위한 Node.js 모듈입니다. 간략한 개요는 다음과 같습니다. Transporter: 이메일 전송 방법을 정의합니다(Gmail, 사용자 정의 SMTP 등을 통해). const transporter = nodemailer.cre...
    프로그램 작성 2024-11-06에 게시됨
  • JavaScript의 간편한 오류 처리: 안전 할당 연산자가 코드를 단순화하는 방법
    JavaScript의 간편한 오류 처리: 안전 할당 연산자가 코드를 단순화하는 방법
    JavaScript의 오류 처리는 지저분할 수 있습니다. try/catch 문으로 큰 코드 블록을 래핑하는 것은 효과적이지만 프로젝트가 커짐에 따라 디버깅은 악몽이 됩니다. 다행히 더 좋은 방법이 있습니다. 안전 할당 연산자(?=)를 입력하세요. 오류를 처리하는 보다 ...
    프로그램 작성 2024-11-06에 게시됨
  • Javascript는 어렵습니다(ESadness 포함).
    Javascript는 어렵습니다(ESadness 포함).
    읽기에는 길겠지만 다시 한 번 말씀드리겠습니다. JAVASCRIPT는 어렵습니다. 마지막으로 만났을 때 저는 밝은 눈을 가진 희망에 찬 코더가 "얼마나 힘들 수 있니?"라고 말하면서 야생 정글에 들어서면서 자바스크립트의 세계로 들어서고 있었습니다. ...
    프로그램 작성 2024-11-06에 게시됨

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3