1P by neo 5달전 | favorite | 댓글 1개

jQuery 4.0.0 베타 출시!

  • jQuery 4.0.0 베타 버전이 출시되었음. 오랜 개발 기간을 거쳐 버그 수정, 성능 개선, 몇 가지 주요 변경 사항이 포함됨.
  • IE 11 미만 버전 지원 중단, 레거시 코드 정리, 사용하지 않는 API 제거, 복잡한 "마법" 동작 지원 중단 등이 있음.
  • 최종 출시 전에 업그레이드 가이드를 발행할 예정이며, jQuery Migrate 플러그인이 마이그레이션을 돕게 될 것임.

IE<11 지원 중단

  • jQuery 4.0은 IE 10 이하 버전 지원을 중단함. IE 11 지원 중단은 jQuery 5.0에서 단계적으로 이루어질 예정임.
  • Edge Legacy, iOS 11 미만, Firefox 65 미만, Android Browser 등 오래된 브라우저 지원도 중단함.

사용되지 않는 API 제거

  • 여러 버전에 걸쳐 사용되지 않던 함수들이 이번 주요 릴리스에서 제거됨. 이 함수들은 내부적으로만 사용되거나 현재 브라우저에서 네이티브로 지원되는 기능들임.

push, sort, splice 제거

  • jQuery 프로토타입에 있던 Array 메서드들이 제거되었으며, 이제 jQuery 프로토타입 대신 Array 함수를 사용하게 됨.

focusinfocusout 이벤트 순서 변경

  • 브라우저 간 focusblur 이벤트 순서가 일치하지 않았으나, 이제 jQuery 4.0이 지원하는 모든 브라우저가 일반적인 순서에 동의함. 이는 jQuery가 이전에 선택했던 순서와 다르기 때문에 주요 변경 사항임.

FormData 지원 추가

  • jQuery.ajax가 이제 FormData를 포함한 바이너리 데이터를 지원함. 이전에는 바이너리 데이터를 문자열로 변환했으나, 이제 자동으로 처리됨.

자동 JSONP 승격 제거

  • 이전에는 jQuery.ajax에서 dataType: "json"과 콜백이 제공되면 자동으로 JSONP 요청으로 변환되었으나, 이제는 모든 지원 브라우저에서 CORS를 사용하는 것이 선호됨.

jQuery 소스를 ES 모듈로 마이그레이션

  • jQuery 소스가 AMD에서 ES 모듈로 마이그레이션되었으며, 이제 Rollup을 사용하여 jQuery를 패키징함.

Trusted Types 및 CSP 지원

  • jQuery 4.0은 Trusted Types를 지원하여, Content Security Policy 지시문을 위반하지 않고 HTML을 jQuery 조작 메서드에 입력으로 사용할 수 있게 함.

업데이트된 슬림 빌드

  • jQuery 4.0.0의 슬림 빌드는 Deferreds와 Callbacks를 제거하여 더 작아짐(압축 시 20k 바이트 미만).

다운로드

  • jQuery CDN 또는 npm을 통해 파일을 받을 수 있음.

슬림 빌드

  • 모든 지원 브라우저(IE11 제외)에서 네이티브 Promise를 지원하므로, 슬림 버전은 ajax, Deferreds, Callbacks 모듈을 제외함.

감사의 말

  • 이번 릴리스에 참여한 모든 사람들에게 감사를 표함.

Mastodon 계정

  • jQuery는 이제 Mastodon 계정을 가지고 있으며, Twitter와 Mastodon에 동시에 게시할 예정임.

변경 로그

  • 전체 변경 로그는 주요 변경 사항과 함께 제공됨.

