올해 내내 일에만 파묻혀 살다가 오랜만에 개인 프로젝트를 했다. 맥에서 쓸 GUI 만들려니 역시 Swing만큼 익숙한 게 없어서 오억 년 만에 자바를 쓰는데, J2SE에 있는 클래스나 메서드는 다 기억나서 편했지만 Java라는 언어 자체를 도저히 못 참겠어서 Kotlin으로 작업했다. 레이아웃 매니저는 MigLayout을 썼고, 맥 앱 패키징은 JDK 15에 번들된 jpackage를 썼는데 훌륭했다.
UI 디자인을 직접 할 일이 가끔 있어서 학습을 위해 잘 정리된 앱 UI를 틈날 때마다 봐서 감각을 올리곤 한다. 그러기 위해 ui8.net 같은 곳에서 제공하는 UI Kit들을 레퍼런스로 쓰는데, PSD로 열면 메모리 19G 먹으며 별나라로 가버리기 때문에 파이썬 psd-tools를 써서 그룹 레이어별로 정리하는 스크립트를 만들었다. psd-tools는 성능이 느린 것을 빼고 생각보다 아주 잘 동작했다. 하지만 Text 요소들의 폰트 정보들을 제대로 가져오지 못하는 문제가 있었다.
Sketch 소스는 zip을 풀고 나면 다 JSON으로 보관되어 있어 편해 보였지만, 정말 모든 게 다 JSON으로 있어서 렌더러를 만들 엄두가 안 나서 제외했다.
Adobe XD는 스케치처럼 zip에 JSON 형식인데 폴더나 JSON 구조가 훨씬 더 깔끔했다. 하지만 역시 렌더러 만들기는 엄두가 안 나서 좋은 방법이 없을까.. 고민하다 Adobe XD 플러그인을 살펴봤다. SDK가 JavaScript고 생각보다 API 설계가 잘 되어 있어서 XD 플러그인 만들기로 방향을 바꿨다. XD 플러그인 SDK의 핵심은 require('scenegraph')인데 문서가 있긴 했지만 코딩 중에 문서 왔다 갔다 하는 건 못 참아서.. 원본 코드를 찾아보려고 Adobe XD 바이너리를 뒤져봤는데 결론은 JS 인터페이스로 노출했을 뿐이고 139MB짜리 바이너리 속에 꼭꼭 숨어있었다. 깔끔히 포기하고 문서 보고 플러그인 만들기로 했다.
개인 프로젝트를 할 때마다 마주하는 문제다. 적당한 선에서 끊을 수가 없다. 인위적으로 자원을 제한하지 않으면 결국 이 프로젝트도 영영 끝나지 않을 것이다.
Continue Reading
Discover more thoughts and insights
Firefox 3.1 beta 1 둘러보기, Location awareness 와 Ctrl-Tab UI
iPAQ hx4700 덕분에 잘 읽지 못하고 휙휙 넘겼던 RSS feed 들을 많이 읽다보니 자연스레 관심사가 바뀌어 이 글을 보고 나도 파폭 3.1 베타 써보자.. 하고 요리조리 둘러본 후기를 남겨봅니다.
웹앱스콘 2008 론치패드에서 선데이토즈 1등 먹다.
2007년초 블루메탈군과 재미삼아 시작했던 프로젝트인 할리스가 시간이 지나 선데이토즈란 이름으로 무한히 거듭나 어제 열린 웹앱스콘 2008 론치패드에서 1등을 먹었습니다. (H) 2006년말부터 시작한 이
My Chemical Romance - Piano Tribute
My Chemical Romance 좋아하시는 분 중에 piano tribute 못들어보신 분 있나요? 꼭 들어보세요. 좋습니다. My Chemical Romance Piano Tribute 더불어 The