7개월 동안 웹 개발 회사에서 인턴 생활을 했다. 인턴으로 지내면서 전자정부프레임워크(eGovFramework)를 썼는데, 사실 이걸 왜 쓰는지 이유도 잘 모른 채 게시판만 만들었다. 주위에 전자정부프레임워크를 왜 쓰는 거냐고 물어봤을 때 "공공기관 프로젝트는 이걸 써야한다" 라고 들었던 것 같다. 이해는 되는데 명쾌하진 않았다.
시간이 지나 혹여나 내 후배가 나에게 이 질문을 해온다면 나는 명쾌하게 대답해주고 싶었다. 지금부터 프레임워크, 스프링프레임워크, 전자정부프레임워크에 대해 알아보자.
프레임워크가 나오기 전,
우리는 언어를 이용해서 복잡한 방식으로 프로젝트를 만들었다. JAVA를 사용한 프로젝트는 EJB(Enterprise Java Beans) 방식을 많이 썼는데, 이 방식은 너무 복잡하고 어려워서 개발을 한다해도 실패 확률이 높았고 유지보수도 매우 어려웠다고 한다.
또 개발을 하면서 프로젝트마다 공통적으로 구현되는 부분들(ex. 보안, 로그, 트랜잭션 등)이 존재한다. 프로젝트마다 공통적인 부분을 매번 구현한다는 건 상당히 비효율적이였다. 개발자는 비즈니스 로직에만 몰두해도 시간이 부족한데, 이런 부분들까지 신경쓰기엔 너무 피곤했다.
프레임워크는 이렇게 해서 나오게 되었다.
처음부터 내가 혼자 다 만드는 것 보다 이미 만들어진걸 갖다 쓰는게 작업 시간이 훨씬 빠른건 당연하다. 그래서 우리는 개발할 때마다 누군가 이미 만들어놓은 구조를 갖다 써서 거기에 살(비즈니스 로직)을 붙이기로 했다. 여기서 구조가 바로 프레임워크다.
프레임워크(Framework), 말 그대로다. 개발을 위한 기초 뼈대이다.
쌩판 처음부터 하나하나 개발하는 것이 아니라 미리 구조화된 틀과 라이브러리를 기반으로 개발자가 개발한 코드를 제어하는 것
코드로 만들어진 구조인 것이다.
이 구조에는 어떤 함수를 작성해야 하는지, 이 소스 파일이 어떤 위치에 들어가야 하는지, DB랑 연동하기 위해선 어떤 코드를 써야하는지 등이 있다. 프레임워크는 개발을 위한 뼈대로, 완성된 애플리케이션이 아니다. 개발자가 프레임워크란 뼈대에 비즈니스로직이란 살을 붙여 프로젝트를 완성하는 것이다.
또 프레임워크를 사용하게 되면 아무래도 검증된 코드로 만들어진 구조에 최소한의 부분만 바꾸어 개발하게 되므로 프로그램의 품질이 어느정도 보장되고 개발 시간이 단축된다.
정리하자면,
동전도 앞면이 있으면 뒷면이 있듯이 모든 것에는 장,단점이 존재한다.
구분 | 프레임워크 종류 |
---|---|
JAVA Framework | Spring,eGovFrame... |
ORM Framework | (JPA 구현체) Hibernate... |
JavaScript Framework | React... |
Front-end Framework | Bootstrap... |
https://moolgogiheart.tistory.com/87
http://tobetong.com/?p=6640