티스토리 뷰
업무상 필요해서 작성한 글이지만, 혹시 도움이 될까 해서 올려봅니다. 블로깅 안한지 너무 오래되서 ㅎㅎ
홈페이지: http://joapp.com/
개발자: Dave Balmer(Palm WebOS 개발자, 전 야후 개발자)
요약: all-in-one 스타일의 경량 자바스크립트 라이브러리.특징
- UI 툴킷
- CSS 기반 테마/SKIN 지원
- 오픈소스
- OpenBSD 라이센스
- 크로스 플랫폼
- Palm WebOS, Safari(iOS,Desktop,Dashboard), Chrome(Android,Desktop) 등 webkit 기반 브라우져만 지원.
- 경량
- 자바스크립트 41K(최소화된 버전) + UI CSS/리소스(176K)
- PhoneGap 호환(?)
- PhoneGap과 호환되지 않는 자바스크립트 라이브러리는 ”없음”.
주요 기능
UI
최근 모바일 단말 UI의 de-facto인 iOS의 UI을 염두에 둔 UI 툴킷.
하나의 화면(joScreen)은 상단의 헤더(joTitle, joToolbar)와 푸터(joFooter, joToolbar)로 구성.
화면과 화면 사이를 앞뒤(위아래)로 이동하는 네비게이션 레이아웃(joStackController, joStack).
기본적인 HTML 폼의 입력 필드에 대응하는 위젯들(joControl, ...), 페이지 내부 팝업(joPopup) 등의 필수적인 위젯 제공.
CSS를 통한 테마/스킨 지원.
캘린더, 챠트 등의 고급 위젯 부족.
- joContainer
- joCard
- joFlexcol
- joFlexrow
- joFooter
- joGroup
- joPopup
- joScreen
- joScroller
- joStack
- joStackScroller
- joTitle
- joToolbar
- joControl
- joButton
- joCheckBox
- joExpando
- joHTML
- joInput
- joDateTime
- joPasswordInput
- joTextarea
- joLabel
- joList
- joMenu
- joTabBar
- joTable
- joKnob
- joSlider
- joDivider
- joShim
Data
HTML5의 WebSQLDatabase(Webkit 기반 브라우져에는 대부분 제공됨)를 통한 로컬(클라이언트측) 데이터베이스 접근 제공.
추후에 PhoneGap과 연계하여 로컬 파일을 통한 데이터 접근을 제공할 계획으로 보임(joFile, joFileDataSource)
원격(서버측) 데이터 접근 부재.
- joDatabase
- joDataSource
- joFileDataSource (x)
- joSQLiteDataSource
- joFile (x)
Utility
기본적인(필수적인) 유틸리티 API 제공.
추후에 PhoneGap과 연계하여 모바일에 특화된 기능을 제공할 계획으로 보임.
- jo, joCache, joScript
- joEvent, joSubject, joGesture
- joChain, joYield, joWait
- joDOM, joJSON, joLocal, joString, joTime
- joLog
- joClipboard, joDevice, joFocus, joPreference, joUser
유사 제품과 비교
Jo | Sencha Touch | jQuery | DojoToolkit | |
지원브라우져 | Webkit | All | All | All |
IE | ✭ | ✭✭✭ | ✭✭✭ | ✭✭✭ |
FF | ✭ | ✭✭✭✭✭ | ✭✭✭✭✭ | ✭✭✭✭✭ |
Webkit(Safari,Chrome) | ✭✭✭✭✭ | ✭✭✭✭✭ | ✭✭✭✭✭ | ✭✭✭✭✭ |
모바일 최적화 | ✭✭✭✭✭ | ✭✭✭ | ✭ | ✭ |
데스크탑 지원 | ✭ | ✭✭✭✭✭ | ✭✭✭✭✭ | ✭✭✭✭✭ |
용량 | ✭✭✭ | ✭ | ✭✭✭✭✭ | ✭ |
UI 위젯 툴킷 | ✭✭✭ | ✭✭✭✭✭ EXT2 |
✭ jQuery UI 필요. jQueryMobile은 10월 중 알파 릴리즈 예정. |
✭✭ dojox.mobile은 아직 unstable |
UI 위젯 성능 | ✭✭✭✭ | ✭ | ✭✭✭ | ✭ |
i18n/l10n/a11y | ✭ | ✭ | ✭✭✭ | ✭✭✭✭✭ |
OOP | ✭ | ✭✭ | ✭ | ✭✭✭ |
DOM/CSS | ✭✭ | ✭✭ | ✭✭✭✭✭ | ✭✭✭ |
Database | ✭✭ | ✭✭✭✭ | ✭✭✭ | ✭✭✭✭✭ |
유틸리티 | ✭ | ✭✭✭ | ✭✭✭✭✭ | ✭✭✭ |
확장성 | ✭ | ✭ | ✭✭✭✭✭ | ✭✭✭ |
문서/예제 | ✭ | ✭✭✭ | ✭✭✭✭✭ | ✭✭✭ |
개발자 생태계 | ✭ | ✭✭✭ | ✭✭✭✭✭ | ✭✭✭ |
결론
비교적 적은 용량에 (모바일) 웹 앱 개발에 필요한 기본적인(필수적인) 기능을 거의 다 포함한 all-in-one 성격의 UI 라이브러리.
단순한 API 구조 덕분에 학습 / 사용이 용이하지만, 고급 기능들이 거의 없어서 jQuery등의 다른 라이브러리들과 혼용해야 함.
(이름과 달리) HTML5나 모바일에 최적화가 부족하고, 프레임워크가 아닌 단순 UI 툴킷 + 유틸리티 라이브러리.
1명의 개발자가 단독으로 개발했고, 비교적 최근(2010.6)에 시작해서 개정 릴리즈가 많지 않았기 때문에 소스 코드의 품질이 매우 높음.
HP가 Palm을 인수한 이후, WebOS의 Mojo를 개선(혹은 대체)하기 위한 여러가지 시도를 하는 것으로 보임.
직접적인 경쟁 상대인 Sencha가 상용/오픈소스로 모호한 라이센스 정책을 갖는데 반해, Jo는 OpenBSD 라이센스(BSD 라이센스와 어떤 차이가 있는지는 추가적인 확인이 필요)에 따름.
이후, HP/Palm의 지원과 커뮤니티의 반응에 따라 주요 플레이어로 성장할 가능성은 있으나, 10월 중에 첫 릴리즈가 나올 예정인 jQueryMobile의 완성도에 따라서는 수많은 마이너 플레이어 중의 하나로 전락할 가능성이 더 높음.
'hacking > web' 카테고리의 다른 글
HTML5/CSS/JavaScript로 안드로이드 "앱" 만들기 (0) | 2010.11.16 |
---|---|
HTML5/CSS/JavaScript로 아이폰 "앱" 만들기 (6) | 2010.11.14 |
JavaScript Common Mistakes(3) - 다른 언어에 익숙한 개발자들이 하기 쉬운 실수 (0) | 2009.12.10 |
JavaScript Common Mistakes(2) - This "this" is not the "this" (2) | 2009.12.09 |
JavaScript Common Mistakes (1) - Async! Async! Async! (10) | 2009.12.08 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- CSS
- 영화
- 해남
- 독후감
- 책
- Prototype
- docker
- 자전거
- DeveloperWorks
- **
- jQuery
- ***1/2
- Java
- 장필순
- 여행
- Dojo
- maven
- web
- Ajax
- 땅끝마을
- 노래
- webapp
- JavaScript
- 자바스크립트
- Eclipse
- ***
- HTML5
- nodejs
- ****
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함