게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
경험 공유] 여러분 Java 하세요!
게시물ID : programmer_6895짧은주소 복사하기
작성자 : REGENTAG
추천 : 9
조회수 : 1810회
댓글수 : 8개
등록시간 : 2014/12/03 00:10:48
그동안 자바는 서버 어플리케이션 개발에만 사용하다가 처음으로 사용자에게 배포할 GUI 프로그램을 자바로 개발하는 중입니다.
C++로 Qt를 써서 개발했었던 프로그램을 Java Swing 기반 프로그램으로 재작성 하고 있어요.
예전에는 Swing은 도저히 못써먹을만한 물건이라고 생각했었는데 JDK1.8에서 람다식을 추가로 지원할 뿐인데 개발하기 정말 편해졌네요.
끔찍한 익명클래스들에서 벗어날 수 있으니..

안드로이드 App과 USB로 통신하는 프로그램이라 libusb-win32를 필터드라이버로 올려서 사용했는데 역시 유명한 C 프로젝트는 Java Wrapper가 존재합니다. http://libusbjava.sourceforge.net/wp/

메시지 교환하는것도 예전에는 직접 스트림에 데이터를 읽고 쓰기를 했었는데 JSON으로 직렬화해서 바로 주고받으니 정말 편합니다. JSON 라이브러리는 구글에서 만든 Gson을 쓰고있어요. https://code.google.com/p/google-gson/

개발환경(IDE)는 넷빈즈를 쓰고있는데 전 이클립스보다 넷빈즈가 훨씬 마음에 드네요. 특히 프로젝트 디렉터리가 깔끔하고 쓸데없는 파일이 생기지 않는다는 점에서요. 빌드 스크립트도 Ant용으로 자동 생성되고. 이클립스의 워크스페이스 구조는 쓸데없이 복잡해서...

UI는 Qt나 WPF, JavaFX처럼 XML로 작성되는건 아니고 여전히 코드로 되어있지만 NetBeans의 Swing UI 편집기는 정말 좋습니다. 그동안 써 왔던 Qt의 Designer랑 비교하면 80%정도 만족해요. 이클립스 플러그인인 VE는 솔직히 많이 실망했었거든요. 물론 MFC가 가장 최악이었지만.

윈도 환경에서의 실행 파일을 제공하기 위해서 Winrun4j를 사용했습니다. 이클립스가 eclipse.exe로 실행되는것처럼 자체 실행파일을 만들 수 있게 해 주는 프로그램입니다. JRE의 경로를 지정할 수 있게 되어있어서 사용자 PC에서는 JRE를 따로 설치하지 않고 제 프로그램의 배포파일에 JRE를 내장시켜서 압축만 풀면 실행할 수 있도록 했습니다. http://winrun4j.sourceforge.net/

자바와 C++을 비교했을 때 가장 큰 장점은 생산성이죠.
처음 C++로 개발했을 때는 USB 드라이버등의 기술을 찾고 습득하는걸 제외하고 순수 UI 프로그램 개발만 몇주 걸렸었는데
이번에 자바로 진행하면서 3~4일 안에 끝낼 수 있을거 같아요.
프로그램 구조 설계같은걸 C++ 개발때 해놓은걸 감안하더라도 훨씬 빠른 속도네요.


덧. 프로그래머 게시판에서 질문하고 답변 해 주는것도 좋지만,
서로서로 자신이 겪었던 경험 공유가 많이 되었으면 합니다.
그래서 저부터 이 글을 올린거구요.
다른 분들도 많이 동참해 주시면 좋을것 같아요.
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호