그간 스스로 했거나 타인이나 프로젝트로 인해서 하게 된 언어가 몇개가 있다.
언어라기 보다는 플랫폼일 수도 있고..
먼저 cordova, phonegap이라고 해야 하나.
하이브리드앱을 만들기 위해서 이것저것 리서치를 하는 도중에 하나 골라잡아서 개발을 했었던것이 cordova기반이였다.
웹뷰위에서 놀고 몇몇 디바이스 기능을 쓰려면 플러그인을 통해서 브릿지 형태로 자바스크립트와 네이티브가 연동되서 사용이 된다.
꽤 만족했었던 부분도 있고 그렇지 않은 부분도 있다.
허나 느낀점은 사용자가 많아야 하고 많이 쓰는 것을 잡아서 해야 좋다는 생각을 늘 한다.
리서치를 해보아도 내가 원하는 100퍼센트에 꼭 맞는것을 발견하기는 드물고 비슷한것을 찾아서 응용을 하는 경우가 많다.
경우에 따라서는 플로그인 자체의 버그로 업뎃이 되기 까지 기다릴 수는 없는 노릇이라 직접 소스 수정을 한 경우도 있다.
그게 하필 보편적으로 많이 쓰는 푸쉬 관련이라서..
다음 네이티브스크립트.
reactnative와 정말 많이 고민을 했었다. flutter는 막 나오고 있던 시절이라 고려하지 않았다.
개발을 해보면서 당연히 구현에 대한 고민과 러닝커브는 있게 마련이다. 처음 간단히 만들어서 쉽다고 하겠지만 실제 상용 프로젝트에 들어가면 매우 다양하고 복잡해 진다.
그것을 구현해 낼 수 있는가가 문제인데 미리 알기란 쉽지 않다.
다양한 리서치를 통해서 선택을 하게 되었던 nativescript.
안드로이드가 버전이 올라가고 플레이스토어도 요구사항이 신규로 발생하고 하면 과거 개발했던 방식에서 뭔가 추가가 되거나 바뀌어야 하는 부분이 생긴다.
그런 것들도 별 문제 없는지.
커뮤니티나 질답을 돌아다니며 미리 한번 알아본다.
저 사람이 겪고 있는 문제가 나에게도 일어날 일이라는게 느껴지기 때문에.
서너개를 만들어본 후기는 쓸만했다 였다.
물론 개발할 당시에는 왜 이렇게 자료가 없는거야. 내가 쓰는 버전과 예제가 맞나?
하는 등의 많은 고민은 있었다.
리액트네티브를 할껄 그랬나 하는 후회도 들기도 했었다.
하지만 습작으로 진행하는 프로젝트가 아니였고 상용이여서 개발 기간이 있었고 시간은 돈이다.
꾸역꾸역 개발을 하게 되었고 어느정도 마무리는 되게 되었다. 시간을 줄이기 위해서 날새는 일이 많았고 아주 사사로운 코멘트 하나에 의지해서 이리 저리 테스트 해보기도 하였다.
기획서를 토대로 하나하나 짚어가며 이게 구현이 될지 안될지 생각을 많이 하고 조사도 많이 해봐야 한다.
거기에 시간이 들어가고 프로그래머 = 야근 = 날밤을 정말 오래도록 많이 했었기 때문에 무난한 시간에 매듭짓고 싶었지만 그렇게 되지는 않았다.
몇번 하다보니 이제 노하우와 경험이 쌓인다.
그것은 개발속도로 이어진다.
처음엔 설정만 하는데 하루가 걸리고 간단한 레이아웃 짜는것도 시간이 많이 소비가 되었지만 많이 줄어들었다.
나머지야 jquey, css, html를 활용한 퍼블리싱과 약간의 디자인.. 등
하이브리드나 크로스플랫폼으로 앱을 개발하다보면 뭔가 답답함을 느껴서 조금 하다가 그냥 네이티브로 개발을 하게 된 적이 몇번있다.
그래도 여러가지 경험을 해보고 싶어서 꾹 참고 했는데 되기는 되었다.
어느것이라도 비슷하게 구현이 된다면 최대한 빨리 만들어서 시간을 단축 시키는것이 가장 좋다.
올해는 flutter와 파이썬을 좀 해봐야겠다.
원래는 앱 개발자로 앱만 만들고 싶었지만 먹고 살려고 하다 보니 웹사이트도 개발하고 솔루션 가져오면 커스터 마이즈도 해주게 되고 워드프레스도 하고 워프 플러그인 수정도 해주게 되고 자바스크립트도 짜고 변경도 하고 플래시 액션스크립트로 이리 저리 구현도 하고 리눅스 서버 셋팅 관리 등등.
앱도 네이티브로 해보고 하이브리드로 해보고 크로스플랫폼으로 css,js로 만들면 뽑아주고 등등 많은걸 했구나.
그러고 보니 몇년간 정말 잠을 줄여가면서 했던 델파이는 써먹어 본지가 언젠지 모르겠네.
난 깊이가 있나? 풀스택인가? 의미가 있나? 내가 풀스택을 원했나?
잘 모르겠다.
그중에 진정 재밌었던것은 무엇이였고 다시 해보고 싶은건 무엇일까.
남은 것은 무엇인가.
도움이 되었나 물음에는 두가지 질문이 생긴다.
경제적으로 그런가? 스킬적으로 그런가? 후자는 맞는거 같은데...
전자가 충족되지 않으면 그냥 부질 없는것 처럼 느껴진다.다양한 언어와 개발 스킬을 가진 이유도 그러한 부분중 하나이다.
또한 더는 새로운것을 학습하고 싶지 않을 때...
한두개를 깊이 있게 풍부하게 오래오래 해보고 싶었지만 일을 이리 저리 하다보면 늘 새로운것을 접하게 되고 학습하고 만들게 된다.
이전은 재미있었을지 몰라도 가끔은 거기로 인해서 성과가 안나오는 기간이 길어지면 지치게 된다.
그래도 특정 언어 플랫폼을 떠나서 구현이 안되던게 되면 재미있고 노가다를 하던 옆을 보고 편하게 프로그래밍해서 바꿔주고 잘 쓰는 것을 보면 뿌듯하다.
언어도 개발하는 기간이 오래되면 어느것이나 큰 차이가 없어지는거 같기도 하다. 물론 랭귀지에 따른 문법이나 좀 더 깊이 들어가면 다르겠지만.
분명 프로그래밍 dna와 비즈니스 dna는 다른거 같다.
미친듯이 달리다가 잠시 서서 뒤를 돌아본다. 이 길이 맞나 하고