TSBOARD란 무엇인가?
- TSBOARD 는 Type Safety BOARD로, 타입스크립트로 작성된 커뮤니티 빌더이자 게시판입니다.
- 이곳 GeekNews에서 소개된 적이 있는 Bun 런타임을 사용하고, ElysiaJS 라는 웹프레임워크를 이용하여 백엔드를 구성했습니다. 덕분에 일반적인 게시판 엔진 대비 동작 속도가 빠릅니다.
- 프론트엔드에는 Vue 와 Vuetify 가 사용되었습니다. 하지만 개발자의 미적 감각은 섭섭한 수준이기에, 훗날 귀인 디자이너분들의 도움도 받을 수 있지 않을까 하는 희망을 안고 이곳에 글을 쓰게 되었습니다. (+ 당연히 귀인 개발자분들의 도움도 필요하구요!)
왜 만들었나?
- 저는 웹 프로그램을
PHP로 시작했고, 제로보드와 그누보드 시절을 겪은 (이제는 아재) 개발자입니다. - 제 머리 속 마지막 자바스크립트에 대한 추억은
jQuery없으면 쓰레기(...)같은 언어, 정도였습니다. - 그러나 지속적인 표준안 개선과
Node.js의 등장, 그리고 MS의 타입스크립트에 뒤늦게 반해버렸습니다. (사실 너무 늦게 반한 것 같습니다) - 그래서 다시 웹 프로그램을 한 번 만들어보고 싶었고, 늘 만들었던 게시판을 타입스크립트로만 작성해보고 싶었습니다.
- 더불어 (이왕이면) 쓰기 쉽고, 더 빠르고 안전하게 동작하도록 만들어보고 싶어서 만들게 되었습니다.
TSBOARD만의 장점
- TSBOARD는 프론트엔드와 백엔드 모두 타입스크립트로 작성되어 타입 안정성을 최대한 보장합니다. (뭐든 완벽한 것은 없지만, 가장 신경쓴 부분이 타입 안정성입니다)
Node.js기반의 풀스택 개발을 해보신 분들에게는 쉽게 이해되며, 바로 활용 가능한 디자인입니다. 저도 새로 처음부터 배우면서 만들었기에 다른 분들의 모범 사례를 많이 참조했습니다.- 중소규모의 커뮤니티 사이트를 제작하는데 필요한 모든 기능들이 내장되어 있습니다. 개발할 때는 클리앙이나 퀘이사존, 기글하드웨어 또는 최근 새로 생긴 다모앙 같은 국내에 내노라 하는 커뮤니티 사이트들을 참조했었습니다.
단점도 있습니다.
- Bun 런타임은 가상 CPU에서의 동작이 제대로 안됩니다. 저렴하게 사용 가능한 가상서버 호스팅에서는 제대로 활용하기 어렵습니다. TSBOARD도 Bun에 의지하고 있어서 마찬가지입니다.
- TSBOARD는 Client Side Rendering 방식을 사용합니다. 저는 PHP를 여전히 아꼈던 사람으로서, Server Side Rendering 이라는 용어가 되려 생소했었습니다. 여러 장단이 있지만 일단 (저에게) 새로운 방식을 해보고 싶었고, 서버 부담을 줄이는 목적으로 TSBOARD를 개발했기에 이것이 누군가에겐 분명 단점으로 다가올 수도 있을 듯 합니다.
- 사실 개발을 시작한 지는 약 반년이 넘었습니다만, 이제서야 겨우 소개를 올릴 수 있을 정도로 부족한 점들이 많습니다. 이 단점은 훗날 만나게 될 귀인 여러분들의 도움으로 해소할 수 있길 기대하고 있습니다.
마무리 : 언젠가 유명 커뮤니티 사이트들이 TSBOARD를 채택할 날을 꿈꾸며
- 그누보드가 PHP에서 Python으로 넘어가는 걸 보면서 웹프로그램들도 새로운 시도들을 계속해서 하고 있구나, 하는 걸 느꼈습니다. XE에서 탄생한 라이믹스도 그렇구요. 여전히 웹은 역동적이고, 개발도 마찬가지더라구요.
- 저도 작게나마 TSBOARD 프로젝트를 통해서 웹 생태계에 기여하고자 하는 마음으로 소개글을 남겨봅니다.
- 언젠가 새롭게 탄생할 커뮤니티 사이트가 TSBOARD를 채택할 그 날을 꿈꿔봅니다. ㅎㅎ
긴 글 읽어주셔서 감사합니다!