본문 바로가기

IT/개발이야기

하이브리드앱 개발기

반응형



지난 초여름부터 두달간 동덕여대 도서관 예약시스템 개발에 참여했다.

요구조건은 웹, 모바일, 키오스크(현장) 상에서 도서관자리를 예약하는 그럼 시스템이었다.

개발자 출신 부장4분이서 내놓은 개발방향은 키오스크 같은 경우에는 기존 회사솔루션이

C로 개발된 에이전트 클라이언트에 플래시를 올려서 돌리자여서 내부에이전트시스템은 그대로 활용하고

프론트단 공수만 가져가자 였고 웹은 기존 솔루션으로 해결이 안되니 DB부터 프론트단까지 새로 다 개발하고

모바일은 모바일웹형태로 만들어서 모바일브라우저, 네이티브앱에서 동시에 돌아가게 하자는 거였다.


모바일웹과 안드로이드 모두를 개발해보신분들은 알겠지만 기본 웹과 모바일웹의 차이도 크고 모바일웹과 모바일웹앱은

크나큰 차이가 있다. 상황에 따라 코드가 전혀 달라져야 될부분이 많은데 프로그램하나로 모든 플랫폼에서 문제없이 돌아가자니...

이건 무슨 개떡같은 소리인가..


첫 개발회의가 끝나고 안드로이드 개발자와 모바일웹개발 담당을 맡은 나는 2시간동안 회의를 통해 근거자료로 모바일웹과 모바일웹앱 버전의 코드를 동시에 가져갈수없으니 하나만 선택해야된다고 했다.


부장님 왈 요구상황에 모바일웹과 앱이 모두다있다 두개가 같은거 아니냐 나는 이해가 잘안된다 라고 하더니 반응형웹을 지금 당장

네이티브로 하나짜서 가져와보란다 그래서 네이티브에 기존회사 반응형웹하나를 웹뷰로 띄워서 가져갔다

몇번 눌려보시더니 봐 문제없자나 라고 하신다...


그래서 이건 애초에 그냥 반응형웹일 뿐이지 우리가 만드려고하는 앱의 기능을 넣은 코드는 이렇게 모바일브라우저에서 동일하게 동작될수없다 라고 했다 중소기업의 한계인지 크나큰 오류가 없으면 일단 개발하란다 뭔 말도 안되는 소린가 싶지만 까라면 까야하는게 월급쟁이 아닌가...


자.. 프로젝트 기간은 한달반! 퍼블리셔가 있긴하지만 스크립트코드는 1도 모르는 그냥 디자이너 한명, 안드로이드 개발자 한명 우리는 3개의 플랫폼에서 오류동작없이 완벽히 동작하는 새로운 시스템의 프로그램을 만들어야된다. 


1주차 

에셋없이 기초 프론트코드를 구조를 나누고 안드로이드 개발자와 말도안되는 기능이 들어있는 목업을 보며 심오한 고민을 하게된다. 


2주차 

기존 하이브리드 프레임워크는 쓰면 안된다는 부장나으리들의 강력한 주장! 하이브리드 프레임워크가 들어가면 모바일브라우저에서 문제가 많단다... 그리고 현재 퍼블리셔가 개발중인 CSS는 모바일웹용으로 개발되고있단다. 

어짜피 두플랫폼을 커버치는건 불가능 왜 저러나 싶었지만 개발새발 욕하면서 네이티브단과 프론트단, 서버단 통신 라이브러리를 새로 정의한다... 맨날 야근...


3주차

그디어 에셋을 전달받았다. 이게 무슨 모바일용에셋이냐... 비율도 다깨지고 기본 자바스크립트 개념이 없는지라 ID값,NAME값도 CSS가 다써버렸다. 이 상태로 개발불가라 판단... CSS를 다시 짠다.. 자 앱에 입혀보자... 반응속도가 이상한데!!??

WAS단에서 response 다 압축처리해서 보내는데 왜이러지? 로고파일 하나가 용량이 200MB ㅋㅋㅋㅋㅋ 아이콘들 기본 용량이 50MB가 넘음

바로 퍼블리셔 과장에게 달려간다.

"저기 과장님 이거 용량이 너무 큰데요..."

"왜요? 문제없는데?"

"용량좀 줄여주세요 모바일에 이렇게 큰용량은 리소스가 너무커요..."

"네 제가 해서 보내드릴게요"

"알겠습니다"

-- 하루 지남

"과장님 디자인 수정버전좀 전달해주세요"

"네 잠시만 기다려주세요"

-- 하루 또 지남

"과장님 디자인요"

"아 잠만요"

-- 4시간 뒤

"과장님 디자인"

"드렸는데요?"

!!@!@????? 무슨 뚱딴지 같은 소리냐

"어디다 보내셨는데요?"

"클라우드에 올려뒀어요!!"

자 그래서 사내클라우드에 들어가서 보니 작업폴더에 도저히 보이지가 않는다 휴

리눅스개발서버 접속에서 클라우드 관리자 권한 돌리고 관리자로 들어가본다.

클라우드 서버 디자이너 개발폴더에 떡하니 들어있네... 허허 

싸워봤자 뭐하냐 파일 긁어다 개발한다..

이분 정말 모바일퍼블리싱을 해보신건지 궁금하다.. 

CSS, JS, 기타 에셋 파일들을 압축처리하고 3주차 마무리


4주차

어느 정도 화면 개발은 끝나가고 추가되는 요구사항을 처리중이다.

개발 중간 리뷰를 들어갔다. 모바일에서 일어나는 각종 터치 및 슬라이드 동작들에 대해 설명하며 이런 동작에 대한 처리들이

