프레임워크 선정 기준

Eeeasy-code·2023년 11월 9일
0

[개발]

목록 보기
1/6
post-thumbnail

개발을 진행할 때, 내가 사용할 언어를 선택하고 프레임워크를 선택하게 된다. 나는 프레임워크가 무엇인지 이해하고 그 용도에 맞게 잘 선택한 것인지 스스로 의문점이 들어 정리를 할 필요가 있다고 판단했다.

프레임워크 (Framework)

프레임워크 란 "소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게 만드는 일련의 협업화된 형태로 클래스와 라이브러리를 제공하는 것" 라고 한다.

바퀴를 다시 발명하지 마라 (Don't reinvent the wheel)

프레임워크와 같은 개발을 편리하게 만들어주는 도구들은 위의 격언의 내용을 전부 내포하고 있지 않을까? 프레임워크는 우리가 서비스 개발에 더 집중할 수 있도록 도와주는 기본 뼈대라고 생각을 한다. 내가 개발을 하는데 A라는 기능이 필요하다면 A라는 기능을 구현하면 된다. 그러나, 이미 A를 누군가가 구현해 놓았다면 우리는 그 기능을 따로 구현하지 않고 사용하면 된다. 정말 편리하다.
다시 정리하자면, 내가 목표하는 기능을 구현하기 위해 기본적인 뼈대와 부품을 가져다 쓰겠다는 것이다.

장점

  1. 효율성
  2. 품질 향상
  3. 유지 보수 용이

단점

  1. 러닝커브가 급함
  2. 프레임워크 의도와 목적에 제약 사항

선정 기준

내가 구현하고자 하는 서비스의 목적, 특징

대부분의 프레임워크가 제공하는 기본적인 기능들은 비슷하다. 언어와 사용방법이 조금씩 차이가 있을뿐 기능은 큰 차이가 없다. 다만, 프레임워크마다 특정 기능 구현에 포커스를 맞춰놓은 부분들이 있기에 이런 부분을 고려하여 선정해야 한다.

  1. 본인이 사용할 수 있는 언어 고려
  2. 구현할 서비스의 목적과 특징 분석
  3. 기능을 검색해 봤을 때, 참고할만한 자료가 풍부한지 고려

등등.. 많은 선정 기준이 있지만 내가 생각했을 때 대표적인 선정 기준은 위 3가지로 추려볼 수 있다.
특히 개발을 처음 시작했을 때, 1순위 선정 기준(언어 제외)은 난 아무것도 모르기 때문에, 참고할 수 있는 자료들이 많은 프레임워크를 선정하는 것이었다. 사용자가 적은 프레임워크나 참고 자료가 많지 않은 프레임워크로 개발을 했다가 프레임워크를 다시 선정하고 개발을 다시 시작한 경험이 있다..

대표적인 프레임워크

Spring + Java

> 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크 전자정부 표준 프레임워크 대규모 트래픽 처리에 용이함 성능과 언정성 측면에서 우수함

Express + JS/TS

> Node.js를 위한 빠르고 개방적이고 간결한 웹 프레임워크 npm을 통한 간단한 설치 작고 간단한 서버 제작에 용이함 미들웨어 활용이 강조된 간단한 구조

Django + Python

Python 기반의 웹 프레임워크
강력한 라이브러리 지원
Full Stack 개발 가능
최소기능제품(MVP) 제작을 위해 곧바로 사용 가능함

profile
쉽고 즐겁게 개발합시다.

0개의 댓글