[Web] JavaScript 라이브러리 & 프레임워크
자바에는 다양한 라이브러리가 있다. 그 중 가장 많이 사용되는 라이브러리는 단연 jquery 이다. 라이브러리가 많고 다양한 기능이 있는 만큼 라이브러리의 사용 목적을 잘 알고 써야 한다.
jquery가 인기가 많았던 이유가 몇가지 있다.
JQuery
jQuery는 출시되고 10년 동안 인기를 독차지 하고 있었다. 2018년 부터 그 인기는 줄어들고 있고 더이상 배울 필요는 없다고 한다. 하지만 그동안 몇가지 프로젝트를 해오면서 자료를 검색하면 항상 제이쿼리 = 자바스크립트 인 듯 사용하는 사람들이 많아 나같이 자바 스크립트를 아직 완벽하게 사용하지 못하고 계속해서 검색을 해야 하는 입장에서는 어느정도 문법은 쓸 줄 알아야 하지 않을까 싶다.jquery가 인기가 많았던 이유가 몇가지 있다.
- 다양하게 동작하는 웹브라우저의 API간 차이를 줄여주었다.
- 복잡하고 어려운 DOM API를 추상화해서 제공하여 쉽게 DOM조작이 가능하게 해준다.
- 사고의 흐름에 맞춰 프로그래밍 할 수 있다.
하지만 지금은..
- 장치 브라우저 호환성 이슈가 좋아졌다.
- DOM API는 그대로지만 7-8년 전부터 등장한 JS Framework틀이 좀 더 추상화된 방식으로 dom 접근을 도와주고 있다.
- 다른 라이브러리도 jquery의 방식을 지원한다.
그 외 ECMAScript 2015부터 편리한 함수들이 많이 제공되고 있어 jquery가 제공했던 유용한 기능들이 javascript로 표준 방법으로 사용할 수 있게 된 것이다.
그럼에도 불구, jquery를 사용하고 있는 웹사이트가 많기 때문에 제이쿼리를 사용 할 때는 항상 그 버전을 확인하고 브라우저나 버전 하위 호환성을 확인하고 한 페이지에 여러가지 제이쿼리 버전이 없도록 해야 한다.
가급적 대체 가능한 메서드는 표준 JavaScript메서드를 사용하면서 jquery 의존도를 줄여나가야 한다. 직접적 제이쿼리의 수정(override)은 유지 / 보수 측면에서 매우 좋지 않다.
Framework
Single Page Application (spa)라는 서비스 개념이 등장하면서 웹에서 데이터처리나 복잡한 ajax처리, routing 처리 등이 많아지면서, 이를 편리하게 해주는 framework가 등장했다.
ex) React, Angular, Vue, Ember 등...
이를 사용하면 좀 더 쉽게 DOM 제어를 할 수 있고 Data 조작은 view에서 분리해서 관리 할 수 있다. 그리고 component 방식으로 개발할 수 있어서 재사용가능한 코드를 만들 수도 있다.
라이브러리가 유용한 함수들을 제공한다고 한다면, 프레임워크는 큰 애플리케이션의 구조를 잡는 것을 도와주는 역할을 한고 볼 수 있다.
결론
라이브러리나 프레임워크는 필요한 시점에 적절한 것을 골라서 사용하면 된다. 그러기 위해서 각 도구가 어떤 목적을 가지고 있는 것인지 관심을 두는 게 좋다.
No comments: