웹 애플리케이션의 도메인 외부의 우아한 저하 : 문제는 얼마나 중요한가?

StackOverflow https://stackoverflow.com/questions/569629

문제

긴 소개에 대한 사과 - 모호성과 혼란을 피하기 위해 장면을 적절히 설정하려고 노력합니다.

웹 응용 프로그램은 서버 측로 로직을위한 멍청한 브라우저 기반 인터페이스에서 서버 측로 로직이 최소화 된 완전 브라우저 기반 응용 프로그램으로 성장했습니다. 명확한 세대의 웹 응용 프로그램을 식별 하여이 진화를 설명 할 수 있습니다.

현재 두 세대와 같은 세대와 ajax를 고려해 봅시다. CSS 지원 및 액세스 제어 헤더와 관련된 다른 요인이 있지만 간단하게 시작합시다.

스타일이없는 JavaScript가없는 간단한 시스템에서 시작하여 우아하게 분해되는 향상 레이어를 추가하고 Ajax가 포장 된 고도로 반응하는 현대적인 응용 프로그램으로 마무리하는 것은 도전적이고 오류가 발생하기 쉬운 작업입니다. 결코 쉬운 것은 아닙니다.

웹 응용 프로그램이 속한 것으로 보일 수있는 생성은 응용 프로그램에 액세스하는 수단에 따라 다릅니다. 동일한 웹 응용 프로그램은 Lynx를 통해 액세스하면 Firefox 3.1을 통해 액세스하면 최신 세대 앱인 1 세대 앱으로 보이며 앱에 액세스하는 데 사용되는 사용자 에이전트에 따라 몇 가지 레벨이 있습니다.

사용자 에이전트의 기능에 따라 우아하게 저하되는 웹 애플리케이션을 작성하는 문제는 현재 브라우저 기능을 활용하기 위해 생성 된 내용이 생성 된 기능의 기능으로 되돌아갑니다. 아마도 15 년 전에 Lynx에 직면했을 때 매우 어렵습니다.

운영 환경에서 이러한 차이에 직면 한 데스크탑 응용 프로그램을 상상할 수 없습니다.

Vista의 기능을 활용할 수있는 단일 실행 가능 (OS- 특이 적 변형 세트와 달리)은 XP에서 실행되고 특정 Vista 기능이 부족할 때 적절하게 대처할 수 있습니다. 웹 앱과 비슷한 거리를 저하 시키려면 DOS와 같은 명령 줄 전용 환경에서 실행될 때 덜 멋진 방식으로 동일한 데스크탑 응용 프로그램이 여전히 작동해야합니다.

Lynx에서 실행하면 1 세대 웹 앱입니다. Firefox 3.1에서 똑같이 실행하십시오. 화려하고 반짝이는 현대 웹 앱입니다. 그러한 문제에 직면한다면, 당신은 그것이 까다 롭고 까다 롭지 만 실현 가능하다고 생각할 것입니다.

DOS에서 실행하면 명령 줄 앱입니다. Vista에서 똑같이 실행하면 화려하고 반짝이는 현대 웹 앱입니다. 그러한 문제에 직면한다면, 당신은 그것이 미친 것으로 생각할 것입니다. 아니면 당신은?

데스크탑 응용 프로그램은 웹 응용 프로그램과 같은 운영 환경에서 이러한 광범위한 분산에 직면 해 있습니까?

이 문제 (분산 자체가 아닌 광범위한 분산 자체)는 웹 애플리케이션의 도메인에 고유합니까, 아니면 데스크탑 개발에서 찾을 수 있습니까?

도움이 되었습니까?

해결책

데스크탑 응용 프로그램에는 웹 애플리케이션이 이와 동일한 문제가 없습니다. 그들은 일반적으로 잘 정의 된 하나의 플랫폼에서 실행되도록 만들어집니다.

이것은 미래에 변할 수 있습니다. 컴퓨팅은 데스크탑에서 휴대 전화 및 작은 랩탑으로 이동하고 있습니다. 데스크탑 응용 프로그램은 향후 광범위한 플랫폼에서 실행해야합니다. 데스크탑 응용 프로그램을 개발하는 데 사용하는 대부분의 프레임 워크가 웹 응용 프로그램의 프레임 워크보다 더 나쁘게 처리하기 때문에 문제가 발생할 수 있습니다.

다른 팁

운영 환경에서 이러한 차이에 직면 한 데스크탑 응용 프로그램을 상상할 수 없습니다.

데스크탑 응용 프로그램은 다른 종류의 분산을 처리해야합니다. 게임의 그래픽 카드는 그 좋은 예입니다. 기본 고객에 대한 괜찮은 지원을 원하지만 반짝이는 새 그래픽 카드를 가진 고급 고객은 돈을 위해 달리기를 원할 것입니다. ON-GPU 처리 및 온 카드 메모리 관리 영역에 들어가면 운영 환경에서 차이를 저주 할만 큼 충분한 이유가 있습니다.

또한 일반적으로 웹 앱보다 더 많은 프로세서 및 메모리 집약적 인 소프트웨어를 처리하므로이를 고려해야합니다. 그리고 저는 Inter-OS 운영 가능성에 대해 이야기하지 않습니다 (많은 데스크탑 소프트웨어가 매우 우아하게 처리합니다).

물론, 데스크탑 소프트웨어 게시자가 환경에 엄격한 기준을 부과하는 것은 없습니다. 그것은 단지 비즈니스의 문제 일뿐입니다. 그러나 비 메인 스트림 브라우저를 지원하도록 강요하는 것은 없습니다 (그리고 대부분의 웹 응용 프로그램이 실제로 Lynx?!?).

응용 프로그램 및 운영 체제 (OS) 영역에서 문제는 일반적으로 역전됩니다. 호환성을 유지하는 모든 복잡성을 처리하는 것은 OS입니다. 반면에 응용 프로그램은 평소가 지시합니다 최저한의 OS 버전.

응용 프로그램 이이 문제를보기 시작하는 또 다른 곳은 Java 세계이며 멀티 OS에서 작동하는 다른 모든 스크립트 랑지스는 적습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top