안녕하세요? @asbear입니다. 제가 요즘 자꾸 툴을 만들어서, 쟤 한가한가? 뭐하는건가? 싶으실겁니다. 사실 제가 아주 오랫동안 서버 개발만 하다가 제작년부터 프론트엔드쪽을 손대게 되었는데요, 15년만에 다시 접한 웹 기술은 정말 상전벽해 라는 말이 딱 맞을만큼 엄청나게 바뀌었더군요. 프론트엔드가 이렇게 많이 발전하고 나니, 서버부터 프론트엔드까지 손대는것도 재미 있고, 그 기술 범위가 굉장히 넓어 하나하나 익히는 과정도 재밌어서, 어두컴컴한 서버개발 세상에서 탈출하여 풀스택에 뛰어든것을 제 평생 소프트웨어 엔지니어 커리어 중 가장 잘 한 결정이라 생각하고 있습니다.
처음 AngularJS를 접했을 때, 진짜 감동했습니다. AngularJS는 구글에서 만든 웹 UI 개발 프레임워크 입니다. 제가 알고있던 웹사이트 코딩의 상식을 완전 뒤엎고 새로운방식으로 개발하는것에 재미가 들려 쓸데없이 이것 저것 만들어 보고는 했지요. 낮설은 코딩 스타일도 차츰 적응해 가면서, 개인 프로젝트에 사용해보고는 했었는데요, 사실 AngularJS도 왠지 모를 답답함이 있었습니다. 프론트엔드 UI 개발에 프로그래밍적인 요소를 많이 녹여낼수 있기는 했지만, 뭔가 아직도 C/C++만 죽어라 하던 꼰대(?) 같은 저에게는 여전히 너무 뭉툭한 툴같은 느낌이 들었습니다. 그래서 꼭 필요하지 않다면 안쓰는 쪽으로 기울곤 했습니다.
그러다가 올해에 Amazon으로 이직하면서 React를 처음 사용하게 되었습니다. React는 Facebook이 개발한 웹 UI 개발 프레임워크(라고 하기엔 조금 부족합니다만) 입니다. 진정 신세계입니다. 호불호가 있다고는 하지만, React는 정말 웹 개발 패러다임을 완전히 바꾼것 같습니다. 일단 저에게는 최곱니다. 머리로 생각하고 계획한것을 "재사용 가능하고 구조적이며 유지보수가 쉬우며 고성능"으로 만들어내는데 이만한 방식이 또 있을수 있을까 싶습니다. 차세대 웹 프론트엔드 UI의 표준 기술이 된다 하더라도 이상하지 않을것 같습니다. 아직 vue.js를 해보지 않아서, 강력한 주장을 하기는 이르지만, 두 기술의 개념이 비슷하니, 제 생각은 크게 달라지지는 않을 것 같습니다. React를 알고 난 후 부터는, 아무리 작은 웹페이지를 만들더라도 React를 꼭 쓰게 됩니다. 백엔드 프레임워크가 없을땐 브라우저에서 Babel을 이용해서라도 씁니다. 이건 AngularJS를 쓸때와 비교해서 정말 큰 차이점입니다. 기술의 원론적인 장단점을 다 떠나서, "쓰고싶은 기술"이라는 것은 엄청난 장점이라고 생각합니다.
이런 이유로 ReactJS로 웹상의 "기능적인" 뭔가를 만드는 과정이 "즐길만한" 일이 되었고, 그와 더불어 SteemJS 와 함께 뭔가 의미있는 기능을 하는 툴을 만드는것이 신선하게 다가옵니다. 왜냐하면 SteemJS를 사용하면 제가 서버사이드 쪽을 건드리지 않아도 어떤 의미있는 동작을 수행할 수 있기 때문이죠. 사용자 정보를 가져오고 통계를 내고, 송금을 하고 하는 것들을 오직 SteemJS 만으로도 수행이 가능하다보니 React의 구조적인 접근과 맞물려서 시너지 효과를 내는 것 같습니다.
제가 React + SteemJS로 만든 툴 두개입니다. 구경 해 보세요 ^^
SteemMe: 나의 스팀잇 라이프를 적나라하게 까발려보자!
http://soboru.co.uk/steemme/
SteemLit: 재밌고 편하게 스팀달러를 나눠줘볼까~
https://ianpark.github.io/steemlit/
조만간 SteemMe도 githubio로 옮길 계획입니다. 현재 nodejs에 돌리고있는데 https 셋팅하기 싫어서 그냥 옮기려고 하는중입니다. SteemLit은 Active Key를 넣는것때문에 많이 쓰이지 않을것입니다만, 인증 등의 문제는 차치하고 일단 만들고 나중에 접목할곳을 찾을 계획입니다. 앞으로는 Redux 등의 기술을 추가하여 몇가지 툴을 더 만들어 볼 생각입니다. 정말 생각같으면 Steemit 같은 사이트를 만드는것도 별로 오래 안걸릴것 같은데, 이미 있는걸 또 하는건 재미없으니.. 활용도가 떨어지더라도 새로운모듈을 만드는게 재밌겠죠. ㅎㅎ
모두 좋은 하루 보내세요. ^^