====== Samsung TV Develpment ====== Tizen OS 기반으로 모두 바뀜. Tizen IME 개선부분 ====== Tizen TV 앱 개발 환경 ====== * Tizen TV에서는 Web App만 지원 중 * WebKit 웹 엔진 * HTML5, CSS Java script * Tizen Web Device API 및 삼성API ... * Native (비공개) vs web app * Closed development for native app * Download . . . http://www.samsungdforum.com/TizenDevtools/SdkDownload ===== 앱 개발 과정 ===== * 다운로드 * 개발 * 앱 등록 및 인/검증 http://seller.samusungapps.com/tv/portal/main ===== 웹 앱 ===== * HTML 콘텐츠 형태 * PC vs TV * Table (사진) * Tizen의 경우: index.html 고정이름 대신 config.xml에서 지정된 페이지로 로드가능 * index.html 내에서 콘텐츠 변경작업을 통해서 앱을 구동 (Single page application) * ===== HTML / CSS / Javascript ===== * HTML ... * CSS * JavaScript ... Logic and interactivity ====== Development ====== ===== TIZEN Web App 구조 ===== * Package: 하나의 엡을 구성하는 파일/디렉토리 모음을 package라고 * config.xml 내에 실행 파일 이름 지정을 통해서 * index.html에 해당하는 파일이 구동되도록 * TIZEN SDK 1.4를 이용하여 생성 * 구조 (picture) * 코드 보호가 필요한 경우 -- 파트너십을 먼저 체결해야 함 (연락 요) * config.xml 구조 * W3C Widget Packaging and XML configuration spec. * http://www.w3.org/tv/widgets/ * Tizen Extending configuartion * 주의사항 * tizen application - package는 10자 {0-9A-Za-z}{10} * ID는 . . .{Package}.{Name} * content source * TV profile * 자동생성 . . . * CSP/WARP * 보안취약점으로부터 앱 컨텐츠를 보호하기 위한 보안 설정 방식 * XSS(cross--site scripting: 의도치 않은 ... injection 단점 * Tizen Web app에서는 CSP와 WARP 중 하나를 선택하여 설정가능 * CSP - local * WARP - cross the internet? * CSP * script-src * object-src * style-src * 위 모두 unsafe-inline * 혹은 * default-src로 한꺼번에 . . . print물 볼 것. * img-src * media-src * font-src * connect-src * WARP () * 를 통해서 통신하기 위한 URL 허용 장치 . . . print 볼 것 * 은 게으른 방법 * 둘 중 선택하는 방법 * 선언 된 것에 따라서 . . . CSP가 우선됨 * Security Architecture * Privilege . . . Samsung TV Device 보호를 위한 장치 * Tizen Device API 사용시 privilege 이용 * level있음 ... * public * partner ... application kill, delete, etc. * platform * 이상 있을 시 check privilege 로 에러 체크 가능 * Applicaiton signing * Author signature * Distributor signature * Samsung Tizen TV Web App package * Samsung에서만 확장한 config.xml 요소들 * 프린트물 참조