UFO ET IT

웹 애플리케이션 개발에서 AJAX를 사용하지 않을 때는 언제입니까?

ufoet 2023. 8. 21. 22:45
반응형

웹 애플리케이션 개발에서 AJAX를 사용하지 않을 때는 언제입니까?

저는 젠드 프레임워크로 웹 애플리케이션을 만들고 있습니다.AJAX 유형 양식과 모달 박스를 포함하고 싶었지만, 가능한 한 애플리케이션에 액세스할 수 있기를 바랍니다.AJAX를 통해 애플리케이션이 향상되고 AJAX 없이 완벽하게 작동하기를 원합니다.

그래서 일반적인 지침으로...언제 AJAX를 사용하지 말아야 합니까?제 말은, AJAX 없이 애플리케이션을 사용할 수 있도록 해야 할까요?아니면 요즘 모두가 AJAX 지원 브라우저를 가지고 있습니까?

ADA 의미에서 "액세스 가능"을 의미한다면, AJAX는 일반적으로 금지입니다. 사이트는 표준(X)만을 사용하여 모든 컨텐츠와 핵심 기능을 제공해야 합니다.HTML 및 CSS.사용되는 자바스크립트는 핵심 기능만 확장해야 하며, 자바스크립트 지원 브라우저가 없을 때 사이트가 우아하게 작동하도록 코딩되어야 합니다.

예: 사용자가 축소판 그림을 클릭하여 전체 크기의 이미지를 가져오도록 하려면 축소판 그림을 링크로 만들 수 있습니다.그런 다음 클릭 시 이벤트는 링크의 탐색 동작을 취소하고 JQuery 부동 div를 팝업하여 현재 페이지에 이미지를 표시하는 JQuery 메서드를 실행합니다.사용자의 브라우저가 JavaScript를 지원하지 않는 경우 클릭 시 이벤트가 발생하지 않으며 사용자는 새 페이지에 이미지를 표시합니다.핵심 기능은 스크립팅 여부와 동일합니다.

편집: 스켈레톤 예제, sans JQuery별 코드.

<html>
<body>
<a href="some.url" onclick="JQueryToOpenPopupImage(); return false;">Some URL</a>
</body>
</html>

탐색 작업을 취소하려면, 다음에서 호출하는 방법을 확인하기만 하면 됩니다.onclickevent를 로 반환합니다. event false는 입니다.

제가 설명한 JQuery 이미지 팝업의 깔끔한 예를 여기에서 찾을 수 있습니다.

사용자에 대한 값을 추가하는 경우 Ajax를 사용합니다.

Ajax 버전이 비 Ajax 버전보다 훨씬 더 많은 가치를 추가한다면 두 클라이언트 모두를 위한 솔루션을 개발하는 데 드는 비용이 정당화될 수 있습니다.일반적으로 저는 추가적인 일을 하는 것을 추천하지 않을 것입니다.코드가 많을수록 유지보수가 늘어납니다.

여기서 한 가지 요점이 누락되었다고 생각합니다.검색 엔진이 알 필요가 없는 콘텐츠에 대해서만 Ajax를 사용합니다.

98%의 사용자가 AJAX 지원 브라우저를 사용합니다.

그러나 이러한 사용자의 상당한 비율은 처음 사이트를 방문할 때(또는 아예, 아마도) 이 설정을 사용하지 않을 것입니다.

저는 자바스크립트가 없는 빈 페이지처럼 보이는 웹사이트를 본 적이 있습니다.그들 중 하나가 되지 마.레이아웃 문제를 해결하기 위한 Javascript는 제 생각에 끔찍한 아이디어입니다.Javascript를 사용하지 않고 로드되고 정상으로 보이는지 확인합니다.사람들이 그들이 놓치고 있는 것을 볼 수 있다면, 그들은 그것을 켤 가능성이 있지만, 만약 당신의 웹사이트가 그냥 고장난 것처럼 보인다면, 그러면...

당신의 사이트가 가치가 있다고 결정하기 전까지는 플래시와 자바스크립트를 차단하지 않는 경우가 많습니다.

그래서 자바스크립트가 꺼져 있다면 제가 무엇을 놓쳤는지 꼭 말해주세요.

