니미 개좆같은거 앱개발 진짜 괜히 배웠나 싶다


혼자 앱개발하다가 너무 화나서 글씀


iOS만 하고 있음



1. 돈 안됨


정확히 말하자면 돈이 되긴 하는데 돈 받을만한 퀄리티로 만들려면 한달 갈아넣어도 쉽지 않음


딱 볼때 너무 간단하고 쉬워보이는 앱도 내부 로직은 생각보다 굉장히 복잡하기 때문에 "어? 1주일이면 개발하겠네" 싶었던것도 어느새 2주.. 3주.. 그렇게 한달을 맞이하게 되고 그때쯤이면 근성으로 붙잡고 있는 내자신을 발견하게 됨



2. 돈주고 앱을 산다?


윈도우, 오피스, 포토샵 같은 프로그램들도 돈쓰기 아까운게 사람 심리인데 고작 개인 개발자가 만든 앱을 돈 주고 살 사람은 정말 몇 안될거임


보통 앱스토어에 진짜 쓸만한 앱들 보면 러시아, 미국, 중국 애들이 만든 앱들인데, 그런 앱들도 비싸봤자 10달러가 안 됨. 그 이상 가격 나가는 앱들은 대부분 회사가 만든 앱들이라 개발자 이름에도 법인명이 박혀있는 걸 볼 수가 있을거임. 기능이 조금만 복잡해져도 개발 소요 시간은 개월, 년 단위로 늘어날건데 월급으로 따지면 말 안해도 알지?



3. 혼자 만들기 너무 힘들다


우선 기능 구현하는것만 해도 생각보다 굉장히 힘들다.


0. 아이디어 구상 및 기획, 수정

사실 이게 제일 중요한 것 같음. 구상부터 막혀서 아무것도 못하다 때려치는 사람이 안그런 사람보다 훨씬 많을걸?


1. 본인 앱의 핵심 기능 구현

이거 다 했으면 그때부터 시작이라고 보면 된다. 앱의 기능 따라 필요한 지식도 천차만별이긴 한데 일단 이거 할 줄 아는 것부터가 대단한거지 싶어.


2. iOS, 정확히는 아이폰이나 아이패드 등 기기 고유의 기능과 작동 방식을 고려한 조건문과 에러 핸들링 (여기서 시발 개토나옴...)

하드웨어 기능을 이용할거면 (ex. 애플워치 심박센서, iPhone6 이상부터 탑재된 기압센서, iPhone8 이상부터 탑재된 IR센서 등) 더욱더 복잡해짐.

안드로이드로는 아마 머리 터지는 수준일거임. 근데 이런 에러핸들링을 제대로 안하면 그냥 앱이 크래시가 나고, 그에 따라 앱 별점도 박살날거임. 구매 목록좀 지워달라는 리뷰들도 넘치는데 유저한테 경고 하나 없이 앱이 팍 꺼지면 진짜 심각할거 아니냐.

그리고 iOS 씨발년은 뭐이렇게 요구하는게 많은지 개발하다보면 내가 개발을 하는건지 서류작업을 하는건지 모르겠음. 강력한 보안과 유저중심의 간편함은 그만큼 누군가 희생하기에 가능한 것 아니겠니?


3. 코드 정리 및 주석

생각을 아무리 많이 해도 코드 정리는 하게 되어 있다고 봄. 또 그렇게 코드 정리 하는 과정에서 발생하는 짜잘한 오류들 수정해야함.

개인적으로 코드 정리 해야하는 이유는 확장성을 위해서라고 생각하는데, "혼자 개발하는데 무슨 코드 정리냐" 할 수 있겠지만, 일주일 정도 뒤 다시 코드를 보고 하나도 기억이 안날 때 코드 정리와 주석의 중요성을 몸소 깨닫게 될거임. 개인 개발은 사실 개인 개발이 아닌 지금의 나와 미래의 나의 협업이라고 보는게 맞다.


+. 버전 컨트롤

이정도까지 할 줄 알면 솔직히 개발자로써 갖출 건 다 갖췄다고 볼 수 있다. 깃허브같은 버전 컨트롤 시스템 없었으면 어땠을까 상상도 안 간다.

그리고 애플 개발자면 Xcode beta 깔아서 iOS .x버전 대비해보려 한 적 있었을건데... Xcode도 별로 좋은 평은 못 듣는데 Xcode beta 이건 더 불안정해서 개발보다 IDE공부를 더 많이 하게 됨. 써드파티 라이브러리 쓰면 더욱더 답이 없음. 그러다보면 주객전도된 현 상황에 깊게 현자타임이 온다. 쉬발련... Swift 5 나와서 벌써 또 한숨 나온다..


이러한 과정을 거쳐 고생해서 앱의 뼈대를 구축했으면 이제 디자인을 해야함

0. UI/UX 구상

난 이게 제일 어렵더라... 근데 앱이 못생기면 손이 잘 안가기 때문에 어찌 보면 디자인이 기능보다 더 중요함. 어떻게 해야 감각있게 만드냐? 난 아직도 잘 모르겠음. 디자인도 깊게 공부해야하나 싶다.


1. UI/UX 구현

CSS 배워본 애들은 알겠지만 간단한 것까지는 어느정도 하겠는데, 조금만 디자인이 복잡해지기 시작하면 원하는 대로 구현할 수가 없는 상황이 와버림. 이때부터 분노게이지가 매우 상승한다. "대충 래스터 이미지 넣어서 만들면 되는거 아니냐" 싶은 것도 기기별 해상도라는 것을 고려하기 시작하면 또 좆같아지기 시작해서, ??x??px 크기별로 만드는게 너무 화가 나다 보면 그냥 벡터 이미지로 만들까 하는 고민을 하게 됨.


