앱을 기획할때 화면의 레이아웃과 컬러등을 많이 고민한다
기획자는. UI/UX를 고민할때 사용자의 습성을 많이 생각한다. 이때 놓치는 부분이 개발자가 그 UI를 어떻게 구현할까이다. 그냥 내가 그려놓은 화면을 구현하라고 하면 그 구현 방법은 무궁무진하고 개발자마다 그 방법이 다 다르다. 그말은 해당 개발자가 나가는 순간 또한 IOS, Android 간에 문제점에 대해서는 고려하지 않는다는것이다
과거에 버튼이나 뒤로가기 메뉴등의 화면을 폰의 자체 오브젝트를 이용해서 개발하는것이 이쁘다고 생각했다.
최의 애플의 푸른색의 동글동글한 이미지가 이뻐서 안드로이드로 그런 화면을 억지로 만들었던 기억도 생생하다
요즘 어떤 앱에서도 Native 에서 제공하는 버튼이나 기능을 사용하지 않는다. 거의 대부분 디자이너가 만든 인베디드 웹으로 앱을 만들기 때문이다.
서비스에서 필요한 기능은
- 하단/상단/좌측 메뉴
- 페이지 이동시 multiple overlay 형태로 페이지 보여주고 닫기
- 외부사이트 호출(링크로 이동해야 하거나 결재모듈연동)
- 무한스크롤 리스트
- 팝업 모달
위의 기능은 IOS, Android에서 native 로 구현하기 쉽다. 하지만 그런 구조로 만들면 OS 두개의 개발 방법이 달라지는 문제가 있으므로 최대한 javascript 만으로 구현하는것이 좋다
단, 3번에서 결재페이지의 경우는 부득이 앱에서 외부 페이지를 열어주는방식으로 개발해야 한다
youtube 나 외부 페이지가 iframe 으로 들어가지 못하기 때문에 이 부분을 native 앱이 처리해야 한다
일반적인 서비스는 위의 5개 정도의 컨트롤이면 개발이 가능하다
채팅이나 실시간 처리가 필요한경우는 웹소켓으로 연동하는것을 추천한다