풍부한 인터넷 애플리케이션을 개발하는 법을 배우는 Java 웹 기술은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1401483

  •  05-07-2019
  •  | 
  •  

문제

JSF (MyFaces 구성 요소)를 사용하여 웹 응용 프로그램을 개발했습니다. 그러나 요즘 반응 형 UI에서 JSF는 잘 지내지 않습니다. Ajax, GWT 등에 대해 많이 듣고 있습니다. 그래서 엔터프라이즈 제품을위한 웹 애플리케이션을 개발하기 위해 어떤 웹 기술/프레임 워크를 배워야하는지에 대한 귀하의 의견을 원했습니다. IM 청력이있는 웹 기술 중 일부는 다음과 같습니다.

  1. 얼음 얼굴 (Ajax Bridge 지원 포함)
  2. GWT
  3. extjs 그리고 extgwt
  4. Javafx
  5. 아파치 개찰구
  6. jQuery
  7. Ajax
  8. Laszlo를 열었습니다

위의 또는 위의 조합 중 어느 것이 도움이 될까요?

이러한 웹 기술을 평가할 수있는 일부 매개 변수는 다음과 같습니다.

  1. 학습의 용이성
  2. 웹 애플리케이션 코드의 유지 관리
  3. 커뮤니티 지원
  4. IDE 지원 -Eclipse 또는 Netbeans
  5. 선반 구성 요소 가용성 (텍스트 상자, 테이블 그리드, 옵션 메뉴)
  6. 라이센스 - 상업용 용도 비용이 소요됩니까?
  7. 사용자 경험 - 반응 형 UI. 부진해서는 안됩니다

유사한 의문 나도 내 질문에 부분적으로 대답합니다. 그래도 더 많은 정보를 원할 것입니다.

편집 : 답변 : 답변을 바탕으로 : Ajax는 기본 학습을 위해 시작하는 가장 좋은 방법이 될 것입니다. 그런 다음 jQuery를 배우십시오. Ajax, jQuery를 보완 할 수있는 구성 요소 기반 프레임 작업이 있습니까?

편집 2 : StackoverFlow (Java 플랫폼)와 같은 웹 응용 프로그램을 디자인 해야하는 경우 배우고 채택하기 가장 좋은 선택입니까?

개찰구 + jQuery, Wiquery

GWT

일부 XYZ는 기술 (Richfaces/Icefaces) + Ajax에 직면합니다.

의견은 그들과 함께 일한 사람에게 감사를 표하고 위에서 언급 한 매개 변수에서 평가할 수 있습니다.

도움이 되었습니까?

해결책

Ajax는 단지 (내 겸손한 견해로는 의미없는) 용어입니다.

jQuery는 제 생각에 그만큼 JavaScript를하는 방법. 사용을 금지하는 데 어려움을 겪지 않는 한, JavaScript를 직접 작성 해야하는 경우 권장합니다 (GWT를 사용하는 경우 JavaScript를 사용하고 있지만 그렇지 않습니다. 글쓰기 jQuery가 필요하지 않아).

  1. 학습의 용이성 : 전통적인 절차 스타일 JS에서 사고 방식을 바꿔야합니다. JavaScript를 작성한 적이 없다면 접근하기가 더 쉬울 수 있습니다.
  2. 웹 애플리케이션 코드의 유지 관리 : 매우
  3. 커뮤니티 지원 : 꽤 많이
  4. IDE 지원 -Eclipse 또는 Netbeans : 나는 그렇게 생각하지 않습니다. 나는 그것을 놓치지 않는다. 나는 내가 IDE를 놓칠 수있는 충분한 JavaScript를 쓰는 것이 싫다.
  5. 선반 구성 요소 가용성 (텍스트 상자, 테이블 그리드, 옵션 메뉴) : jQuery UI는 비트가 있으며 많은 자료가 있습니다.
  6. 라이센스 - 상업용 사용 비용이 있습니까? : Nope

당신이 언급 한 다른 기술 중 :

  1. GWT : 대상 인트라넷 사이트 또는 유사한 무언가가 매우 데스크탑과 같은 웹 사이트를 작성하는 경우 (일반적인 콘텐츠 사이트가 아닌 Gmail을 생각하십시오) 이것이 흥미 롭다고 생각합니다. 검색 엔진에서 GWT 기반 웹 사이트를 크롤링 할 수 있도록하기 위해 상당히 많은 노력을 기울여야하고 비 정화 브라우저에서 사용할 수 있어야한다고 생각합니다 (즉, 일부 휴대폰과 같은 JS가없는 브라우저에서는 쓸모가 없습니다).
  2. Javafx. 나는 이것이 단지 특수 효과라고 믿는다. Java 애플릿에 많이 추가되지 않으며 Java만큼 관성이 없습니다.
  3. Apache Wicket : 이것은 내 투자 목록에 있습니다
  4. OpenLaszlo : 라이센스를 지불하지 않고 플래시 작업을하고 싶다면 매우 흥미로워 보입니다.

내 제안으로.

