동형 자바스크립트
Isomorphic JavaScriptUniversal JavaScript라고도 알려진 Isomape JavaScript는 클라이언트와 서버에서 모두 실행되는 JavaScript 응용 프로그램을 설명합니다.
메커니즘
Isomape JavaScript는 단일 페이지 애플리케이션(SPA)의 컨텍스트에서 작동합니다.일반적인 SPA에서는 라우팅을 포함한 대부분의 애플리케이션로직이 클라이언트에 송신되는 번들 JavaScript 파일에 캡슐화되어 있습니다.이렇게 하면 서버는 많은 요구를 처리할 필요가 없기 때문에 해방되지만 애플리케이션 전체를 클라이언트에 전송해야 하기 때문에 클라이언트의 초기 로드는 느려집니다.
Isomaphive JavaScript에서는 클라이언트 웹 페이지가 서버에서 처음 요구될 때 서버 측 동적 웹 페이지와 마찬가지로 페이지 보기가 생성되어 클라이언트에 전송됩니다.그러면 클라이언트는 보기를 즉시 렌더링할 수 있습니다.첫 번째 뷰가 렌더링되면 SPA 전체가 백그라운드에서 다운로드되어 후속 액션이 클라이언트 측에서 처리됩니다.
이름.
'이형 자바스크립트'라는 용어의 명칭이 [1]논란이 되고 있다.'동형'이라는 용어는 Nodejitsu의 Charlie Robbins에 의해 회사의 블로그 [2]게시물 중 하나에서 처음 만들어졌다.Airbnb의 소프트웨어 엔지니어인 Spike Brehm은 같은 [3]용어를 사용하여 다른 블로그 게시물을 썼다.그러나 다른 사람들은 대신 [1][4]유니버설 자바스크립트라는 용어를 사용하자고 제안했다.
혜택들
- 사용자 경험 향상:애플리케이션의 중요한 부분을 서버측의 실제 데이터와 함께 렌더링 하는 것으로, 동형 애플리케이션은 의미 있는 초기 페이지를 표시할 수 있다.한편 클라이언트 렌더링 애플리케이션은 필요한 모든 외부 데이터를 가져올 때까지 의미 있는 정보를 표시할 수 없습니다.그 사이에 사용자에게 표시되는 것은 로딩 인디케이터뿐입니다.
- 전체 로딩 시간 단축:동형 어플리케이션은 클라이언트 렌더링 어플리케이션에 비해 초기 페이지 응답 속도가 느리지만(응답하기 전에 데이터를 취득하고 서버 측에서 더 많은 마크업을 렌더링하기 때문에), 최종 사용자 인터페이스에 대한 전체적인 완료 시간은 클라이언트 측 API 요구보다 훨씬 빠릅니다.를 클릭합니다.
- 보다 예측 가능한 SEO 및 사이트 인덱싱:JavaScript 앱이 클라이언트 측에서 렌더링하는 콘텐츠를 인덱싱하려면 Googlebot은 이러한 JavaScript 앱을 전체 브라우저 환경에서 실행하고 렌더링된 DOM을 캡처해야 합니다.여기에는 복잡한 브라우저 호환성 문제가 포함됩니다.또한 JavaScript 앱은 추가 렌더링을 위해 AJAX를 요청할 수 있으므로 Googlebot은 앱의 네트워크 액세스를 제어하는 정책을 가지고 있어야 합니다.이러한 이유로 Googlebot에서 JavaScript 앱을 적절히 인덱싱하는 것은 여전히 어려운 일입니다.
프레임워크
여러 동형 자바스크립트 프레임워크와 라이브러리가 생성되었으며, 특히 Meteor(프레임워크)가 대표적이다.그 외 Next.js, Nuxt, Rendr, Derby, 미소, Ezel,[citation needed] Catberry 등이 있다.
레퍼런스
- ^ a b "Is "Isomorphic JavaScript" a good term?". 2ality. Archived from the original on 2017-06-21. Retrieved 2017-06-15.
- ^ Inc., Nodejitsu. "Scaling Isomorphic Javascript Code Nodejitsu Inc". blog.nodejitsu.com. Archived from the original on 2017-07-03. Retrieved 2017-06-15.
- ^ AirbnbEng (2013-11-11). "Isomorphic JavaScript: The Future of Web Apps". Airbnb Engineering & Data Science. Archived from the original on 2017-06-17. Retrieved 2017-06-15.
- ^ Jackson, Michael (2015-06-08). "Universal JavaScript". Michael Jackson. Archived from the original on 2017-06-21. Retrieved 2017-06-15.