2. 기기별 해상도, 로테이션 고려

사실 이건 많은 상용앱들도 그냥 방치한 상태인 경우가 많음. 나 개발 시작하기 전에 아이패드에 배달의 민족 깔았을 때 존나 못생긴 아이폰 전용 화면 뜨길래 "에이 배민 쉬발롬들 이런것도 제대로 못만드나" 했었는데 지금은 너무 공감해서 눈물이 남... 얼마 전에는 또 카톡 아이패드용이 출시돼서 앱등이들이 쾌재를 부르지 않았냐? 이 기기별 해상도와 로테이션을 고려하는게 진짜 정말로 힘들다. 그래서 안하는 앱들이 더 많음. (물론 대다수의 유명한 상용 앱들은 디자인 일관성을 유지하기 위해 일부러 안하는 부분도 있음)

이번에 갤럭시 폴더블, 홀디스플레이 나온거 예쁘더라? 안드로이드 앱개발자들은 또 씨발거리며 개발해야겠지... 개발 안해? 그럼 수려하지 않은 UX를 유저에게 선사한 죄로 별점 1개에 "앱이 너무 못생겼어요. 다른 앱은 지원하던데 이건 아직인가봐요." 라고 적힌 리뷰를 받아볼 수도..


3. 완성

플레이 스토어는 잘 모르겠고 앱스토어 심사는 애미가 뒤진걸로 유명함. 근데 생각보다 그렇지는 않을 수도 있음. 여기서 내가 찾아내지 못한 부족한 점이나 에러를 찾아서 수정 보완할 수 있기 때문임. 앱 개발에 마음은 지쳤는데 심사 거절까지 여러번 당하면 (특히 모호한 이유로) 그 날은 속쓰려서 잠도 못자고 약국가서 겔포스 사와야함



이렇게 힘들게 앱을 만들어서 플레이 스토어나 앱스토어에 제출해도 한달 밥값도 안 나오는 경우가 정말 많아.



그럼에도 불구하고 앱개발을 배워서 좋은 점


1. 임베디드OS부터 시작하는 것보다는 낫다

안드로이드와 iOS가 있어서 그래도 다행이야... 근데 임베디드OS를 건들겠다는 거는 하드웨어를 만들겠다는 방향인거라 개인 개발자에게는 꿈의 영역이라고 생각해. 아두이노나 라즈베리파이 같은 오픈된 임베디드OS가지고 맛폰의 수려함을 따라잡을수나 있겠음?


2. 앱을 존중하게 됨

단순한 기능을 가진 앱도 무시하지 않게 됐다. 근데 이거는 좋은점인가?

그리고 광고 좆같았는데 요즘은 앱에 광고다는 것도 이해가 감. 그래도 난 못 달겠더라... 영화 소셜네트워크 보면 작중 에두아르도 세브린이 마크 주커버그한테 초기 페이스북 자금 충당을 위해 광고를 달으라고 제안하는데 주커버그가 "광고는 쿨하지 않아"라고 하는 대목이 있음. ㅇㅈ?


3. 4차 산업혁명에 대비할 수 있게 됨

원래 스마트폰 잘 안 썼는데 개발하고 좀 배우고 하다 보니 괜찮은 앱들 뭐있나 찾아보고 그러게 되더라. 2015년쯤부터 빅데이터니 블록체인이니 인공지능이니 뭐니 뜨기 시작해서 공공데이터 API도 개방하고 하던데, 그거 어느정도 활용할 줄 알고... ??? 시발 사실 쓸데도 별로 없음. 4차 산업혁명 거품 아니냐?



앱개발을 배운걸 후회하는 점


1. 노력 대비 돈이 안됨

내가 전공이 공학쪽이 아니라, 이거 배우려고 쌩초짜부터 시간 날때마다 틈틈이 해서 한 2년 꼬라박은 것 같은데... 다른거 할걸 시발

swift 아다 뗄 때는 돈벌 생각에 기분 좋았었는데 현실을 알고 나니 힘들다


2. 생각보다 너무 힘듬

개발자 될 노력으로 다른거 하면 더 크게 성공할걸? 내 생각엔 법이나 메디컬계열보다 공학, 특히 컴공쪽이 공부할게 훨씬 더 많은 것 같거든.

그렇게 힘들게 공부해서 얻은 지식을 기반으로 뭔가를 개발해서 완성해내는건 더욱더 힘들고.


3. 플랫폼에 종속되는 것

안드 배우면 안드 플랫폼에, iOS 배우면 iOS 플랫폼에 지식이 종속되는 것이 큰 문제라고 봄. iOS는 Obj-C, Swift 같은 애플만 쓰는 씹마이너 언어 쓰니까 말할 것도 없고, 안드는 주 개발 언어가 Java였을 땐 빠져나갈 구멍이라도 있었는데 요즘 코틀린 나와서 큰일난거 아닌가 싶다. 새로운거 나오니까 무조건 배워야할 것 같고 기분이 너무 좋냐? 해야하긴 하지만 깊숙히 들어갈수록 전문성을 얻는 동시에 퇴로가 차단된다는 점 꼭 알아둬. 혹시 석박사 하고있는 애들 있냐? 그럼 이 말이 이해가 갈지도...