처음에는 JS없이 웹 사이트를 개발하는 법을 배우는 것이 좋습니다. 그런 다음 JS (jQuery 사용), Google "Progressive Enhancement"를 추가하십시오.

이 작업을 수행하면 GWT와 같은 것을 사용하여 정당한 경우 사용할 수 있습니다.

다른 팁

나는 Apache 개찰구를 강력히 추천 할 것입니다. 나는 당신이 Ajax / JQuery에 기대어 있고 이들을 보완하는 구성 요소 프레임 워크를 요구하는 질문을 댓글 / 편집 한 것을 알았습니다.

구성 요소 기반 프레임 워크 중 IMO는 3 자 JavaScript 라이브러리와 최고의 통합을 제공합니다. 나는 경쟁자 GWT, Tapestry 및 JSF를 개인적으로 평가했지만 개찰구는 다음과 같습니다.

  • JavaScript를 HTML> 헤드에 기여하십시오
  • Ajax 콜백 코드 (또는 사용자 정의 JavaScript)를 웹 페이지에 넣습니다.
  • 서버 측의 상태 가득한 구성 요소에서 이벤트를 호출하십시오.
  • ajax (xhr) 요청이 발생하기 전에 또는 / 전 및 임의의 JavaScript를 실행합니다.

이 블로그 게시물을 볼 수 있습니다 Yui를 개찰구와 통합하는 방법, 동일한 개념을 jQuery로 쉽게 확장 할 수 있습니다.

즉, 개찰구의 내장 Ajax 지원을 통해 실제로 한 줄의 JavaScript 코드를 작성하지 않고도 풍부한 UI-S를 만들 수 있습니다. 웹 페이지의 선택적 부분, 팝업 대화 상자 등의 역동적 인 새로 고침을 생각하십시오.

나는 또한 개찰구 통합 프로젝트를 알고 있습니다. Wiquery, 그러나 나는 그것을 아직 시도하지 않았습니다.

나는 최신 프로젝트를 위해 GWT (GWT-EXT와 함께)에서 일하고 있으며 그것을 즐겼습니다. 그 외에도 jQuery는 항상 신의 선물이었으며, 더 강력한 프레임 워크가 없을 때마다 사용할 것입니다.

상당한 양의 JavaScript/Ajax를해야한다면 jQuery를 배우고 사용하고 싶습니다! 1999 년에 나왔을 때 수년간의 슬픔을 구했을 것입니다.

나는 기초 지식에 초점을 맞추는 경향이 있으므로 객체 지향 JavaScript를 포함하여 JavaScript를 강력하게 이해하고 싶을 수도 있습니다.

JavaScript를 잘 알고 나면 라이브러리를 쉽게 픽업 할 수 있습니다.

태그와 같이 유용 할 수있는 HTML5의 일부 기능에 대한 이해를 얻을 수 있습니다.

Flash IDE가 생성하는 코드를 알 수 있으므로 Flash의 작동 방식을 이해하는 데 도움이되는 ActionScript 3을 배우고 싶을 수도 있습니다. Eclipse를 사용하여 ANT 스크립트를 사용하여 ActionScript 코드를 컴파일했습니다.

Silverlight는 인기를 얻고 있지만 VisualStudio Express가 필요하지만 Flash와의 강력한 경쟁자입니다.

나머지는 목록이 철저하지 않기 때문에 지나가는 참조가 유용 할 수 있지만, 이들에 대한 기초 언어와 빠르게 선택할 수있는 프레임 워크를 잘 이해하도록하십시오.

웹 브라우저를 통해 일종의 클라이언트/서버 경험을 원한다면 Google Eclipse 플러그인과 함께 GWT를 살펴 보는 것이 좋습니다. 이러한 종류의 기술을 사용하면 실제로 달성 할 수있는 가장 반응이 좋은 웹 앱을 작성할 수 있습니다 (내 관점에서).

그렇지 않으면 다소 전통적인 웹 앱을 개발하고 Ajax 기능을 추가하려면 살펴볼 수 있습니다. DWR (직접 웹 리모 팅). 이러한 종류의 기술을 사용하면 JavaScript를 통해 기능을 사용할 수 있도록 서버 측 Java 객체를 클라이언트 측에 연결할 수 있습니다. Ajax 기능을 작성하고 기존 논리를 재사용하는 데 도움이됩니다.

물론 jQuery는 항상 좋은 대안입니다.

이음새, 스프링, 리치 페이스, ajax4jsf

나는 당신과 같은 트랙에 있습니다. 거대한 인터넷 사이트의 서버 측 + 클라이언트 측 개발 도구 세트를 찾으려고 노력하고 있습니다. 내가보고 읽은 한 언제나처럼, 그것은 필요한 웹 애플리케이션의 종류에 따라 다릅니다.

사용하기 쉬운, 선언적, 대상 지향 등을 기반으로 다른 JavaScript 프레임 워크를 사용하는 사람들이 있습니다.

고려해야 할 몇 가지 사항이 있습니다. 1) 클라이언트 측 기술 1A) "핵심"클라이언트 측 기술 : 프레임 워크 1B) UI 클라이언트 측 기술 향상 2) 서버 측 기술

