programing

Progressive Enhancement란 무엇입니까?

iphone6s 2023. 8. 20. 10:32
반응형

Progressive Enhancement란 무엇입니까?

Jeff는 JQuery를 사용한 스택 오버플로 쓰기에 대해 언급하면서 'Progressive Enhancement'의 개념을 언급했습니다.

빠른 구글 검색 후, 저는 그것에 대한 몇 가지 높은 수준의 토론을 발견했습니다.

프로그래머로 시작하기에 좋은 장소를 추천해 줄 수 있는 사람이 있습니까?

특히, 저는 PHP로 웹 앱을 작성하고 있으며 YUI를 사용하여 제가 작성하는 페이지를 개선하고 싶지만, 대부분의 당나귀 작업이 자바스크립트를 사용하여 수행되는 등 매우 자바스크립트 기반으로 보입니다.자바스크립트 없이 사이트를 보는 것은 아마도 대부분을 파괴할 것이기 때문에, 저에게는 그것이 약간 지나친 것처럼 보입니다.

누구든 이 아이디어를 사용하기 시작할 수 있는 좋은 장소가 있다면, 저는 언어에 대해 별로 신경 쓰지 않습니다.

이상적으로, 저는 당신이 정적 HTML을 먼저 만들기 시작한 다음, 더 풍부한 클라이언트의 이점을 얻기 위해 YUI(또는 Ajax 프레임워크)를 추가하는 방법을 보고 싶습니다.

말씀하신 대로

자바스크립트 없이 사이트를 보는 것은 아마도 대부분을 파괴할 것이기 때문에, 저에게는 그것이 약간 지나친 것처럼 보입니다.

이것은 점진적인 향상이 아닙니다.점진적인 향상은 사이트가 JavaScript나 CSS 없이 완벽하게 작동한 다음, 웹 사이트의 유용성과 기능성을 높이기 위해 이러한 추가 기술/코드를 추가(레이어링)하는 것입니다.

제가 제시할 수 있는 가장 좋은 예는 이 웹사이트의 태그 입력 상자입니다.JavaScript가 꺼져 있어도 공백으로 구분된 태그를 입력할 수 있습니다.JavaScript를 켜면 이전 항목에 대한 제안이 표시됩니다.

이것은 점진적인 향상입니다.

참고 항목: 기본적인 점진적 향상 기능인 방해하지 않는 JavaScript를 참조하십시오.

다른 방향에서 그것을 향해 가는 것을 때로는 우아한 타락이라고 합니다.이것은 일반적으로 다양한 기술이 제공하는 향상된 기능으로 사이트를 먼저 구축한 후 해당 기술을 사용하는 브라우저에서 우아하게 성능이 저하되도록 수정할 때 필요합니다.

또한 IE 5.5, Netscape 등과 같은 오래된 브라우저(인터넷 용어의 고대)와 함께 작동하도록 설계할 때는 우아한 성능 저하입니다.

내 생각에 애플리케이션을 우아하게 저하시키는 것은 훨씬 더 많은 작업입니다.점진적으로 향상시키는 것이 훨씬 더 효율적인 경향이 있지만, 때로는 이러한 부족한 환경에서 기존 앱을 가져와 액세스할 수 있도록 해야 할 필요성이 발생합니다.

기본적으로 사이트에서 JavaScript가 꺼진 상태에서도 작동하는 경우 JavaScript를 사용하여 추가하는 것은 점진적인 향상으로 간주할 수 있습니다.

일부 사람들은 이것이 불필요하다고 생각할 수 있지만, 많은 사람들이 NoScript와 같은 추가 기능(또는 브라우저 설정에서 JavaScript를 사용하지 않는 경우)을 사용하여 검색합니다.또한 많은 모바일 웹 브라우저가 JavaScript를 지원하거나 지원하지 않을 수 있습니다.따라서 JavaScript를 사용하거나 사용하지 않고 사이트를 완전히 테스트하는 것이 항상 좋습니다.

Progressive Enhancement는 시맨틱 HTML의 주요 기능을 강조한 다음, 이러한 향상 기능을 활용할 수 있는 브라우저를 위해 JavaScript 및/또는 CSS의 조건부 "레이어링"을 테스트하는 개발 기술입니다.

핵심 중 하나는 우리가 브라우저 스니핑 대신 브라우저가 수행할 수 있는 기능을 테스트하고 있다는 것을 이해하는 것입니다.Modernizr은 매우 인기 있는 브라우저 기능 테스트 제품군입니다.

점진적 개선은 본질적으로 접근 가능합니다(섹션 508). 법의 문자와 규칙의 정신을 충족하도록 규정합니다.

필라멘트 그룹은 이 주제에 대한 훌륭한 "진보적 향상을 통한 디자인" 책을 썼습니다.(저는 필라멘트 그룹에 소속되어 있지 않지만, 그들은 너무 똑똑해서 저도 그랬으면 좋겠어요.)

이것은 매우 중요한 개념이고 나는 그것을 이해하는 웹 개발자가 거의 없다는 것이 슬퍼요.

기본적으로 Plain Old HTML(구조 요소, 링크 및 양식)로 사이트/프레임워크를 구축하는 것으로 시작합니다.그런 다음 스타일과 반짝이는 것(아약스 또는 당신이 가지고 있는 것)을 추가합니다.

별로 어렵지 않아요.창백한 말이 말했듯이, 우아한 타락은 더 많은 일입니다.

웹 사이트는 모든 사용자 에이전트에서 작동해야 하며, 동일한 모양이 아니라(시각 장애가 있는 경우 모양도 아니고 소리만 나도) 작동해야 합니다.

점진적 향상:

  1. 평범한 HTML/CSS 사이트는 훌륭합니다(완전히 작동하고 사용자 친화적입니다).
  2. JavaScript를 추가하면 새로운 수준의 놀라운 기능이 정의됩니다.

언급URL : https://stackoverflow.com/questions/2486/what-is-progressive-enhancement

반응형