알라딘에서 만든 창작 플랫폼 투비컨티뉴드 https://tobe.aladin.co.kr/Home
구독중인 뉴스 레터에서 이 사이트를 알려줘 찾아봤다. 습관적으로 개발자 도구를 열어 어떻게 만들었는지 봤는데 으익?? 이거 처음보는 스타일인데?
일단 곳곳에 react라는 단어가 보이니 react로 만든 것 같은데 구조가 번들링된 파일을 가지고 있지 않다. 아래와 같이 jsx 파일들을 그대로 첨부하고 있음.
<script src="/ViewsReact/Tobelog/Common/Modal.jsx"></script>
<script src="/ViewsReact/Tobelog/Common/Toast.jsx"></script>
이거 어떻게 만든거지? 너무 낯설다. 헤더값을 보니 react.production.min.js, react-dom.production.min.js 같은 파일들을 참조하고 있다. juqery 코어 파일도 있음. 껍데기를 만들고 react로 화면들을 만들어 삽입하는 스타일인가? 그러다 소스 주석에 ReactJS.net 이라는 것을 찾았다. 사이트가 있다.
아하, C# 또는 ASP.net 에서 react 를 지원해 주는 모듈인가 보다. 어쩐지 너무 특이하더라. 그런데 이거 보자마자 들었던 생각은 개발자 어떻게 구하지?
왜 이런걸 써거 만들었을지 이유를 추론해봤다.
- 백엔드/프론트로 나눠서 구성할 수 없었거나
- asp를 버릴 수 없었거나
- 프론트 개발자를 구할 수 없었거나
- 백엔드 개발자가 프론트까지 풀스택으로 개발해야 했거나
- 서버사이드 렌더링 때문이었거나
- 세션 방식을 유지해야 했거나
여기중에 선택할 수 밖에 없던 옵션이 있었으리라. 계속 찾다보니 세션 방식 때문이었던 것 같다. 프론트/백엔드 나누면 세션 공유 방식은 쓸 수 없으니. 알라딘 메인 사이트랑 세션을 공유해야 해서 이렇게 만들었을 수도 있겠다. 그거 중간에 sso로 처리했으면 됐을텐데.
이유야 어쨌건 기존 시스템도 유지하면서 만들다보니 이런 독특한 구조가 나온게 아닐까 싶다. 그런데 나중에 개발자 뽑으려고 한다면 구조를 바꾸는게 장기적으로 좋지 않았을까?