CrossPlatformApp 개발 툴 목록

https://en.wikipedia.org/wiki/List_of_platform-independent_GUI_libraries

https://www.qt.io/
http://appjs.com/
https://electron.atom.io/
https://www.wxwidgets.org/
https://wiki.eclipse.org/Rich_Client_Platform

대강 이정도가 있는데

최근 관심을 끄는것은 역시 js진영. electron.
html 기반으로 돌아가서 화면이 깔끔하고 화면만들기가 쉽다.
웹개발하는것처럼 데스크탑 앱을 만들면 된다.
atom 에디터의 엔진을 사용하는 것 같은데… 그냥 그정도 성능으로 돌아간다고 보면 된다.

이전까지는 데스크탑솔루션 하면 이클립스 RCP가 많이 사용됐는데… 요즘은 힘이 좀 빠진 것 같다.
자금이 안 들어오는지…
UI가 크게 예쁠필요가 없다면 그렇게 이것저것 따질필요 없이 자신이 익숙한 언어에서 지원하는걸 사용하면 될 것 같다.
자바 개발자라면 그냥 electron을 쓰는게 나을 것 같고….
이클립스 rcp는 4.x버전을 만들어놓고도 예제는 죄다 3.x버전을 올려놓고 이건 뭐 …. 거의 연구하면서 써야되는 수준이라 포기했다. 자바개발자 대부분 웹개발자고, 웹개발자들 어차피 js는 어느정도 할 줄 알테니 튜토리얼/도큐먼트 잘 나와있는 electron을 추천.
정~RCP를 해야겠다면 예제 참고
http://kosate.tistory.com/187
http://www.vogella.com/tutorials/EclipseRCP/article.html
https://www.nogdoo.com/article/E4.html

Eclipse RCP + Maven 조합 연구

2015년쯤에 갑자기 꽂혀서 찾아보다가…

포기했던 부분.

이클립스 RCP는 멀티플랫폼 애플리케이션 제작용인데

…..

구조 자체가 복잡하고 관련 자료도 별로 없다.

그리고 의존성 관리하는데 maven지원해주면 좋을 것 같은데 이런거 지원이 없었다.

지금은 gradle 지원이 되지 않을까???

근데 이제 새로 시작할거라면 Electron을 쓰는게 나아 보인다.

제대로 확인을 못 해보긴 했지만… 튜토리얼 돌렸을 때는 괜찮아 보였다.

 

——————————————————————————-

org.eclipsercp.hyperbola project running code with jdk7

메이븐적용은중단됨. 이클립스 플러그인/RCP제작에 maven은 적합하지 않음 tycho플러그인도 의존성을 관리해주기보다는 프로젝트 통합과 CI를 위한 역할만으로 한정되는 것으로 보임 p2업데이트사이트를 편리하게 제작할 수 있다고 하는데 이 부분은 조사를 못함 tycho : https://github.com/eclipse/tycho

이 문제를 해결하려는 몇가지 시도가 보이긴 한다.

  1. plugin을 따로 제작하여 이를 해결하려는 시도가 있었으나 편법에 가까운 방법을 사용하고있다.https://github.com/reficio/p2-maven-plugin
  2. 설정파일과 maven의 싱크를 억지로 맞추는 노가다작업

maven은 자체적으로 의존성을 관리하고 소스코드와 도큐먼트를 자동으로 링크시켜주는 부분이 편리해서 애용했는데 이 부분이 제대로 지원이 되지 않는다면 굳이 집착할 필요는 없어 보인다.

Eclipse, Debugging : Expressions 특정 변수값 모니터링하기

디버깅 퍼스펙티브에서 Expressions 뷰가 있다

변수명을 등록해놓으면 디버깅 화면에서 두고두고 볼 수 있다.

disable를 해놓으면 그 상태로 값이 정지되서 안변하고 볼 수 있다.

 

에디터의 변수를 오른쪽 클릭하고 watch를 하면 된다

Eclipse, Debugging : 예외발생지점 찾기

예외발생지점 찾기…

트라이 캐치로 코드를 감싸놓은 경우… 예외발생지점을 정말 찾기 힘들다.

이거 찾으려고 얼마나 고생을 했는지… 코드 구석구석 브레이크 포인트 찍어가지고 돌려보고..

 

이클립스 디버깅 모드에서 간단하게 해결 가능한다.

 

이클립스 Debug Perspective – Breakpoints View – Add Java Exception Breapoint 선택

마음에 드는 예외를 등록해놓으면 예외가 발생하는 순간 그 위치를 잡아준다.

 

Eclipse, BreakPoint Trigger : 단순히 중단점이 아닌 조건부 트리거 설정

브레이크 포인트를 쓰면 그 지점을 실행시키고 있을 때으 값을 발견할 수 있다.

그런데 스프링프레임워크의 특정 빈을 실행하는 경우 이게 첫번째는 콘텍스트 로딩 두번째는 뭐 세번재는 시큐리티인데 세번째 시큐리티에서 오류가 나는 것 같다. 라는상황이 있을 수 잇다.

이 경우 브레이크 포인트를 단순히 찍어놓기만 했다면 이 오류를 보기위해 우리는 브레이크 포인트 2번을 Resume를 눌러줘야 한다. 각종 변수를 변경하면서 실행을 여러번 시켜가며 디버깅을 해야하는데 열번 실행시킨다면 20번의 리쥼을 눌러줘야 한다.

세번째에 떠서 다행이지 10번째 로딩될 때 오류가 발생한다면?

프로그래밍의 기본은 자동화… 이걸 진작에 알았으면 그 때 리쥼 누르느라 시간낭비도 안 했을건데

 

이클립스 브레이크 포인트레 마우스 오른쪽클릭하고 BreakPoint Properties 창을 연다.

설정이 있는데…

HitCount라던가 필요한 기능을 설정할 수 있다.

트리거의 값을 직접 지정하는 것은

value == 1

이런식으로 값을 지정해주면 된다.

 

항상 드는 생각인데… 툴 잘 쓰는것도 실력이다. 메모장으로 잘 짜는게 진짜 실력이니 뭐니 하는 사람들은.. 풒

 

Eclipse, StepFiltering : 디버깅시 관심영역밖의 클래스 필터링

이클립스 디버깅시에 나의 관심영역 밖의 클래스들이 있다

쉽게 말해서 내가 짠 코드가 아닌 라이브러리라더가 jvm의 소스코드들… 적어도 현재 개발과정에서 오류의 원인일 가능성이 낮은 극히 낮다고 봐도 무방한 코드들이다.

이런 코드들을 필터링해서 디버깅시 피로도를 낮추는 방법이 Step filtering 이다.

 

이클립스 설정 (프로젝트 설정이 아닌 맥에선 Eclipse-환경설정,  윈도우에선 Windows-Properties)창을 연다

Java-Debug-StepFilter

이 메뉴에서 적당히 안봐도 될만한것들 선택하면 된다.