오늘날 각자의 특징과 장단점을 가진 다양한 소프트웨어 개발 프레임워크(이하 프레임워크라 칭함)들이 존재한다. 나의 프로젝트에 적합한 프레임워크는 어떻게 선택할 수 있을까? 소프트웨어를 개발하기 전, 어떤 프레임워크를 선택할 것인지는 또한 하나의 challenging 이 될 수 있다.
적절한 프레임워크 선정을 위해 이 글에서 제안하는 요소들을 고려해보자.
왜 프레임워크를 잘 선택해야 하는가?
프레임워크는 개발자들이 유연한 개발을 할 수 있도록 여러가지 구조와 환경을 제공한다. 또한 프레임워크 별로 개발 가이드라인도 권장한다. 이로 인해 개발자들은 시간과 노력을 아낄 수 있다. 프레임워크는 한마디로 다양한 개발도구들인 것이다.
프레임워크를 잘 선택해야 하는 이유를 비유로 표현해보자. 여러가지 다양한 공구들이 있다. 이 중에서 못을 박기 위해서는 망치를 선택하는 것이 좋다. 가위를 선택하면 단단한 부위로 못을 쳐볼 수는 있겠지만 망치만큼의 효율은 나올 수 없다. 만약 글루건을 선택한다면 못을 쳐볼 수조차 없을 것이다.
이와같이 다양한 개발도구들 중에서 나의 프로젝트, 나의 목적에 적합한 것을 선택하는 것이 중요하다. 적합한 지 고려할 요소들을 잠깐 나열해보면 익히고 사용하기 쉬운지, 지원하는 프로그래밍 언어가 무엇인지, 비용은 얼마인지 등 아주 많을 것이다. 이러한 요소들을 종합적으로 고려해서 최적의 프레임워크를 선택해야 한다.
어떤 요소들을 고려해야 하나?
아래의 반드시 고려해야할 몇가지 요소들을 보자.
팀의 인적자원들을 평가해보자.
현재 팀의 인적자원들을 파악하고 평가해보자. 팀의 수준이 높지 않다면, 프레임워크에 대한 러닝커브가 낮은 것이 순조로운 진행에 도움이 될 수 있다. 반대로 팀의 수준이 높다면, 프레임워크의 유연성과 성능이 더 중요한 요소가 될 것이다.
미래의 니즈를 고려해보자.
프레임워크가 우리 프로젝트의 향후 니즈를 충족시켜줄 지 고려해보자. 예를 들어, 우리 프로젝트가 특정한 플랫폼에서 동작하는 것을 전제로 한다면 프레임워크가 해당 플랫폼을 지원하는 지가 중요한 요소가 될 것이다.
기존의 개발과의 호환성
처음부터 시작한다면 이 요소는 고려할 필요가 없겠지만, 개발이 이미 진행중었다면 프레임워크가 도입되어도 호환성에 문제가 없는 지 고려해보자. 기존의 코드에 어떻게 적용하고 동작할 것인지 생각해보자.
호스팅과 배포
어떻게 호스팅되고 배포될 것인지 대한 계획과 프레임워크가 적합한지 고려해보자. 프레임워크가 호스팅 또는 배포할 환경을 지원하는 것이 편리할 것이다.
참조
https://appmaster.io/blog/effective-software-development-framework
'잡학사전' 카테고리의 다른 글
HTTP (0) | 2022.12.22 |
---|---|
URL 구성 (0) | 2022.12.22 |
HTTP 상태코드 간단 정리 (0) | 2022.12.21 |
Web Service Architecture (0) | 2022.12.21 |
REST API 개념 (0) | 2022.10.31 |