Programing

점진적 향상과 점진적 저하의 차이점은 무엇입니까?

lottogame 2020. 12. 3. 07:21
반응형

점진적 향상과 점진적 저하의 차이점은 무엇입니까?


Progressive EnhancementGraceful Degradation 의 차이점이 무엇인지 혼란 스럽습니다 . 나에게 그들은 똑같은 것처럼 보입니다.

두 가지의 차이점과 어떤 상황에서 다른 하나를 사용하게 될지 설명해 주시겠습니까?


그것들은 거의 똑같은 것이지만 문맥 상 다릅니다.

"A 등급 브라우저"라는 브라우저 클래스가 있습니다. 이들은 (아마도) 방문자의 대다수를 구성하는 일반적인 청중입니다. 이러한 사용자의 기준으로 시작합니다. 이것을 최고의 최신 관행이라고 부릅니다 .

FF3.6 또는 Safari 4 또는 다른 whizbang 개발자 야간 웹킷을 사용하는 모든 사람에게 경험 향상시키고 싶다면 다음과 같은 멋진 작업을 수행하고 싶을 것입니다.

  • CSS를 통한 둥근 모서리
  • 음영 처리 된 텍스트
  • 그림자 (위의 괄호 참조)

이것은 귀하의 사이트를 멋지게 보이지만 깨지는 않습니다. 이것은 점진적 향상 입니다. 모범 사례 의 관점에서 미래를 포용합니다 .

반면에 틈새 시장 Nintendo 사이트는 상당한 수의 IE5 사용자를 끌어들입니다. 당신은 불쌍하지만 그들이 계속 돌아올 수 있도록해야합니다. 외부 파일에 ajax 스크립트를 포함하여 ajax 동작에 대한 대안을 제공 할 수 있으며 JS가 켜져 있지 않으면 링크가 전체 페이지를 업데이트 할 수 있습니다. Etc. 최고의 현대적 관행 의 관점에서 , 당신은 특정 역사적 시장이 기능적 사이트와 유사한 형태 로 제공되고 있는지 확인하고 있습니다 . 이것은 정상적인 저하 입니다.

대부분 동일하지만 많은 개발 팀의 우선 순위가 다릅니다. PE는 시간이 있으면 꽤 좋지만 GD는 종종 필요합니다.


귀하의 사이트가 모든 브라우저에서 똑같이 좋아 보이지만 특정 브라우저가 춤추는 조랑말을 지원하기 때문에 춤추는 조랑말을 얻는다면 점진적 향상입니다. 모든 브라우저에서 작동하지만 특정 브라우저에는 추가 기능이 있습니다. 일반적으로이 용어는 "원시 HTML"이상의 유용성을 향상시킬 수있는 특정 Javascript 기능에 적용됩니다.

귀하의 사이트가 CSS3 및 IE8을 완벽하게 지원하는 브라우저에서 의도 한 대로만 보이는 경우 둥근 모서리없이 동일한 페이지가 표시됩니다. 이는 Graceful Degradation입니다. 이 사이트는 실제로 최첨단 브라우저를위한 것이지만, 화려하지는 않지만 이전 브라우저에서도 여전히 사용할 수 있습니다.

결국, 그들은 두 가지 다른 관점에서 보았을 때 정말 똑같습니다.


각 개념에 대해 선택한 기준선 의 방향 이 다릅니다.

단계적 저하는 이상적인 사용자 경험 수준에서 시작하여 사용자 에이전트 기능에 따라 최소 수준까지 감소하여 기준선에서 사용하는 특정 기능을 지원하지 않는 에이전트에 적합합니다.

점진적 향상은 광범위한 최소 사용자 경험에서 시작하여 사용자 에이전트 기능에 따라 더 가능한 수준까지 증가하여 기준보다 더 많은 고급 기능을 지원하는 에이전트에 적합합니다.

시간 / 예산이 허락한다면 두 가지 개념을 모두 사용할 수 있다고 생각합니다. 그렇지 않다면 정상적인 성능 저하가 선호됩니다.


1 년이 넘은 것을 되살려 서 미안하지만,이 문제에 대한 내 의견에 조금이라도 기여할 수 있다고 느꼈습니다.

나는 Alex Mcp와 어떤면에서 속임수에 동의하지만 "Graceful Degradation"과 "Progressive Enhancement"라는 용어는 내가 서있는 것과는 약간 다른 의미를 가지고 있습니다.

대부분의 경우 (내 의견으로는) Graceful degradation 은 내 경험에서 처음부터 잘못 구축 된 후 앱을 제출로이기는 것보다 더 많은 것 같습니다. 사용자에게 정말 멋진 무언가를 제공하는 방대한 자바 스크립트 객체를 구축하는 사람처럼 관리자가 나타나서 테스트하고 앱이 작동하지 않는다는 사실을 알게되면 모두가 비명을 지르며 소리를 지 릅니다. 브라우저의 35 %에서. "누군가가 이에 대한 대체를 제공하는 것이 좋습니다."

그러나 Progressive Enhancement 는 (그리고 너무 좋은 용어이기도합니다) 사용자가 사용하는 모든 기능을 제공하기 위해 사용 가능한 가장 기본적인 방법을 통해 엔트리 레벨, 모든 곳에서 작동하는 무언가를 구축하는 것보다 더 많은 것 같습니다. 필요합니다. 그런 다음 간신히 사용하기보다는 해당 응용 프로그램의 사용자 경험을 실제로 향상시키는 깔끔하고 눈에 잘 띄지 않는 도우미, 스타일 등을 추가 할 수 있습니다. "멋지네요. IE6에서 작동합니까. 아, 그렇습니다."