GN⁺의 의견:

  • jQuery 4.0.0 베타 버전의 출시는 웹 개발자들에게 중요한 소식이며, 특히 IE 11 미만 버전의 지원 중단과 ES 모듈로의 마이그레이션은 현대 웹 개발 표준에 맞춰진 중요한 변화임.
  • 새로운 기능과 성능 개선은 웹 애플리케이션의 효율성을 높이는 데 기여할 것이며, 슬림 빌드의 축소는 로딩 성능에 민감한 프로젝트에 유용할 것임.
  • jQuery의 Mastodon 계정 개설은 소셜 미디어의 다양성을 반영하고, 개발자 커뮤니티와의 소통 채널을 확장하는 긍정적인 움직임임.
Hacker News 의견
  • jQuery의 지속적인 중요성에 대해

    • WordPress가 웹의 1/3 이상을 차지하며, 많은 설치와 플러그인들이 jQuery에 크게 의존하고 있음.
    • jQuery는 DOM 선택, 속성 조작, Ajax 요청, 이벤트 처리, 애니메이션, 일반 유틸리티 함수 등을 위한 안정적인 도구 세트로서 널리 지원받고 있음.
    • jQuery를 대체할 수 있는 네이티브 기능이 있지만, jQuery만큼 유창한 API는 아님.
    • 서버 사이드 HTML 위에 약간의 향상이 필요하지만 전체 JS UI 프레임워크는 필요 없는 작업에 대해 jQuery는 안정적이고 신뢰할 수 있는 크로스 브라우저 호환성을 제공함.
  • 개인적인 jQuery 대체 버전 개발에 대해

    • 오랫동안 jQuery 4.0을 기다리다가 결국 자신만의 jQuery를 만들었음. 주요 차이점으로는 CSS를 사용한 애니메이션, 투명한 요소 또는 리스트 사용, 인라인 스크립트, 독립적인 운영, 의존성 없는 단일 파일로 340줄 미만임.
  • jQuery의 현재 개발 상황에 대한 궁금증

    • 많은 개발자들이 jQuery를 제거하려고 노력하는 가운데, 누가 적극적으로 jQuery를 사용하여 개발하고 있는지에 대한 의문.
    • 대부분의 jQuery 기능이 현재 네이티브로 내장되어 있으며, querySelectorAll이 가장 강력한 기능 중 하나임.
  • jQuery를 사용한 로우 코드 플랫폼 개발 경험

    • 로우 코드 플랫폼 드래그 앤 드롭 에디터를 jQuery로 구축함. 이는 에디터, 모든 컨트롤(즉, UI 컴포넌트)을 포함하며, 생성되는 코드 역시 순수한 jQuery임.
    • 대기업의 경영진이 종종 React/Angular 등을 사용하지 않는 이유에 대해 질문하지만, jQuery가 여전히 관련성이 있다는 것을 알고 기쁨.
  • jQuery에 대한 애정 표현

    • jQuery 팀에 대한 감사와 사랑을 표현하며, jQuery가 작업을 완수하는 데 있어 간단하고 효과적임을 강조.
  • jQuery의 과거 사용 경험 공유

    • 과거에 기술 리더와 jQuery를 프로젝트에 추가할 것인지에 대한 논쟁을 했던 경험.
    • 리더는 라이브러리 크기가 페이지 로딩 시간에 부담을 줄 것이라고 주장했지만, 결국 다양한 브라우저에서 Ajax 호출을 지원하는 코드를 작성하는 데 실패하고 jQuery를 프로젝트에 추가함.
  • 2024년에 jQuery 사용의 혼란

    • 브라우저가 DOM 선택을 더 잘 지원함에 따라, 2024년에 jQuery를 사용하는 이유에 대한 혼란과 궁금증을 표현.
  • jQuery 도입 초기 경험 공유

    • jQuery가 처음 출시되었을 때 동료들을 설득하기 위해 내부 프레젠테이션을 진행했던 경험을 회상.
  • jQuery와 관련된 도구들에 대한 추억

    • DataTables와 X-editable과 같은 jQuery 관련 도구들을 사용했던 경험에 대한 애정 어린 회상.