prosource

성능 측면:WPF 애플리케이션이 전자 애플리케이션보다 현명하게 코딩되는 것이 더 낫습니까?

probook 2023. 4. 28. 21:07
반응형

성능 측면:WPF 애플리케이션이 전자 애플리케이션보다 현명하게 코딩되는 것이 더 낫습니까?

최근에 저는 전자에 대해 읽고 있는데, 건축 시장에서 이미 확립된 것과 비교했을 때 전자의 잠재력에 대해 궁금했습니다.Windows 7데스크톱 애플리케이션(: WPF).

지금까지 저는 Electron을 선호하는 사람들이 Electron이 다음과 같은 이점을 제공한다는 사실에 대해 논의한다는 것을 알게 되었습니다.

  • 빠른 개발 주기: 친숙한 주기HTML5,CSS3,JS 약간의 그의.Node.js데스크톱 애플리케이션 구축에 바로 뛰어들 준비가 되어 있습니다.
  • 교차 플랫폼 호환성: 기반Chromium그리고.Node.js이 두 가지가 지원되는 곳이라면 어디서나 애플리케이션을 실행할 수 있습니다.
  • 아름답고 상호작용적인 디자인: 조합HTML5,CSS3그리고.JS몇 년 동안 무엇을 달성할 수 있는지 입증했습니다.
  • 간단하고 비용 효율적인 웹 재활용: 웹 애플리케이션을 처음에 만든 동일한 개발자가 비교적 쉽게 데스크톱 애플리케이션으로 변환할 수 있습니다(즉, 비용 절감).

WPF와 관련하여, WPF의 지지자들은 다음과 같은 호의적인 주장을 논의합니다.

  • 네이티브 API에 대한 액세스: WPF가 적합합니다..NET 네이티브에 할 수 있는 합니다.Windows기능성
  • 강력한 마크업 언어: 그것은 주장됩니다.XAML정교한 렌더링을 효율적으로 수행할 수 있습니다.UI요소는 양방향 데이터 바인딩을 지원하며, 다른 상황(예: Android 개발)에서 유용할 수 있습니다.
  • 고성능메모리 효율성: 주로 언어의 컴파일된 특성과 아마도 다른 특성 때문입니다.JIT특이점

우리가 이러한 주장을 따로 받아들인다면, 우리는 두 기술이 모두 존중받을 수 있다는 것에 동의할 수 있습니다.그러나 개발자에게 프로젝트에 적합한 프레임워크를 선택하는 데 도움을 요청하면 상황이 약간 편향됩니다.저는 편향이 질문이 너무 구체적이지 않거나 일부는 다른 프레임 워크보다 한 프레임 워크에 더 익숙하기 때문에 편안한 영역이 시작될 수 있다고 생각합니다.

따라서 둘 다 의 철학이 아닌 목적을 위한 수단일 뿐이라는 것을 명심하는 것은 보통 다음과 같은 생각으로 요약됩니다.이것들은 제 아이디어가 아니라 제가 웹상의 다양한 토론 그룹에서 수집한 것들이라는 것을 알아두시기 바랍니다.

  • DOM조작은 비용이 많이 드는 작업인 반면,XAML렌더링 속도가 엄청나게 빠릅니다.
  • 전자는 소수의 네이티브에 대한 액세스를 제공합니다.OS그을 통성기능을 통한 APIs반면에 WPF는 그것이 살기 때문에 당신에게 모든 것에 대한 접근을 제공합니다..NET.
  • 전자는 WPF에 비해 느립니다. 왜냐하면JS되는 면에면, 해니다됩, 석자하말반라고 해요.C#컴파일되었습니다.
  • WPF는 다음과 같이 사용할 수 있습니다.MVVM패턴은, 반면에, 비슷한 것은 전자에서 달성하기 어렵습니다.
  • 전자는 시작하는 것이 빠른 반면, WPF는 가파른 학습 곡선을 가지고 있습니다(그러나 그들은 그것이 더 전문적으로 보인다고 말합니다).
  • 전자는 크로스 플랫폼인 반면, WPF는.NET확실하지 않은 것은 확실하지 않습니다.Xamarin/.NET Core고려되었습니다.
  • 전자 애플리케이션 크기는 출하해야 하기 때문에 큽니다.Chromium그리고.Node.js목표를 달성하기 위해.
  • WPF는 Electron(, Electron은 오픈 소스 프로젝트)에 비해 덜 적극적으로 개선됩니다.
  • 전자가 응용 프로그램 업데이트를 대신 처리하는 반면, 동일한 작업은 WPF에서 더 많은 작업을 필요로 합니다.

