갤럭시 워치 하이브리드 앱 개발

By lhcsoft - 3월 22, 2019

갤러시 워치 개발시 하이브리드 앱 개발 방법에 대해서 설명합니다.


Tizen wearable API는 다음과 같이 3가지 종류가 개발 방법을 지원하고 있습니다.

- Native Application(C, C++)
- .NET Application
- Web Application


저는 지금까지의 경험으로 UI는 javascript를 이용하여 개발하는 것이 편리했습니다.

javascript 언어로 개발된 오픈소스의 라이브러리도 많이 있기 때문이기도 합니다.


그런데, Web Application용 API는 Native Application용 API와 동일하게 지원되지 않는 것 같습니다.



이러한 차이는 Voice Capture 기능에서도 볼수 있습니다.



C, C++ API는 Voice Capture 기능을 Stream 형식으로 지원하고 있습니다.

그러나 javascript API는 Voice Capture 기능을 파일 단위로만 지원하는 것 같습니다.


즉, javascript API를 이용해서는 음성통화 기능을 개발하는데 한계가 발생합니다.

음성통화를 위해서는 Voice Capture의 내용을  Stream 형식의 raw data로 받아서 상대단말로 전송해야 하니까요.


이러한 Web Application의 한계를 극복하기 위해 tizen의 hybrid app 개발 방식을 이용할 수 있습니다.



hybrid app 개발 방법은 크게 다음과 같은 개념이라고 보시면 됩니다.

UI는 Web Application으로 개발하고, device에 종속된 기능은 Native Application으로 개발하는 방법, 즉 서로 다른 종류의 개발방법을 복합하는 것을 말합니다.


hybrid app 형태의 음성통화 기능을 다시 구성해 보겠습니다.

- UI 기능: 개발하기 편리한 Web Application으로 개발
- Stream으로 콜백되는 Voice Capture 기능: Native Application으로 개발
이렇게 하면 위에서 말한 Web Application의 한계를 극복할 수 있게 됩니다.


hybrid app은 UI App과 Service 형식의 Native App으로 개발되게 됩니다.

App사이는 tizen의 MessagePort API를 이용해서 commad를 주고 받을 수 있습니다.
다음과 같은 순서로 두 App 사이의 메시지 흐름이 진행됩니다.
- Native Service Application에서 command 수신을 위한 Message Port를 등록합니다.
- Web UI Application에서 Native Service Application의 Message Port쪽으로 command를 전달합니다.
- Native Application에서도 Web UI Application으로 Message Port를 이용하여 command를 전달할 수 있습니다.


이렇게 hybrid app 형태로 개발하면 복잡한 wearable app도 보다 쉽게 개발할 수 있습니다. 감사합니다.

  • Share:

You Might Also Like

5 개의 댓글

  1. tizen web app에 대해 질문 할 수 있을까요?

    답글삭제
    답글
    1. 안녕하세요.
      질문 내용을 작성해 주세요.
      가능한한 성심껏 답변해 드릴께요.

      삭제
    2. 감사합니다. 질문하고 싶은 내용은..
      Web App이랑 Service는 Package 합치는게 가능하잖아요. Watchface와 Web App은 합칠 수 있는 방법이 있을까요..?
      하나의 프로젝트로 만든는 것도 안되는거 같은데 따로 만들어서 합치는 방법을 모르겠어요..

      삭제
    3. 안녕하세요.
      Web UI는 Watch와 조합이 안되는 것으로 알고 있습니다.
      이미 알고 계신 내용일수도 있지만, 아래 링크를 참고하시기 바랍니다.
      https://developer.tizen.org/development/training/web-application/application-development-process#multi

      만일, 다른 질문이었다면 다시 문의해 주세요.
      감사합니다.

      삭제
  2. 안녕하세요.

    질문한 내용 맞아요. 감사합니다.!

    답글삭제