일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- AWS기초
- 리커젼
- css기초
- IT
- 원본과 복사본
- JavaScript
- var
- 메모이제이션
- prototype
- 코드스테이츠
- 기초공부
- 재귀함수
- scope
- AWS조사
- 클로저
- node.js설치
- APPEND
- 생활코딩
- 개발툴
- node.js
- let
- complexity
- appendChild
- CSS
- 인터프리터
- AWS
- flex기본
- vscode
- Big-O notation
- 스코프
- Today
- Total
Jveloper
프레임워크는 왜 중요한가요? 꼭 있어야하나요? 본문
프레임워크란 소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스들을 제공하는것.
쉽게 풀어보면 밑바닥부터 하나하나 개발하는게 아니라 화면에 표현되거나 데이터를 처리하는 방식, 외부 모듈과 연계하는 방식 등 미리 구조화된 틀과 라이브러리 등을 제공하고 그 기반에서 개발자가 개발한 코드를 제어하는것을 의미한다고 볼 수 있습니다.
프레임워크의 장점
1. 개발 생산성이 획기적으로 좋아집니다.
프레임워크는 컴포넌트, 통신 처리, 데이터 처리 등 개발에 필요한 다양한 기능 등을 미리 제공합니다.
이를 잘 활용하면 백지상태에서 개발하는 방식에 비해 개발 생산성은 좋을 수 밖에 없습니다.
2. 코드품질이 향상됩니다.
프레임워크는 개발자가 반복적인 작업에서 실수하기 쉬운 부분들을 내부에서 처리해 줄 수 있습니다.
따라서 버그 발생의 가능성을 최소화 할 수 있어 결과적으로 코드의 품질이 향샹될 가능성이 높습니다.
3. 유지보수가 안정적이고 편리해집니다.
비즈니스 환경은 점점 더 빠르게 변화하고 있는데 기업의 IT담당자들은 그 속도에 맞춰 지속적으로 시스템을 업데이트 해야만 합니다.
그러다 피치 못해 담당자가 바뀌는 경우, 기업 입장에서는 유지보수의 문제와 마주하게 됩니다.
하지만 프레임워크를 적용하면서, 구조적이고 체계화된 개발환경을 구축했다면 담당자의 변경이 발생하더라도 그 패턴이 유사하기때문에 위험을 최소화하고 안정적인 시스템 운영이 가능할것입니다.
프레임워크의 단점
1. 개발자 학습 시간이 필요합니다.
프레임워크의 사상이나 철학까지는 아니더라도 기본적인 사용법과 제공하는 기능들의 사용법을 습득하려면 일정 시간이상을 투자해야 합니다.
물론 개인차에 따라 그 시간은 달라질 수 있습니다.
2. 개발의 자유도에 한계가 있습니다.
프레임워크 기반에서 개발하다보면, 프레임워크 구조와 패턴을 따라야 하기 때문에 예외사항에 좀 더 유연하게 개발하려는 개발자는 어려움을 느낄 수 있다.
아무리 훌륭한 프레임워크일지라도 모든 경우를 다 커버하기란 쉽지 않기 때문이다.
따라서 프레임워크가 지원하지 않는 기능들은 자체적으로 직접 구현할 필요가 있는데, 이 때 프레임워크로 인한 제약 사항이 발생할 수 있다.
프로젝트에 적합한 프레임워크를 적절하게 선택해, 그 특성을 잘 이해하고 최대한 장점을 잘 활용한다면 개발기간과 비용은 단축하고, 상향 평준화된 코드품질로 프로젝트를 성공으로 이끌 수 있습니다.
물론 이후로도 안정적이고 편리한 유지보수를 보장할 것이니 현재로서 개발자에게 이보다 좋은 선택은 없다고 생각합니다.
'끄적끄적' 카테고리의 다른 글
UI/UX 디자인이란? (0) | 2019.12.16 |
---|---|
React에서 Component가 왜 중요한가요? (0) | 2019.11.30 |
Cookie, Local Storage, Session Storage의 차이점에 대해 설명해주세요. (0) | 2019.11.26 |
Git cherry-pick에 대해서 설명해주세요. (0) | 2019.11.26 |
Responsive Web Design에 대해 알고있는부분을 설명해주세요 (0) | 2019.11.22 |