HTML5
1. 웹사이트를 만드는 마크업 언어로써 가장 쉽고 대부분 언어인줄 모르고 많이들 쓴다. 가령 <img src ="image.jpg"> 이런거나 Youtube 나 Vimeo 링크 딸때 <iframe 어쩌구> 하는 그런걸 말한다. 암튼 이것만으로는 스마트폰 앱이라 불리울 수도 없고 싸파리나 인터넷접속 후 웹앱 정도로 보는(웹사이트인데 앱처럼 작동되는) 수준밖에 안된다.
2. 푸쉬알람기능이 불가능하다. 연출이 네이티브 앱처럼 가능하긴한데 뭔가! 네이티브 같은 느낌은 절대 구현할 수 없다.
3. 웹사이트 개발 레벨이기 때문에 한번 만들어 놓으면 어떤 스마트폰에서도 똑같이 보인다. 특별한 타겟팅 재개발 따윈 필요치 않다.
4. 안드로이드의 경우엔 덜한데 iOS의 경우 업데이트될 때마다 개병신처럼 보일 수 있다.
5. 어쨋든 이건 "앱"이라고 불리울 수 없다. (일반인들에게)
다음은 HTML5를 진짜 앱처럼 만들어주는 PhoneGap (처음 나의 시도는 이녀석이였다)
1. HTML로 한번만 만들면 진짜 앱으로 토출되긴 하나 애플 앱스토어에 올리려고 하면 빠꾸먹는 일이 비일비재.
2. 앱 입장에서 볼 때는 외부 서버와의 통신이 원활하다. 웹사이트와 서버 간의 데이터 송수신만 할 줄 알면 간단히 끝.
3. 문제는 서버사이드쪽 개발이 복잡해진다는거.
4. 게다가 웹사이트 개발언어로만 스마트폰 네이티브(틱한)앱을 만들고자 한게 이 방법의 취지임에도 불구하고!!! 결국에는 약간의 네이티브 언어를 추가해야하는 경우가 생긴덴다.
5. 네이티브앱에 비해서 무거워지지만 들어가는 시간과 비용대비 비교할 수 없는 장점이지.
6. 사후 관리(업데이트등)가 힘들어지고 파이날 퀄리티가 네이티브에 비해 떨어지는 것 역시 부정할 수 없다.
Unity3D 유니티... -_-;;
1.게임을 만드는 툴이다. 그러나 이걸로 게임 만들 생각은 없었으며 앱을 만들고자 했다. 그 이유는 이거 하나면 자바스크립트 하나로 모든 환경에서 돌아가는 앱을 만들 수 있다 생각했으니까.
2. 하지만 현실적으로 기능에 비해 와이파이 연결설정이 되어 있지 않은 곳에서 다운받을 수 없는 크기의 앱이 토출되는 문제가 발생.(엄청 커진다!)
3. 기능에 비해 로딩이 생기고 느려진다.(게임기능이 없는데 해당 라이브러리나 최소 필수 컴포넌트는 들어가기 때문)
4. 결국 이러다 게임을 만들겠다 싶어서 잠깐 게임 기획을 했으나 1인 스튜디오로 경제적 승산이 없다 판단. 모터스포츠 보다 많이 벌 확률이 적어서 Drop!
그러다 발견하여 요 며칠 매드니스였던 Xamarin
1. 비주얼 스튜디오 처럼 잘 만들어진 개발환경도 있고 C# 하나만 알면 아웃풋도 진짜 네이티브 앱이 나온다. 그러나 아직 완벽하다고 볼 수 없는 이유가 실제로 아웃풋을 만나보면 용량도 커지고 실제 네이티브 앱같은 느낌이 나지 않는다. 자원관리나 디바이스에 대한 접근에 대한 문제 역시 제한적이라 좀 더 기다려봐야 할 솔루션.
2. iOS를 개발하려면 결국엔 Mac 을 사야하는건 마찬가지
3. 자마린의 가장 큰 문제라고 지적 당하는게, 자마린 내에서는 코드의 재사용성이 훌륭하지만 자마린 안에서만 통용되는 말이라고 한다. 즉, 그 코드가 외부 솔루션에는 아예 쓸모 없은 코드가 되어버림.(기본적으로 C#이다. 자바도 아니고)
4. 그 결과, 구글 등에 소스가 별로 없다. 사실 이게 내가 자마린을 버린 가장 큰 이유. 개발자는 자고로 구글에서 모든 정보를 얻고 개발 테크닉을 배우게되는데 구글에서 뭐하나 찾는데 시간이 걸린다면 그것만큼 헤비 코스트가 없다. 이것은 스스로 책보고 공부한다고 해결될 문제가 아닌 문제다.
5. 또한가지 자마린이 망작느낌이 나는 이유는 이 마져도 결국엔 안드로이드 개발언어인 JAVA와 아이폰 개발 언어인 오브젝트C를 알아야한다는 것이다. (-_-....)
6. 추가적인 단점은 이 솔루션은 월단위 돈이 나가며 비싸다.
자 이제 마지막으로 네이티브 앱.
1. 개발비용은 애플은 라이센스 비용만 1년에 12만원 정도, 안드로이드는 돈이 안들고 마이크로소프트는(개발할 일이 있을까 싶지만) 정식으로 돈 다주고 사면 뼛속까지 빨아먹는 구조라고 한다.
2. 각자의 언어들에 최고의 지원을 하는 편. 아이폰 개발하고자 하는 사람들에게 주어지는 툴과 그 언어에 대한 지원, 마이크로소프트도 마찬가지로 비주얼 스튜디오와 개발지원 등. 즉, 상식적으로 아는 그 앱을 만들 수 있다. 단, "그 플랫폼 안에서만 구동되는" 이란 조건 하에.
3. 상호간 언어적 호환성이 거의 없기 때문에 똑같은 앱을 만들어도 아이폰, 안드로이드는 완전히 다시 만드는 수준이 될 수 밖에 없다. 호환이 되는건 객체지향언어라는 개념뿐.
4. 각각 지역구에는 구글등에 엄청나게 많은 샘플과 자료들이 존재하고 다 만들어진 앱의 완성도는 그야말로 "네이티브"이기 때문에 두말할 여지가 없다.
결론이 뭐냐면.
결국 모두 다 공부해야한다. 꼼수 부리지마라.
...
..
.
라고 결론 내긴 좀 아쉬우니까 평을 좀 하자면...Android VS iOS 판세를 보면 향후 5년 이내에 둘 중 하나가 무너질 가능성은 제로다. 더욱이 이 둘을 통합할 가능성은 더더욱 없으며 특히(내 생각에) 애플 쪽이 더 외딴 섬으로 노를 저을 가능성이 높다. 심지어 자기네 개발언어였던 오브젝트C까지 집어 치우고 이번에 새로운 언어를 또 출시했을 정도니까. 보안적인 문제나 앞으로 스마트폰이 항상 이모양대로 갈 가능성도 크지 않기 때문에 결국 한 가지 접근법으로 서로 다른 모양의 디바이스를 제어한다는것은 솔직히 쉽지 않은 시도라고 본다. (물론 나는 그것을 이 세상의 IT 대천재들께서 해결해주실꺼라 믿었다 씨팔놈들아 배신자들) 최소한 자바스크립트 하나로 지구정복이 가능할꺼라 믿는 나의 신념은 조금 약해졌을 뿐이다........(....) 앱 개발비가 나름 그래도 안드로이드, 아이폰 각각 수천만원 단위인게 이해가 간다.
또는 좀 덜 완벽한 앱을 만드는건 어떤가 싶기도한데, 뭔가 대단하지 않아서 싫다. 이 세상에 없는걸 만드는데 버그는 인정해도 대단한 느낌이 없는건 별로야. 지구를 정복한 윈도우도 블루스크린이 뜨는 것을 막을 순 없지 않았던가. 어쨋든 단일 언어로 모든 것을 개발할 수 있다는 것이 헛된 꿈이라는 것을 알기까지 1년이 걸렸다.
'Programming > Etc' 카테고리의 다른 글
게임 개발 성과 측정 프로젝트 마지막편: 위대한 팀은 어떻게 일하는가? (0) | 2015.04.15 |
---|---|
What is a tight loop? (0) | 2015.02.27 |
git update-index --assume-unchanged (0) | 2015.02.10 |
GitHub 를 이용하는 전체 흐름 이해하기 #1 (0) | 2015.02.07 |
GitHub 를 이용하는 전체 흐름 이해하기 #2 (0) | 2015.02.07 |