자바에는 꽤 많은 GUI 프레임 워크가 있지만 오늘날의 선택 프레임 워크로 인식되는 것은 무엇입니까?
다음은 다른 프레임 워크에 대한 나의 이해입니다. 잘못된 경우 수정하십시오. 이것은 매우 느슨하게 정의 된 일련의 질문이지만 여전히 풍부한 GUI 응용 프로그램을 만들려는 사람에게는 가치가 있다고 생각합니다.
스윙의 기초이며 성능은 좋지만 고급 구성 요소가 부족합니다. 풍부한 응용 프로그램을 만들려면 AWT가 좋은 방법이 아닙니다. 그러나 리치 사용자 인터페이스가 필요없는 소규모 GUI 애플리케이션의 경우. 이것은 시도되고 입증 된 프레임 워크이므로 완벽하게 적합 할 수 있습니다.
앞에서 언급 한 AWT를 기반으로합니다. 초기에는 느리고 버그가 많은 것으로 간주되어 IBM이 Eclipse 용 SWT를 작성하게했습니다. 그러나 Java 5 (또는 6?)에서 Swing은 새로운 응용 프로그램을 구축하기위한 프레임 워크가되었습니다. Swing에는 풍부한 구성 요소가 많이 있지만 일부 영역에는 여전히 부족합니다. 한 가지 예는 정렬 및 필터링 / 검색을 수행 할 수있는 완전한 기능을 갖춘 TreeTable 구성 요소가 없다는 것입니다.
이클립스를 위해 IBM이 만든이 회사는 당시 스윙이 이클립스에 적합하지 않다고 생각했습니다. 그 자체로는 저수준이며 JNI를 통해 플랫폼의 기본 위젯을 사용합니다. Swing 및 AWT와 전혀 관련이 없습니다. 그러나 API는 다소 복잡하고 직관적이지 않습니다. TreeTable과 같은 고급 구성 요소가 있습니다. (그러나 그들은 즉시 정렬 및 필터링을 지원하지 않는다고 생각합니다). SWT는 (JNI?를 통해) 일부 고유 바인딩을 사용하며 인터넷의 요구는 오늘날의 프로젝트에서이 프레임 워크를 사용해서는 안된다는 것입니다. (왜 안돼?)
Swing을 기반으로하며 그 목적은 다양한 스윙 구성 요소를 만드는 것입니다. 아직 개발 중입니다. (매우 활동적이지는 않습니다.) 예를 들어 TreeTable과 같은 매우 유용한 구성 요소 집합이 있습니다. 그러나 TreeTable은 내가 아는 한 필터링 및 정렬을 지원하지 않습니다. 그러나 강조 표시로 검색을 지원합니다.
SwingX는 기존 Swing 구성 요소의 확장 또는 구성 요소 인 AFAIU (구성 요소)입니다.
J 굿즈
내가 알지 못하는 프레임 워크 ... 강점과 약점은 무엇입니까? Jgoodies와 나머지는 무엇입니까?
JGoodies OTOH는 PLAF 및 레이아웃에 관한 것입니다.
Java / Oracle의 최신 주력 제품입니다. 풍부한 데스크탑 또는 웹 응용 프로그램을 개발할 때 사실상 표준이 될 것입니다.
Java2D를 사용하여 UI를 렌더링하므로 Swing 및 AWT의 (IMO, bloated) 레거시 영향을 최소화합니다. (@Augustus Thoo)
RIA (Rich Internet Applications)에 중점을두고 있지만 데스크톱 응용 프로그램에도 적용 할 수 있습니다. 그리고 개인적인 의견으로는 매우 흥미로워 보입니다! 나는 특히 그것이 아파치 프로젝트라는 것을 좋아한다.
https://cwiki.apache.org/PIVOT/frequently-asked-questions-faq.html
c / c ++로 작성된 기본 qt 라이브러리에 대한 Java 랩퍼. 매우 강력하고 널리 사용되며 수용됩니다. GUI 구성 요소가 많고 사용하기 쉬운 API가 있습니다.
그래서, 내가 요구하는 것을 약간 요약하려고합니다.
오늘날 많은 고급 구성 요소가 포함 된 Java로 데스크탑 응용 프로그램을 만들고 싶었다면 어떻게해야합니까? 그리고 왜?
이 프레임 워크 중 어느 것이 더 이상 사용되지 않는 것으로 인식되고 어느 프레임 워크가 먼 미래의 프레임 워크로 인식되어야합니까?
오늘날의 사실상 표준 프레임 워크는 무엇이며 Java GUI 애플리케이션을 작성하기 위해 어떤 도구를 사용합니까?
나는 이것을 묻는 것을 후회 할 수 있지만, 어쨌든 그것을 시도해보십시오.
C # /. Net은 가능한 모든 방향으로 구부릴 수있는 매우 사용하기 쉬운 구성 요소 집합을 가지고 있다고합니다. 그리고 다른 Java 프레임 워크를 어느 정도 조사한 후에 Java에 대해 똑같이 말할 수없는 것 같습니다. 왜 이런거야? java (세계에서 가장 널리 사용되는 프로그래밍 언어)에 동일한 GUI 구성 요소 세트가없는 이유는 무엇입니까?
Java가 GUI 구성 요소를 훨씬 낮은 수준으로 만들었습니까? 찾고있는 모든 고급 구성 요소를 작성할 수는 있지만 모든 작업을 직접 수행하지 않아도 많은 작업을 수행해야합니까?