웹 응용프로그램의 복잡성에 따라 다릅니다.
가능하다면 자바스크립트를 비활성화하여 작동하는 것이 좋습니다. 왜냐하면 js-disabled 브라우저의 사용자뿐만 아니라 로봇도 당신의 애플리케이션을 사용할 수 있게 하기 때문입니다.예를 들어 양식을 자동으로 채우기 위해 애플리케이션을 작성하기로 결정한 날, API를 처음부터 작성할 필요가 없습니다.

어쨌든, 모든 것에 AJAX를 사용하지 마세요! 저는 AJAX 호출이 엄청나게 많은 한 페이지로 구성된 프로젝트를 방금 상속받았는데, 당신이 그것을 생각하는 만으로도 저에게 육체적 고통을 준다는 것을 알 수 있습니다.원래 개발자는 브라우저에서 뒤로/앞으로 버튼을 내비게이션 수단으로 사용하는 것을 좋아하지 않았나 봅니다.

모바일 장치나 다른 비표준 웹 사용자를 대상으로 하는 경우가 아니라면 SO를 포함한 대부분의 주요 사이트에서 자바스크립트에 크게 의존하기 때문에 대부분의 사용자가 자바스크립트를 사용하도록 설정되어 있다고 확신할 수 있습니다.

나는 내 애플리케이션에 가능한 한 접근하기를 원합니다.

모델 및 양식을 독립적으로 작동할 수 있는 페이지로 렌더링하는 것과 같은 작업을 수행할 수 있습니다.

  • AJAX 버전은 템플릿을 모달/컨테이너로 가져오고, 독립 실행형 버전은 AJAX 요청인지 확인하고 헤더/푸터를 포함하여 페이지를 렌더링합니다(계획이 잘 되어 있으면 동일한 URL에서 발생할 수 있음).
  • AJAX 버전이 제출을 가로채서 AJAX 제출을 수행하면 인라인 감사를 제공합니다. 그러면 비 AJAX가 감사 페이지를 엽니다.다시 한 번 올바르게 생각하면 각 기능에 대해 동일한 페이지를 사용할 수 있습니다.템플릿 및 URL을 재사용하면 AJAX/비 AJAX 버전에 대한 추가 유지 관리를 피할 수 있습니다.

AJAX를 통해 애플리케이션이 향상되고 AJAX 없이 완벽하게 작동하기를 원합니다.

URL과 템플릿의 구조를 잘 생각해 보면 AJAX 요청의 대부분이 데이터가 아닌 완전히 렌더링된 템플릿을 가져오게 되면 일반적으로 동일한 URL을 사용하여 두 버전을 모두 지원할 수 있습니다.AJAX 요청에는 모달/폼의 내장만, 정기적인 요청에는 전체 페이지를 제공합니다.

언제 AJAX를 사용하지 않아야 합니까?

  • AJAX를 사용하면 사용자 기반의 상당 부분에 대한 경험 부족이 발생할 수 있습니다(물론 이를 완화하기 위해 사용할 수 있는 기술도 있습니다).
  • AJAX 구현과 관련된 개발 시간이 너무 길어 사용자 환경의 개선을 정당화할 수 없는 경우에는 AJAX를 사용해서는 안 됩니다.
  • 인덱스를 작성할 수 있는 적절한 폴백을 구현하지 않고 SEO 값이 상당한 컨텐츠에 AJAX를 사용하면 안 됩니다(크롤러는 지속적으로 개선되고 있지만 여전히 좋은 생각입니다).

제 말은, AJAX 없이 애플리케이션을 사용할 수 있도록 해야 할까요?아니면 요즘 모두가 AJAX 지원 브라우저를 가지고 있습니까?

대부분의 사용자가 AJAX 지원 브라우저를 사용할 것이기 때문에 많은 시간이 불필요하다고 말하고 싶지만, SEO 최적화와 같이 중요하거나 사용자 기반의 많은 부분이 Javascript를 지원할 가능성이 낮은 브라우저를 사용하거나 Javascript/AJAX가 비활성화될 가능성이 있는 시나리오가 있습니다.