한편으로는 소프트웨어 엔지니어(특히 기업 세계에서 일하는 사람들)가 WPF를 선호하는 경향이 있는 것으로 보입니다.반면, 웹 개발자들은 전자가 어떤 결과를 가져올지에 대해 흥분하고 있습니다.제 생각에, 이것은 편견입니다. 그리고 여러분이 다른 것보다 더 많은 기술을 가지고 일한다는 사실은 그 기술 자체가 얼마나 적합한지에 대해 아무 것도 말하지 않습니다.

따라서 이러한 편견과 다른 성가신 답변을 피하기 위해 다음과 같은 사례 연구를 제공하고자 합니다.

예를 들어, 한 사람이 건물을 짓는 데 관심이 있다고 가정해 보겠습니다.Windows 7전자를 사용하는 데스크톱 애플리케이션.이 애플리케이션의 목표는 사용자가 대규모로 매우 계산 집약적인 통계 분석을 구성하고 실행할 수 있도록 하는 것입니다.XLSX 파즉일),1e5). 즉, 사가자즉면력입파이생일성다됩니구문특수양식하을용즉▁rows(,json,xml또는txt된 매개 을 수행합니다.), 응 용 프 로 된 를 여 하 사 용 분 을 수 합 행 니 석 다 변 수 매 개 정 지 읽 고 해 그 램지막에마, a.pdf그래프 및 테이블이 포함된 파일이 사용자에게 제공됩니다.이제 이 프로젝트에 대해 다음과 같이 가정해 보겠습니다.

  • 그자리의 DOM직접 조작되지 않습니다.오려히.Vue.js또는React 가를구기하때사문용다니됩에현상화▁a▁they다▁are▁virtual▁used▁because▁implement니사를 구현하기 때문에 사용됩니다.DOM어느 쪽이 더 빠릅니까?
  • 애플리케이션이 모든 네이티브에 액세스할 필요는 없습니다.OS파일: 응용 되며,응용 프로그램은 디스크에 파일을 읽고 쓰기만 하면 되며, 일부 알림만 보내면 됩니다.
  • JS 느려서 할 수 .C++ 기의반Node.js애드온이 작성되어 호출됩니다.JS후에서막▁behind서▁the,후에.C++코드는 객체를 구성하고 계산을 합니다.은 막에행지, 됩니다.JS.
  • 개발자는 애플리케이션을 적절하게 구성하고 가능한 한 우려 사항을 분리합니다., 불요한렌방기위해하지을더,Vue.js또는React구성 요소를 사용할 수 있습니다.
  • 인 문제가 있다고 생각하지 않습니다.~50MB크롬에 의해 포장에 추가된 크기로.Node.js.
  • 응용프로그램이 중앙 리포지토리에서 호스트되고 업데이트가 최종 사용자에게 푸시됩니다.

이러한 가정을 염두에 두고 다음과 같은 질문을 드리겠습니다.

  1. WPF 애플리케이션은 전자 애플리케이션보다 어느 정도 효율적입니까? 무거운 계산은 다음에서 구현됩니다.C++또는C#그리고 a로 포장되었습니다..dll그렇다면 무엇이 이러한 차이를 유발합니까?
  2. 아이즈XAML에 더 입니다.UI비한요소와 Vue.js또는React HTML5그리고.CSS3?

고지 사항:저는 전자에 치우쳐 있습니다. 왜냐하면 전자는 제가 그것을 만들 수 있게 해준다고 생각하기 때문입니다.GUI보다 빠른.XAML제가 완전히 익숙하지 않아서 틀렸을 수도 있습니다.XAML제공해야 합니다.


참고:이 질문을 부적절한 것으로 표시하지 마십시오.그것은 충분히 구체적이고 잘 문서화되어 있으며, 같은 결정에 직면한 다른 사람들에게 도움이 될 수 있습니다.


편집 1. 다운 투표/닫기 질문에 플래그를 지정하는 주장을 제시하십시오.아마도 당신이 건설적인 피드백을 제공한다면 질문은 개선될 수 있을 것입니다.

언급URL : https://stackoverflow.com/questions/44743918/performance-wise-is-a-wpf-application-better-than-an-electron-one-coded-wisely

반응형