나는 어쩌면 내려다의 종류 여기에 상단에 두 용어의 예로서 실제 기본 사용성 문제를 두 가지 답변을 스타일을 제공하는 생각이 점진적 개선 의 본질에 의해 종종 해결할 수있는 문제 우아한 저하 일 때까지 무시 잘못이.

이상해 ...


단계적 저하는 웹 기능을 구축하여 최신 브라우저에서 특정 수준의 사용자 경험을 제공하지만 이전 브라우저의 경험에서 더 낮은 수준의 사용자로 단계적으로 저하됩니다. 이 하위 수준은 사이트 방문자에게 사용하기에는 좋지 않지만 사용자가 사용하기 위해 사이트에 방문한 기본 기능을 제공합니다. 그들을 위해 일이 깨지지 않습니다.

점진적 향상은 비슷하지만 반대로 작동합니다. 웹 사이트를 렌더링 할 때 모든 브라우저가 제공 할 수있는 기본 수준의 사용자 경험을 설정하는 것으로 시작하지만,이를 사용할 수있는 브라우저에서 자동으로 사용할 수있는 고급 기능도 구축합니다.

즉, 점진적 향상은 매우 기본적인 작업 예제에서 시작하여 향후 환경에 대한 지속적인 확장을 허용하는 반면, 점진적 향상은 복잡성의 현상 유지에서 시작하여 더 적은 경험을 수정하려고합니다. 우아하게 비하하는 것은 뒤를 돌아 보는 것을 의미하고 점진적으로 향상시키는 것은 발을 단단한 바닥에 유지하면서 앞으로 내다 보는 것을 의미합니다.


우아한 저하

정상적인 성능 저하 는 컴퓨터, 기계, 전자 시스템 또는 네트워크의 많은 부분이 파괴되거나 작동하지 않는 경우에도 제한된 기능을 유지하는 능력입니다. 정상적인 성능 저하의 목적은 치명적인 오류를 방지하는 것입니다.

정상적인 성능 저하가 해결책 중 하나입니다. 웹 사이트 또는 응용 프로그램을 구축하는 관행이므로 최신 브라우저에서 좋은 수준의 사용자 경험을 제공합니다. 그러나 이전 브라우저를 사용하는 사람들에게는 정상적으로 성능이 저하됩니다. 시스템이 쾌적하거나 예쁘지 않을 수 있지만 기본 기능은 이전 시스템에서 작동합니다.

간단한 예는 24 비트 알파 투명 PNG를 사용하는 것입니다. 이러한 이미지는 문제없이 최신 브라우저에 표시 할 수 있습니다. IE5.5와 IE6은 이미지를 보여 주지만 투명 효과는 실패합니다 (필요하다면 작동하도록 만들 수 있습니다). PNG를 지원하지 않는 이전 브라우저는 대체 텍스트 또는 빈 공간을 표시합니다.

단계적 성능 저하를 채택하는 개발자는 종종 브라우저 지원 수준을 지정합니다 (예 : 수준 1 브라우저 (최상의 경험) 및 수준 2 브라우저 (저하 된 경험)).

점진적 향상

점진적 향상 은 접근성, 시맨틱 HTML 마크 업, 외부 스타일 시트 및 스크립팅 기술을 강조하는 웹 디자인 전략입니다. 점진적 향상은 모든 사람이 모든 브라우저 또는 인터넷 연결을 사용하여 웹 페이지의 기본 콘텐츠 및 기능에 액세스 할 수 있도록 계층화 된 방식으로 웹 기술을 사용하는 동시에 고급 브라우저 소프트웨어 또는 더 큰 대역폭을 가진 사용자에게 향상된 버전의 페이지를 제공합니다. .

점진적 향상은 우아한 저하와 유사한 개념이지만 그 반대입니다. 웹 사이트 또는 응용 프로그램은 대부분의 브라우저에 대해 기본 수준의 사용자 경험을 설정합니다. 그런 다음 브라우저가 지원할 때 더 고급 기능이 추가됩니다.

Progressive enhancement does not require us to select supported browsers or revert to table-based layouts. We choose a level of technology; i.e. the browser must support HTML 4.01 and standard page request/responses.

Going back to our image example, we might decide that our application should be functional in all graphical browsers. We could use a lower-quality GIF images by default but replace them with 24-bit PNGs when the browser supports them.


Links

Wikipedia : Progressive Enhancement and Graceful Degradation(Fault_tolerance)

Source : Sitepoint Blog


I find it tends to be attitudinal - are you saying "okay, my site works with Lynx, users can do everything I want them to be able to do, now lets add some panache", or are you saying "okay, my site works in Firefox, now lets try to fix it for people not willing to use that/who turn off javascript/etc"


to make it easier, just set your bar right at the top then you can ignore progressive enhancement. when a new feature comes out raise your bar ;)

or alternatively set your bar to the lowest level (lynx perhaps?) and just use progressive enhancement.

참고URL : https://stackoverflow.com/questions/2550431/what-is-the-difference-between-progressive-enhancement-and-graceful-degradation

반응형