라즈베리에서 사용할 UI를 찾는 도중...
(MAC에서 개발해보고 raspberrypi에 배포가능한 형태로 ...)
1) Electron + html
언어 : nodejs, javascript, css, html, electron-framework
장점 : html로 구현가능, javascript만 잘알아도 굳
단점 : html로 하기 때문에 제약이 좀 있음. nodejs도 알아야 편함.
2) JavaFX
언어 : java, css
장점 : 무겁다
단점 : 참조 소스가 많음, SceneBuilder를 UI구성 손쉽다. 코딩량이 많음.
3) Kivy
언어 : pythonm kivy-framework
장점 : 가볍다, 코딩량이 적음
단점 : 환경구성이 쉽진 않았음. (뭐 공홈에 나온데로 해도 안되는 부분이 좀 발생함)
위 3개 중에서 고민 했었는데 ...
각각 일장 일단이 있으므로, 일단 다 helloworld 수준까지는 해보기로 함.
( python, java, javascript, nodejs ... 다양한 언어를 알아야 됨... 물론 약간만 알고 PASS, 현시점에서는)
( 물론 pyqt 같은 것도 있었는데 설치 용량도 크고 배워야 될 것이 너무 많아 일단 배제함. )
1) Electron + html
매직미러를 만들어 봤음
웹으로 UI를 손쉽게 구현할 수 있었으나 ... 라즈베리에 올라가니 실제 속도가 늦어지는 단점이 있었고 뭔가 아쉬움이 있었음
2) JavaFX
간단한 websocket 기반의 채팅 프로그램을 올려서 테스트 해봤는데 ...
부팅 시간이랑 Animation 부분이 영 맘에 안들었음 ㅜㅜ 1) 보다 속도가 더 안나오는 듯한 느낌이 들었음
하지만 정형화 된 틀에서 뭔가를 만든다고 한다면 생산성이 잘 나올거 같음(SceneBuilder 때문, Java에 익숙하기 ㅋ)
3) Kivy
소스코드 분량도 확실히 적고 코딩(.py) 디자인(.kv)가 분리 되어 유지보수가 수월함.(python이 익숙하지 않은것이 문제 ;;)
==> 총평
Java에 익숙하다면 JavaFx
Python에 익숙하면 Kivy
Web에 익숙하다면 Electron + HTML
[코딩시간]
개인적으로는 java와 javascript를 많이 써서 1(electron), 2(javafx)가 시간이 적게 든거 같음.
하지만 python에 익숙한 사람이라면 kivy를 배워 UI를 구성하는 것도 좋은거 같음.
[UI구성]
UI구성에 있어서는 정형화된 대쉬보드를 만드는 것이라면 2(javafx)를 선택하여 scenebuilder를 활용한다면 손쉽고 빠르게 뭔가를 만들 수 있을거 같음.
[범용성]
3(kivy) 같은 경우 거의모든 플렛폼에서 (linux, vm, windows, mac, rapberrypi, ios, android) 동작하기 때문에 잘 만들어만 두면 좋을거 같다. 거기다 파이썬을 어느정도 해본 사람이라면 추천 !!
참조1) JavaFX에서 WebView올리고 HTML로만 구성하는것 보단 Electron으로 구현하는 편이좋음
참조2) 동일 CASE로 테스트 하면 더 좋겠지만 재미도 없고, 시간도 없어서 샘플에 맞춰 대충 해보니 ;;
'etc > old' 카테고리의 다른 글
집에서 맛난 고기 굽기 (0) | 2018.01.26 |
---|---|
포토샵 이미지 - 금연, 광고부착 금지 (0) | 2017.10.27 |
Jsoup를 사용하여 스크래핑 하는 경우 알아두면 좋은거... (0) | 2017.09.27 |
[썸타는박스] 2017년 7월 (0) | 2017.07.27 |
갤럭시 S8 활용 팁 모음 !! - 정리중 - (0) | 2017.05.17 |