이러한 시나리오의 몇 가지 예:

  • 구식 브라우저를 표준으로 사용하는 회사 또는 정부를 위한 웹 사이트
  • 시각 및 운동 기능 장애인을 위한 웹 사이트와 같이 사용자의 상당 부분이 사용자 경험에 부정적인 영향을 미칠 수 있는 방법으로 비활성화될 수 있는 웹 사이트는 특히 AJAX를 통한 콘텐츠 업데이트로 인해 부정적인 영향을 받을 수 있습니다.
    • 일반적이지 않은 장치나 브라우저를 통해 정기적으로 액세스하는 사이트로, 대부분의 사용자에게 부정적인 영향을 미칩니다.

그럼 어떻게 해야 하나요?

  • 누가 사이트를 사용할 것인지, 어떻게 액세스할 것인지, 무엇으로 액세스할 것인지를 생각합니다.또한 현재뿐만 아니라 미래에 대해서도 생각하도록 노력하세요.
  • 대부분의 사용자에게 적합한 방식으로 사이트를 설계합니다.
  • AJAX를 사용하기로 한 저의 결정을 토대로 누가 얻고 누가 느슨해질지 생각해 보십시오. 의심스러운 경우 의사 결정을 평가하는 데 도움이 될 분석 데이터를 확인하고 데이터가 부족하면 추적을 업데이트하고 의사 결정에 도움이 되는 샘플을 얻을 가치가 있을 수 있습니다.
  • AJAX를 사용하기로 한 제 결정이 이 프로젝트의 핵심 요구 사항과 모순을 야기한다고 생각합니다.
  • AJAX를 사용하여 JS/AJAX와 함께 작동하거나 함께 작동하지 않도록 하는 대신 가능한 경우 컨텐츠를 향상시킵니다.
  • AJAX 사용과 관련된 추가 개발 시간 고려(있는 경우)

제 경험으로는, 아약스가 없이 작동한 후에 사용해야 합니다.몇 가지 이유 때문에.먼저, 아약스에서 무언가가 깨졌는데, 그것 없이는 작동하지 않는다면, 그 사이트는 단순히 작동하지 않습니다.예를 들어 페이지가 있는 제품 목록입니다.링크로만 작동하고 가능하면 Ajax를 사용해야 합니다.둘째, 사이트 인덱싱 및 접근성을 위해.아약스 없이 작동하면 더 좋습니다.

그리고 무언가를 부수는 것이 더 쉽습니다(몇 분만이라도).잘못된 코드 조각, 발견되지 않은 예외, 외부 라이브러리가 로드되지 않음, 브라우저 확장 차단...

아약스 없이 모든 것이 작동한 후에 아약스를 추가하는 것이 꽤 쉽습니다.아약스가 액션을 잡도록 하고, 아약스=1을 추가하고, 결과를 반환할 때, 아약스=1인 경우 필요한 것만 반환하고, 그렇지 않으면 모든 것을 반환합니다.제품 목록 예제에서 저는 제품과 페이지화 html만 반환하고 올바른 div에 추가할 것입니다.Ajax가 작동을 중지하면 전체 페이지가 로드되고 고객은 로드할 때 두 번째 페이지를 봅니다.

Ajax는 UX에 많은 가치를 추가합니다.올바르게 수행되면 사용자는 사이트를 사용할 때 느낌이 좋고, 매번 전체 페이지를 로드하지 않기 때문에 데이터 사용률이 향상됩니다.

그러나 문제는 "Ajax를 사용하지 않을 때"입니다. 저는 UX를 개선하기 위해 항상 기대해야 하지만 사이트가 작동하는 데 의존해서는 안 된다고 생각합니다(다른 사용자도 언급했듯이).그리고 오늘날 우리는 훌륭한 코드와 훌륭한 사용자 경험이 모두 필요합니다.

예를 들어 index.py 과 ajax.py 의 두 가지 주요 페이지를 사용합니다.첫 번째는 전체 웹 사이트 생성을 담당하며 양식의 기본 대상입니다.다른 하나는 적절한 Ajax 쿼리에 특정한 출력만 생성합니다.두 가지 배경의 논리는 동일하지만 출력을 생성하는 방법만 약간 다릅니다.jquery에서 나는 요청을 보낼 때 단순히 작업 매개 변수를 변경합니다.아약스 유무에 상관없이 작동하지만, 오랫동안 장애인 js와 아약스를 가진 사람을 보지 못했습니다.

