타이타늄은 가능할까요?

안녕하세요. 이종은님께 메일로 여쭙다가
여기에 질문을 올리면 된다고 하셔서 이곳에 드려봅니다.

저는 웹개발자로서 현재 하이브리드로 앱 개발을 진행하고 있습니다.
UI 프레임워크는 센차터치를 사용하고 있구요.

그런데 하이브리드로 앱을 개발하면 저 같은 웹개발자가 좀 쉽게 접근해서
개발할 줄 알았는데… 뭐 하나만 추가되어도 네이티브쪽 코드를 수정하지 않으면
안되더군요. 더구나 아이폰도 함게 개발할려고 하면 어후…

여튼 그래서 우연히 어느분의 추천으로 타이타늄이란걸 소개 받게 되었구
이종은님의 동영상을 보다 타이타늄은 하이브리드가 아니라 네이티브앱을 만든다는 소개에
타이타늄은 가능할까? 해서 문의 드립니다.

현재 한번도 사용해본적이 없는 상황이며 단순히 타이타늄 소개 동영상만 본 상황입니다.

질문 1
하이브리드앱 코르도바 프레임워크 와 센차터치로 개발을 하다 보니 UI는 거의 css에 의존하게 되는 경우가
많습니다. 백엔드쪽 개발이 주였던 저로서는 UI 작업이 너무 힘들고 또 안드로이드 같은 경우는 버전에 따라서
UI가 틀어질때가 종종 발생하는데요. 타이타늄은 이런 UI 부분은 어떤 방식으로 처리되는 간략히 알고 싶습니다.

질문 2
위에도 언급했지만 코르도바의 기본적으로 제공되는 기능외에는 변형되거나 추가되는 네이티브쪽 기능은
결국 네이티브 코드를 건드려야 하고 그러다 보면 뭐하러 하이브리드를 했을까? 하는 생각 마져도 들때가 있습니다.
한 예로 인앱결제를 넣을려고 하면 이건 뭐 거의 네이티브 코드를 해야 하더라구요.
타이타늄은 이런 상황에서 네이티브쪽 코딩을 해야하는지요?
또 타이타늄은 네이티브쪽 코딩 의존도는 어느정도 되는지 알고 싶습니다.

질문 3
현재 개발 중인 서비스가 메신저 기능을 가지고 있는데… 서버가 nodejs로 개발되었고 클라이언트는 socket.io를
이용하고 있습니다. 하이브리디는 UI쪽이 거의 html5와 자바스트립트라 socket.io 자바스트립트 클라이언트를
사용하기가 용이한데… 타이타늄도 빌드 되고나서도 이런 socket.io같은 클라이언트 자바스크립트 사용이
가능한건지 알고 싶습니다.

이상 질문드려 봅니다.
지금 제 상황에서 너무너무 궁금해서 두서없이 많이 썼네요.
죄송합니다.

그럼 도움 부탁드려요.

타이타늄도 코르도바처럼 상황에 따라서는 네이티브를 건드려야 하는 것은 어쩔 수 없습니다. 한계가 분명히 있는 것이죠.

질문 1 : UI의 경우 CSS 형식으로로 작성합니다만, HTML의 css만큼 복잡하지는 않다고 생각 합니다. css가 싫으시면 코드로 직접 UI작업을 하실 수도 있습니다.

질문 2 : 인앱결제와 같은 기능 구현을 위해서는 타이타늄도 네이티브 코딩을 통한 확장이 필요합니다. 타이타늄 모듈이라고 불리우는 것인데요, 타이타늄은 모듈만의 마켓이 활성화 되어 있어 대부분의 원하는 기능을 쉽게 구해서 적용 할 수 있습니다.

질문 3 : 가능합니다. 참고로 타이타늄에서 사용하기 위한 socket.io가 있는 것으로 알고 있습니다.

2개의 좋아요

아 그렇군요. 긴글 읽어주시고 좋은 답변 너무 감사합니다.

@neojjang 님 말에 동의합니다.^^

tss를 이용해서 titanium 앱 개발시 스타일을 지정하는 것은 css보다는 더 명확합니다. 명확하다고 표현한 것은 css의 경우 브라우저 버전에 따라 다르게 보이는 경우들이 많은데 그런게 거의 없기 때문입니다. @neojjang 님이 언급하신 것 처럼 css 보다 간단합니다. 간단하기 때문에 다양한 속성이 존재하지 않는게 단점일 수 있지만 간단하기에 배우기 어렵지 않습니다.

한가지 더 말씀드리자면 타이타늄은 기본적으로 제공되는 native api가 많습니다. ^^
또한 Ti Next에서는 js 문법으로 native를 직접 코딩할 수 있는 구조라고 합니다. Ti.Next라는 새버전은 곧 beta가 공개될 예정이니 저도 기대 많이 하고 있죠.

1개의 좋아요
  1. 타이타늄은 주로 tss 파일로 UI 를 처리합니다. css와 비슷합니다. 상황에 따라 안드로이드와 iOS UI를 나누어 코딩해주어야 할 때가 있습니다.
    TSS 사용되는 예)
    http://docs.appcelerator.com/titanium/3.0/#!/guide/Alloy_Styles_and_Themes

  2. 사용하는 기능의 특성에 따라 네이티브 코딩을 해야하는 경우도 있고 그렇지 않은 경우도 있습니다만 인앱 결제의 경우는 네이티브를 이용해야하는 경우가 많습니다. 구체적으로 기능에 따라는 말씀드릴수 있지만 얼마나 의존도가 되는지 말씀드리긴 쉽지 않네요.

  3. https://github.com/nowelium/socket.io-titanium

cross platform의 특성상 타이타늄이 아니라 다른 어떤 플랫폼이든지 네이티브의 기능을 완전히 의존하지 않기는 어려운 것 같습니다. 그러나 분명 앱을 빠르게 개발할 수 있는 점은 매력적이지요. 그래서 개발하려는 앱의 기능을 정확히 안다면 개발전 선택 툴을 선택하는데 많은 도움이 됩니다.

2개의 좋아요

아 그렇군요. 답글 너무 감사합니다.
여튼 그래도 네이티브쪽 코딩이 좀 수월하면 그래도 좋을거 같습니다.