라이브러리 도구와 프레임워크의 가장 큰 차이는 개발 흐름의 주도권을 누가 가지고 있는가에 달렸다.
개발자가 코딩할 때, 라이브러리는 자신에게 필요한 기능만 사용해도 되므로, 개발 주도권이 개발자에게 있다.
프레임워크는 개발 주도권이 프레임워크에게 있다.
(웹 개발을 시작하는 방법부터 기능을 구현하는 모든 것을 프레임워크에서 정해 놓은 대로 따라야 한다.)
라이브러리 도구
프레임워크
주도권
* 개발 주도권이 개발자에게 있다.
* 개발자가 코딩할 때, 라이브러리는 자신에게 필요한 기능만 사용해도 된다.
* 개발 주도권이 프레임워크에게 있다.
* 웹 개발을 시작하는 방법부터 기능을 구현하는 모든 것을 프레임워크에서 정해 놓은 대로 따라야 한다.
EX
* 제이쿼리(jQuery)
* D3.js
* 부트스트랩(Bootstrap)
* 리액트(React)
* 앵귤러(Angular)
* 뷰(Vue)
부트스트랩의 장점
반응형 디자인 –스타일과 구조에 반응하고 여러 플랫폼과 호환되는 사용자 인터페이스를 만드는 데 필요한 기능을 제공합니다.
시간 절약 –각 구성 요소에 대한 우수한 문서를 제공하고 쉽게 사용할 수 있는 리소스를 통해 코드 작성 프로세스를 생략하고 사이트를 신속하게 디버그할 수 있습니다.CSS 전처리기 LESS를 사용하여 사용자 정의 개발 프로세스 시간을 절약할 수 있습니다.
구성 요소 스타일링 –프로젝트 요구 사항에 따라 무료로 사용자 정의할 수 있는 다양한 사용자 템플릿, 테마 및 플러그인과 그리드 시스템을 제공합니다.
일관성 및 호환성 –탁월한 CSS 및 Javascript 호환성을 통해 브라우저 간 일관성이 탁월합니다.
상당한 커뮤니티 지원 –Github에서 사용할 수 있는 무료 오픈 소스 프레임워크로, 개발에 기여하는 상당한 커뮤니티 지원을 제공합니다.
부트스트랩의 단점
유사한 웹 사이트 템플릿 –일반적으로 제한된 템플릿을 사용하여 Bootstrap으로 만든 웹 사이트와 응용 프로그램을 동일하게 보이게 한다는 비판을 받습니다.이러한 유사성을 피하려면 시간이 많이 걸리고 이 프레임워크를 사용하는 목적을 능가하는 광범위한 수동 사용자 지정이 필요할 수 있습니다.
학습 곡선 –개발자는 프론트엔드 기술에 대한 사전 지식에 따라 클래스 구성 요소 및 조합에 대해 자세히 알아보기 위해 약간의 시간을 투자해야 할 수 있습니다.
JavaScript 라이브러리의 사용되지 않는 리소스 –Bootstrap의 JavaScript는 여러 가지 불필요하거나 사용되지 않는 구성 요소가 있는 광범위하고 실행하기 힘든 라이브러리인 jQuery와 연결되어 있습니다.이러한 사용되지 않는 리소스는 웹 사이트를 부피가 커지게 하여 성능 면에서 느려지게 합니다.
재작성 및 재정의 –상당한 양의 사용자 지정으로 인해 일반적인 부트스트랩 디자인에서 벗어나 호환성 및 일관성 문제가 발생할 수 있습니다.
뷰의 장점
프로그레시브:Vue는 개발 시간을 낭비하지 않고 구성 요소를 개발하는 동안 코드에 점진적으로 마이그레이션하거나 통합할 수 있습니다.
기존:Vue는 구성 요소 및 애니메이션 관리를 위한 상태 지원을 생성하기 위해 내장 솔루션을 사용하여 상용구 코드를 쉽게 작성할 수 있습니다.기존 접근 방식은 Vue로 전체 개발 프로세스를 더 빠르게 만듭니다.
유효 크기:Vue의 새 버전이 출시될 때마다 프레임워크가 더 가볍고 빨라집니다.Vue의 최적화 기능을 통해 개발자는 디버깅이나 코드 조정보다 기능 추가에 더 집중할 수 있습니다.
기능적 확장:Vue는 기능 기반의 추가 API 기능 세트를 제공하므로 구성 요소 로직을 유연하고 광범위하게 구성할 수 있습니다.결과적으로 응용 프로그램 구성 요소는 기능면에서 더 읽기 쉽고 확장 가능합니다.
Future Ready:Vue는 강력한 프로덕션 환경으로 유명하므로 애플리케이션을 업데이트하거나 정기적으로 버그 수정 또는 개선 사항을 확인할 필요가 없습니다.기본적으로 프레임워크 업데이트가 더 쉽습니다.
뷰의 단점
커뮤니티:Vue에는 언어 이해력이 부족한 커뮤니티가 있습니다.Vue가 중국 전역에서 인기를 얻으면서 대부분의 토론이 중국어로 이루어지기 때문에 영어를 사용하는 개발자가 프레임워크를 배우고 리소스를 공유하기가 어렵습니다.
코드 반응성:Vue의 양방향 바인딩 특성은 애플리케이션 전체에서 구성 요소를 만들고 동기화하는 데 유용합니다.그 결과 DOM에 의해 트리거된 데이터 청크 또는 기능의 일부가 렌더링됩니다.
지원:Vue는 여전히 젊은 프레임워크로 간주됩니다.커뮤니티가 상대적으로 작기 때문에 개발자는 대규모 프로젝트에서 발생하는 문제를 처리하는 데 어려움을 겪습니다.
유연성 위험:유연성이 있고 옵션을 사용자 지정하는 것은 항상 합리적이지만 Vue는 너무 많은 유연성을 제공합니다.너무 많은 옵션이 프로젝트를 과도하게 복잡하게 하여 오류와 코드 불규칙성을 초래하는 프레임워크로 종종 인식됩니다.
리소스 제한:Vue의 생태계는 광범위하지만 여전히 대부분의 외부 도구 소스 및 기타 프레임워크와 일반적으로 호환되는 플러그인 및 도구를 제공하지 않습니다.또한 대부분의 사용 가능한 리소스에 대한 지원이 부족합니다.