모듈이나 api도 개발하지만 가장 많은 시간을 웹개발에 할애하는 개발자이자 작은 회사의 대표입니다. 웹개발이란게 파이썬이나 php 닷넷등 백엔드 언어와 자바스크립트와 구식 제이쿼리는 물론 vuejs 리엑트 angular 까지 다양하게 다루지만 가장 많이 사용하는것은 dbms로는 오라클애
백엔드는 자바와 스프링부트, 프론트엔드에선 vue와 부트스트랩을 가장 많이 활용하는듯 합니다. 그런데 요새 기획을 하면서 vue의 컨셉과 스프링 부트의 컨셉이 서로 상충되는것 같아 약간 찝찝 하네요.
vue는 현대의 트랜디함에 맞춰(한국은 아직 관공서나 정부주도 개발이 많아 아닌듯 하지만요) 비동기를 넘어 spa 에 최적화 되어 개발되고 intellij 나 vscode 같은 툴과도 잘 맞아 코딩을 엄청 단순하면서도 강력하게끔 만들어 개발시간을 획기적으로 줄이며 특히 ui개발과 전체적인 성능향상에서 많은 발전을 이루게한 프레임 워크인듯 합니다. intellij에 gradle호 vue를 물려놓고 npm 으로 개발하면 정말 프론트엔드에선 귀찮을게 없어지고 편해지죠.. 그런데 문제는 spring 입니다 물론 스프링도 부트가 도입되면서 jar방식의 배포나 개발자체가 셋팅에선 1/10 수준으로 낮아졌고 코드의 재활용성도 엄청 높아진건 사실입니다. 그런데 타임리프가 얹어진것도 그렇고 동기식에 조금더 힘을 준 느낌 입니다. 물론 spa방식으로 개발 못할건 없지만
그렇게되면 타임리프는 전혀 쓸일이 없어지고 사실상 자바와 스프링을 지원하는 가장 강력한 툴인 intellij (물론 vscode 도 좋습니다) 은 인덱싱 방식이라 스프링과 뷰를 하나의 프로젝트에서 묶고 뷰가 퍼블리싱해 스프링에 배포될때 효율성도 많이 떨어지고 자원도 많이 잡아먹게됩니다. 그리고 그냥 스프링에 타임리프나 제이쿼리 방식으로 개발하는 방식보다 셋팅에서 신경쓸게 많아 집니다(물론 개발자체는 vue 가 압도적으로 편하긴 하지만요)
가장 현재 많이 쓰는 vue나(세계적으로) spring(국내단일로 제한하더라도,)
이기에 더욱 아쉬운 점입니다.
다르게 생각해보면 각각의 프레임워크들이 하도 강력해서
뷰로 개발을 하게되면 백엔드보다는 프론트엔드에서
알고리즘을 처리하는경우가 많고 스프링을 쓰게되면
뷰는 간단히 구성하고 스프링에서 많은 비즈니스로직을
처리하는에 좋으니 서로 어긋나는것은 당연해 보입니다.
그리고 사실 규모가 큰 프로젝트엔 프론트엔드와 백엔드를 분리해 개발하고 git등으로 관리하며 병합을 하던지 혹은
서버자체를 분리해 사용하니 잘 관리된 프로젝트에선
문제가 되진 않지만.. 버전이 지나면서 더욱 단순해지다 부트가 처음 나왔을때 부트론 감당안돼 했지만 지금은 모두 부트를 쓰는것처럼 분명히 현재 불편한 부분이 있는건 사실인듯 합니다.
물론 이또한 지나갈것이고 시간이 지나면 더욱더 효율적인 방법들이 제기되겠지요. 그저 흔한 개발자의 흔한 잡생각이었습니다