저는 자바스크립트/Ajax 없이 당신의 애플리케이션을 코딩한 다음 나중에 추가하여 사용자가 자바스크립트를 사용할 수 없다는 이유만으로 사용자의 기능을 박탈하지 않고 UI를 향상시킬 생각을 좋아합니다.저는 이것에 대해 Pro ASP에서 읽었습니다.NET MVC 하지만 방해가 되지 않는 자바스크립트에 대해 읽으면서 다른 곳에서 본 것 같습니다.

당신은 아코디언, 모달/등 형태, 이미지 줌기 등과 같은 웹 2.0 효과로 당신의 서비스를 비대하게 만들어서는 안 됩니다.
최신 기술을 더 스마트하게 사용하면(AJAX도 그 중 하나입니다) 사용자가 행복해질 것입니다.AJAX를 두려워하지 마십시오. 이것은 사용자 환경을 원활하게 만드는 매우 좋은 방법입니다.하지만 좋아서 하는 것이 아니라 사용자가 필요로 하기 때문에 하는 것입니다;)

데스크톱 앱을 대충 모방한 것이 아니라 웹 사이트처럼 보이는 웹 사이트를 만들고 싶을 때?

다음과 같은 경우 AJAX 또는 JavaScript를 사용해서는 안 됩니다.

  • 시스템에 액세스할 수 있어야 합니다.
  • 시스템이 검색에 적합해야 합니다.

그러나 확실한 "방해가 되지 않는" 방법으로 최신 JS 프레임워크를 사용하면 페이지를 액세스 가능하고 검색하기 쉬운 상태로 유지하면서 사용자에게 매끄러운 UI를 제공할 수 있습니다.

이는 개발 중인 응용프로그램 또는 기능의 유형에 따라 완전히 달라집니다.Javascript가 없음에도 불구하고 응용프로그램에 액세스할 수 있는 것이 중요한 경우, 사용자가 해당 기능/기능을 사용할 수 있도록 폴백 방법(즉, 대체 양식)을 사용하는 것이 도움이 될 것입니다.이를 위해서는 클라이언트 측 스크립트뿐만 아니라 서버 측에서도 정보를 수집하는 방법을 개발하는 데 시간을 투자해야 합니다.

사용자 경험을 향상시키는 역할만 하는 기타 기능의 경우 대체 방법을 개발할 가치가 없습니다.

AJAX를 완전히 사용하지 않을 이유가 없습니다.AJAX는 결국 트래픽을 최소화하는 데 도움이 됩니다.

항상 AJAX를 사용하고 푸시 상태를 사용하여 기록 상태를 업데이트하거나 호환성을 높이기 위해 HTML5 호환 브라우저가 없는 해시를 사용할 수 있습니다.

수 .document.hash해시 상태에 따라 응용 프로그램 기반의 상태를 다시 시작합니다.

를 들어, .html로 할 수 . 예를 들어 클라이언트가 보기 클라이언트를 열기 위해 해시를 변경할 수 있습니다.#/view/client/{client_id}/그런 다음 다시 로드하거나 브라우저를 사용하여 돌아가면 변경된 해시를 사용할 수 있습니다.onhashchanged새후 상태인 이 벤 고 트 일 키 선 는 하 특 호 정 동 경 함 일 우 상 인 태 시 치 에 해 시 새 캡

AJAX를 사용하지 않는 것이 더 나을 수 있는 몇 가지 다른 시나리오:

  • 다른 사용자가 웹 응용프로그램에 로그인할 수 있도록 허용합니다.대신 기존 양식 제출을 사용합니다.

  • 데이터베이스에서 100개가 넘는 행을 검색하고 반환하는 중입니다.프로세스를 중단하거나 서버 측 언어로 처리합니다.

언급URL : https://stackoverflow.com/questions/1799912/when-not-to-use-ajax-in-web-application-development

반응형