css가 빠른이유가 궁금합니다.
css로 구현하면 자바스크립트로 구현한 것에 비해 훨씬 빠르다고 들었습니다.
애니메이션 같은 것도 같은 이유로 css로 구현하시는 분들이 많으시더라구요.
왜 css가 더 빠른지 알려주세요
자바스크립트는 어찌 됐든 인터프리터를 거쳐서 실행합니다.
하지만 CSS를 처리하는 건 브라우저가 직접 합니다. Firefox의 경우에는 CSS 처리를 위해 Rust를 사용한다고 합니다.
동시성 이슈와 메모리 누수를 컴파일 타임에 잡아주는 Rust와, 싱글스레드에 메모리 관리도 런타임에 해 주는 JS를...애니메이션 구현을 자바스크립트로 하면 애니메이션을 브라우저에 있는 자바스크립트 인터프리터를 거쳐서 처리하고
애니메이션을 CSS에 맡겨버리면 자바스크립트 인터프리터나 그런 거 안 거치는 그 브라우저가 직접 처리하게 됩니다.
인터프리터를 거쳐서 레이아웃 잡아주는 스크립트가 빠를까요? 레이아웃 잡는 데 최적화된 CSS엔진이 빠를까요?물~론 브라우저를 만든 개발사가 무능하다면, 그러면서 자바스크립트 엔진으로 V8같은 좋은 걸 썼다면
충분히 CSS보다 JS가 빠른 (정확히는 JS보다 CSS가 느린) 황당한 경우도 생길 수 있긴 하지만...!
대부분의 경우 CSS로 간단하게 할 수 있는 건 JS로 처리하는 것보다 CSS로 처리하는 게 더 빠릅니다.물론 제한적인 CSS로는 모든 걸 구현할 수는 없습니다. 자바스크립트를 써야만 하는 경우가 있습니다.
간단히 CSS로 처리할 수 있는 경우에는 CSS로 하는 게 좋을 수 있겠지만, 복잡한 건 JS로 처리하는 게 좋습니다.
억지로 CSS에 욱여넣으려고 트릭을 남발하게 되면 그 장점들 다 말아먹고, 배보다 배꼽이 더 커질 수 있습니다.해당 명령어를 처리하기 위해 거쳐야 하는 컴파일 과정이 틀리기 때문에 CSS쪽이 훨 빠릅니다
자바스크립트로 작성한 페이지는 자바내용을 브라우저에서 컴파일 하고 실행을 합니다
CSS는 CSS내용을 읽은후 이미 기존에 셋팅된 내용을 바로 보여주기 때문에 자바스크립트에 비해 속도가 빠를수 밖에 없습니다
하지만 단점은 자바스크립트는 무한한 화면구성이 가능하지만,
CSS는 정해진 한도내에서만 화면구성이 가능합니다
물론 차후에 특정 명령이나 처리패턴이 대중화되어 많이 사용하게 된다면? 해당 부분을 브라우저 CSS로 편입할수도 있으니,
CSS 쪽은 시간이 바로 업데이트라고 보시면 될것 같습니다
즉, 지금은 지원 안하는것이라도 차후에는 지원이 가능할 수 있다는 내용입니다^^