javascript + typescript

[JS] JS/TS 그리고 웹에 대한 개인적인 생각

Razelo 2023. 10. 20. 23:30

 

 

최근 회사에서 웹 프론트 작업을 하면서 JS/TS를 많이 사용했다. 

 

학부에서 두 언어를 거의 써본 적 없었다. 책 한권을 읽고 기본적인 개념을 파악했는데 그것도 시간이 지나서 희미해졌다. 

 

이후 회사에서 업무를 하면서 레거시 프로젝트에는 자바스크립트를, 새로운 프로젝트에는 타입스크립트를 사용했다. 

 

두 언어를 사용하면서 들었던 개인적인 생각을 정리하고자 한다. 

 

자바스크립트를 공부하다보면 신기한 개념을 많이 접한다. 클로저, 프로토타입, this 등 타 언어와 다른 개념이 있다. 때문에 언어가 실용성과는 별개로 어딘가 나사가 하나 빠진 듯한 느낌이 들곤 한다.

예상치 못한 동작이 언어에 포함되어있다. (물론 이마저도 익숙해질 수 있긴하다.)

 

타입이 없다는 단점을 보완하기 위해 타입스크립트를 사용하지만 자바스크립트의 유연함을 얼마든지 끌어다 쓸 수 있다는 개방성은 결국 완벽한 솔루션이 될 수는 없다는 생각이 들었다. (어쩌면 웹에서 처음부터 자바스크립트를 사용했던 것이 문제일 수도 있다.)

 

그래서인지 타입스크립트는 반쪽 자리 해결책이라는 생각이 들었다. 타입 안전성을 보완해주기 위해 나왔지만 오히려 이로 인해 더 많은 공을 들여야하는 건 단점을 커버하기 위해 역으로 더 많은 공수가 투입되는 것만 같았다. 

 

그럼에도 타입스크립트를 쓰는 게 더 좋다는 생각이 든다. 자바스크립트의 모든 문제를 해결한 건 아니지만 더 나은 도구라는 생각이 들기 때문이다. 더 나은걸 지향해야한다는 점에서 타입스크립트를 쓰는 게 좋다고 생각했다. 

 

자바스크립트와 비교했을 때 타입스크립트는 1.3배 정도 나은 수준이라고 생각한다. 100퍼센트 커버한 완벽한 솔루션이 아니며 대체라기보다는 상호운용이 가능한 수준이라고 생각한다. 

 

생태계에 대해서는 많이 놀라웠다. 이토록 생태계가 활발한 언어가 또 있진 않을 것 같다. 새로운 프레임워크가 하루가 멀다하고 쏟아져나온다. 쉽게 쓰자면 굉장히 쉽게 쓸 수 있는 언어라서 진입장벽이 높지 않고 기타 도구가 많이 존재하기 때문에 앞으로 계속 웹에서 굳건히 자리를 지킬 것 같다. 유입되는 사용자도 많고 나오는 기술도 많기 때문이다. 

 

웹어셈블리나 기타 새로운 기술을 이야기하면서 혹여나 웹에서 자바스크립트를 대체할 수 있다고 말하는 걸 몇 번 본 적이 있는데, (웹 어셈블리는 클라이언트단의 혁신적인 변화가 될 잠재성이 있다) 그런 기술들이 자바스크립트 존재에 태클을 걸 일은 없을 것 같다. 오히려 웹 자체가 더욱 복잡해지는 다변화에 기여할 뿐이다. 어쩌면 웹이라는 거대한 생태계 자체가 뺄셈은 없고 덧셈만 있는 공간이라는 생각이 들곤 한다. 모든 기술을 흡수하는 블랙홀 같은 느낌이다. 

 

이래보나 웹의 미래는 밝은 것 같다. 

 

더 나은 기술을 흡수하고 새로운 가치를 만들어내는 장으로써 앞으로도 오랜 기간 기여할 것같다. 

반응형