모바일웹과 모바일웹앱이 기본적으로 틀리다는 것을 말하고 현재 요구사항 기능들의 대부분이 네이티브단에서 돌아가야하는 기능들임을 다시한번 강조했다. 와이파이와 NFC로 출석처리를 하고 QR코드인식 처리 하는 것들을 구현하기 위해 애초에 그들이 네이티브로 제작하라한것임.. 그래도 대화가 통하지않는다 그냥 듣기가 싫은건지 나중에 무슨 소리를 할지 궁금하다. 다이어리에 회의록 다써둬야지..

그리고 데몬서버 푸시서버 개발에 대해서도 언급하니 현재 개발단에서 고민할 부분이 아니라며 언급을 일축시킨다.

그럼 대체 언제 서버를 만들고 클라이언트 코드를 짜고 API를 만들고 테스트를 해보자는 건가...

"안드개발자님 저희 일단 기능구현은 어느정도 처리 된것 같은데 제가 다음주까지 데몬푸시서버 만들어드리겠습니다..

일단 뭐라도 만들어서 구조가 있어야 나중에 대응이 되겠죠..."


5주차

데몬서버를 만든다... 회사 개발서버는 전부 Windows 본인 노트북에 리눅스서버 세팅 기초 데몬스크립트를 만든다

새로나온 파이어베이스(firebase) API로 푸시메시지 기능을 JAVA로 짠다. 자동수동 수발신 웹을 하나 만들고 DB를 만든다.

네이티브와 동작테스트, 기존서버와 통신테스트 문제없다... 휴

맨날 야근


6주차

개발 마무리 단계다.

역시 다들 알듯이 이쯤되면 집을 옆으로 10CM만 이동하자는 얘기가 나올때다. 그렇다.

와이파이 기능이 빠지고 블루투스 기능이 추가되고 QR코드로 사물함도 열어야한다. 

기능변경으로 새로운 에셋도 떨어졌다. 멘붕이다.


7주차

이 회사는 테스트기간 같은건 없다. 납품 전날까지 개발이다.

테스트기간은 전혀 고려하지않는다. 일반 웹은 개발이 끝났단다. 모바일쪽은 뭐하냐고 묻는다.

퇴사충동이 마구마구든다.

일단 변경된 에셋에 맞게 새로 프론트코드 다뜯는다. 아까 말했듯이 CSS 개판이다. 내가 CSS를 다시짰었는데

예전 퍼블리셔가 만든 버젼에 수정된 버젼이 넘겨져왔다. 그럼 CSS도 다시 다 짠다.

1,2주차에 했던 프론트 작업을 다시 다했다. API서버 코드도 개발한다.

야근 또 야근 9시퇴근하고 집에와서 도저히 잠이안와서 11시에 다시 출근 

구로의 등대라는 넷마블을 바라보며 다시 회사로 들어간다. 밤새 개발

다음날 출근하니 회의하잔다 회의에서 나온 말 


"푸시기능은 동작 잘되냐?"

"푸시서버구현은 아직 언급하지 말하하셔서 테스트용으로 살짝 개발해뒀습니다"

"데몬서버냐?"

"네 뭐"

"그래 그걸로 납품하자 모바일웹은 잘되냐?"

"모바일웹에서는 구동할수없습니다. 코드가 달라져야됩니다. 다른버전으로 새로개발해야됩니다"

"그게 뭔소리냐"


퇴사하자

도저히 상식밖의 프로세스 이해 할수없다. 

참고로 난 이 회사에서 입사 3개월차에 십몇년간 유지되어왔다 회사 솔루션 프레임워크를 나홀로 교체했다.

자바웹프레임워크 Struts1 자바 계열 MVC 웹프레임워크로는 거의 시초에 가까운 Struts1이다 2도 아닌...

이번에 인천공항 제안서가 들어간다 전자정부프레임워크 할줄아는 사람있냐

회사에 Spring을 해본사람은 나혼자

맨날 야근하며 토비스프링책이 걸레가 될 정도로 보았고 중국, 인도, 미국 안들어가본 웹사이트가 없을만큼 구글링통해

바꿔놨다. 어느 누구도 도와주지않았고 개발프로세스도 정해주지않았고 혼자 개발기간정하고 개발, 테스트까지 마무리했다.

그래도 내 실력이 늘었으니 만족해 라며 즐겼다.

그런데 이번 프로젝트는 정말 이 회사에 대한 정이 모두 떨어졌다. 

개발자의 얘기는 1도 듣지않고 막무가내식 기간산정 개발요구 적당히 라는게 있는데 난 여기서 더이상 빛을 볼수없을것같다

또 추가로 연봉도 기존에 약속했던것과 같지 않았고 맨날 다음달에 올려준다는 얘기만 했다.


그리고 나는 퇴사를 했다.

때마침 좋은 조건으로 다른 회사에서 오퍼가 왔고 이직을 하게됬다.

퇴사한다고 말하니 그제서야 웃으며 바로 이번달부터 연봉 200올려준단다. 

필요없다. 개발자를 그냥 일회용품으로 보는 회사에서 어떤 희망을 가질수있을까

개발팀장은 좀더같이해보자고 끝까지 설득하더니 속내를 들어낸다...

니 심정 충분히 이해한다고 가서 잘하고 잘해주지못해 미안하다 하신다.. 나도 팀장에게 나쁜마음은 없다

잘챙겨줘서 고마울뿐

개발은 기능 개발은 다해주고 나왔다.



추후 들은 얘기는 마감기간이 지나고 결국 납품은 완료되었고

안드로이드 개발자는 내가 나오고 보름뒤 권고사직으로 퇴사당했단다

실력이 없는 분이 아닌데 나름 이바닥저바닥 다굴러보신분인데...

단지 부장개인의 보복성 퇴사였을 것이다.


결국 

모바일웹은 못했다고 한다

반응형