2009-05-27 2 views
9

Swing에서 프로그래밍하는 데 많은 시간과 코드를 소비 한 후에는 최첨단 Java GUI 건물이 될 수 없다고 생각했습니다. Eclipse에 대한 사용자 친화적 인 비주얼 GUI 도구를 찾지 못한 후에 XML UI 툴킷을 사용하여 선언적 GUI를 구축 한 것을 발견했습니다 ... 나는 생각했습니다. 나는 이것이 올바른 방법이고, 쉽고, 또한 웹 프로그래밍에 가깝다고 생각합니다.XML 또는 XUL이 Java GUI 구축의 미래인가?

하지만 웹을 둘러보고 나서 나는 매우 흔하지 않다는 인상을 받았습니다! 많은 구현과 API가 있지만 대부분의 사람들이 죽은 것처럼 보이며 지난 5 년 동안 업데이트가 없었던 것처럼 보입니다.

그렇다면 궁금합니다. 바로 자바에 대한 XML이 널리 퍼져 있지 않다는 것입니다. GUI? 그리고 그렇다면 이유는 무엇입니까? 어쩌면 그것은 받아 들여지지 않을 수도 있고 아니면 몇 가지 큰 단점을 가지고 있거나 사람들은 fatclients 대신 웹에서 모든 것을하고 있거나 더 나은 대안이있을 것입니다, 아마도 javafx입니까?

그 지역에서 시간을 보내고 다른 방법을 찾는 것이 가치가 있는지 알아야합니다. 개발자 잡지를 읽지 않아서 나는 GUI 구축의 동향과 미래를 가져 오는 기술이 무엇인지 알지 못합니다. 하지만 사람들이 여전히 불쾌한 스윙 (또는 swt) 앱을 작성하는 데 너무 많은 시간을 소비한다고 상상할 수는 없습니다.

+0

GUI 빌딩 용으로 NetBeans를 사용해야합니다. 그것은 항상 나를 위해 정말로 잘 작동했습니다, 심지어 사이의 전환 IDEs 나쁘지 않습니다. – willcodejavaforfood

답변

3

태양의 대답은 JavaFX 인 것 같습니다.

GUI를 지정하기위한 선언적 언어가 있으며 빌더 응용 프로그램도 있습니다.

+1

JavaFX는 실제로 선언적 언어가 아닌 늪지 표준 명령형 언어입니다. 그것이 가지고있는 것은 초기화 시간에 속성의로드를 설정하는 구문 지원입니다 (더하기 바인드). –

+0

JavaFX에 대해 자세히 살펴 보았고 좋은 인상을주었습니다. 기본 컨트롤은 훨씬 적은 코드로 구현됩니다. 바인딩은 CSS 스타일링 및 차트와 함께 제공되는 편리한 저작 도구와 함께 편리하고 더 많은 시간을 할애 할 것입니다. –

+0

JavaFX 2.0을 조사 중이었고 Windows 만 지원할 때까지 제품에 만족했습니다. http://javafx.com/faq/#5 –

0

XML에 대한 대답은 확실하지 않습니다. 어떤 문제를 해결하려고합니까? 재사용이 가능한 빌딩 블록과이를 설명하는 간결한 방법을 원합니다. 나는 당신을 돕는 XML을 보지 못했다.

[편집] XUL에 상응하는 자바 코드를 생성하면 XUL이 엄청나게 향상됩니다. XML을 사용하면 우려를 잘 분리하고 단 한 번만 처리하는 것이 정말 어렵습니다. 그러나 몽골의 다발적 인 접근법에는 완벽합니다. 스윙 위에 레이어가 있어야하며, 빌딩 블록 만 제공합니다.

+0

스윙 코딩이 불쾌하다고 생각합니다. XML 문서의 구조적, 계층 적 디자인과 기능, 구조 및 디자인의 명확한 분리가 마음에 들었습니다. 개인적으로 나는 그것을 읽는 것이 더 낫다고 생각합니다. 내가 xul에 대해 봤던 것에서 볼 때, 스윙보다는 코드가 훨씬 적다. –

0

나는 두 번째 Thilos 제안을 javaFX와 함께 사용합니다. 또한 경향은 webapps를 가리키고 있습니다. 그래서 나는 장기적으로 javaFX와 웹 기반 UI가 swing + swt GUI를 따라 잡을 것이라고 생각합니다.

1

5 년에서 10 년 전 XML이 매우 유명했습니다. 이기종 시스템간에 데이터를 전송하기위한 일종의 표준화를 제공하더라도 괜찮지 만 프로그래밍에 적합하지 않습니다. 항상 쉬운 물건으로 시작하여 모든 것을 선언합니다. 그러나 실제 시스템에는 코드가 필요합니다. 그러면 XML이 떨어집니다. 또한 XML은 인간에 대한 잘못된 구문이며 Java와 같은 언어조차도 읽기 쉽다는 문제가 있습니다.

한편, GUI의 레일이 분명히 필요합니다. Naked Objects는 내가 본 가장 합리적인 시도입니다.

+3

XUL에 대해 더 알아야합니다. 분명히 혼자 사용하지 않습니다. JavaScript (또는 Miro, Python의 경우)를 사용하여 스크립팅됩니다. 시도 해봐. 정말 대단합니다. – niXar

3

e4 (Eclipse 4)에 대한 몇 가지 프로토 타입 작업이 있는데, Ecore 모델을 편집하고 CSS를 통해 사용자 정의하여 GUI를 작성할 수 있습니다.
직접 해보기위한 세부 정보 및 지침은 this blog post을 참조하십시오.

1

나는 거기에있는 선언적 프레임 워크에 관해서 당신과 같은 결론을 내 렸습니다. 널리 지원되지 않는 한 새로운 GUI 구문을 배울 가치가 없습니다. 인터페이스 언어 인 XUL이 널리 퍼져 있지만, 자바 렌더링 프레임 워크가 없다.나는 HTML + CSS + Javascript와 Servlet 컨테이너가 GUI를위한 최고의 Java 플랫폼이라고 말하고 싶지만, 슬프게도 데스크톱 애플리케이션과 같은 웹 페이지를 표시하는 플랫폼 독립적 인 방법을 찾지 못했습니다.

0

나는 손으로 모든 스윙 물건을 처리하고 아무도 내 응용 프로그램을 불쾌합니다. 유용하고 멋진 UI를 만드는 방법을 모르는 경우 도움을 줄 수있는 기술이 없습니다.

+1

차가운! 어쩌면 나는 자신을 아주 잘 표현하지 못했을 것입니다. 내 애플 리케이션은 모두 (그들은 가장 아름답습니다 ...)하지만 심한되지 않습니다 스윙과 복잡한 GUI를 구축하는 과정은 분명히 더러운, 적어도 나를 위해 :) –

1

Eclipse를 사용하는 경우 이제 WindowBuilder을 사용하여 사용자 친화적 인 시각적 GUI 빌더에서 스윙 응용 프로그램을 만들 수 있습니다. 이제 무료로 다운로드 할 수 있으며 Google은 Swing GUI 빌더 프레임 워크를 Eclipse Foundation에 기증했습니다.