"Core"JavaScript 프레임 워크의 경우 jQuery, Mootools (MIT 라이센스), ExtJS Core (MIT 라이센스) (EXTJS가 아님 : ExtJS Core + UI 가제트 및 나중에는 상용 라이센스가 필요함), Yahoo UI 등을 찾을 수 있습니다. 이와 같은 사이트에서 비교할 수 있습니다. http://www.domassistant.com/slickspeed/

이 테스트는 "어쨌든"각 "Core"클라이언트 JavaScript 프레임 워크의 각기 다른 측면을 비교합니다.

그 프레임 워크에서 무엇을 얻습니까? 그들 대부분은 "크로스 브라우저"호환 가능하며 각각의 다른 방법과 구문을 가지고 있습니다.

가장 좋아하는 것을 테스트하고 찾는 문제입니다.

이를 통해 "EveryBrowser"를 코딩하는 방법을 얻을 수 있습니다.

이제 "위젯/컨트롤/UI 가제트"가 필요한 경우 각 "Core"프레임 워크에는 자체 UI 관련 확장이 있습니다.

그들 중 일부는 서로 상호 작용할 수 있습니다. ExtJ의 구현 (핵심이 아닌 여러 UI 요소와 함께 제공되는 핵심)에 대해 읽었습니다. jQuery에 연결할 수 있습니다.

따라서 클라이언트 측의 경우 "핵심"프레임 워크를 선택해야하며 UI가 필요한 경우 일부 UI가 관련되어 있어야합니다.

이 프레임 워크와 호환되는 몇 가지 IDE가 있습니다. 하나는 Aptana, Eclipse, NetBeans (최신 버전이 JavaScript와 매우 잘 통합됨) 또는 Microsoft Side Expression, Visual Studio Express 또는 "Pro"에 있습니다.

또한 jQuery가 "AS-IS"를 포함하고 Microsoft와 Nokia의 지원을 받았다는 사실도 있습니다. 따라서 jQuery는 지금 더 많은 관심을 끌고 더 많은 지원과 더 많은 "공개"를 얻을 것입니다. 나는 그것이 많은 관심과 개선을 얻을 것으로 예상합니다. 그들은 jQuery를 사지 않았고, 지금부터 VS 솔루션에 포함 된 오픈 소스로 준수했습니다. ASP.NET MVC, 구성 요소 등과 매우 밀접하게 연결됩니다.

어쨌든, jQuery는 앞서 말했듯이, 유일한 사람은 아니며 반드시 최고가 아닙니다.

서버 측의 경우, Java, ASP.net, 편안한 느낌이 무엇이든 지식에 따라 다릅니다.

나는 당신이 이것이 유용하다는 것을 알기를 바랍니다.

GWT 프로그램이 Java 프로그래밍 언어로 작성 하고이 프로그래밍 언어는 매우 강력하고 이해하기 쉽기 때문에 저의 선택은 GWT입니다.

jQuery와 ext-JS도 좋지만 JavaScript 프로그래밍 언어에 문제가있었습니다. 이 프로그래밍 언어는 매우 오류가 발생하기 쉽습니다.

Apache 개찰구 코딩은 GWT를 좋아하지만 서버 측 기술이며 무거운 기술입니다.

Javafx 프로그램에 플러그인이 필요하기 때문에 내 선택이 아닙니다.

JavaScript에 문제가없는 경우 jQuery 또는 ext-JS입니다.

아마도 도구의 조합을 배워야 할 것이지만 아마도 Ajax로 시작한 다음 일부 JS 라이브러리 (jQuery, 프로토 타입 스크립트 어, mootools 등)로 이동해야합니다.

그것들은 또한 JSF 프레임 워크를 멋지게 칭찬 할 것입니다.

당신은 또한 고려할 수도 있습니다 이클립스 풍부한 Ajax 플랫폼 Java 기반 RIA 플랫폼을 평가할 때.

나는 당신이 살펴 보는 것을 제안합니다 vexi, Applet + Swing/AWT보다 유연한 데스크탑과 같은 응용 프로그램을 제공합니다.

(면책 조항 : 저는 Vexi의 개발자입니다)

응용 프로그램은 데스크탑과 유사하고 풍부하고 반응이 좋으며 인터넷을 통해 "투영"하는 사용자 인터페이스입니다. 모든 응용 프로그램 로직은 선택 언어로 작성한 서버에 있으며 XMLRPC 인터페이스를 통해 노출됩니다.

Vexi의 주요 장점은 레이아웃이 상자 모델이므로 레이아웃이 정말 쉽다는 것입니다. HTML보다 이해하기가 더 쉽습니다.

<box>
    <box orient="vertical">        .-------------------.
        <box fill="red" />         |   red   |         |
        <box fill="blue" />        |---------|  green  |
    </box>                         |   blue  |         |
    <box fill="green" />           '-------------------'
</box>

스크립팅은 JavaScript로 수행되며 확장 가능한 위젯 세트가 있습니다. 위젯을 사용하는 것도 쉽습니다.

<button id="button1" text="My button" />
<textarea id="text1" shadowtext="Type in here!" />
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top