웹 용 데스크탑과 같은 앱을 만드는 데 어떤 프레임 워크가 권장됩니까? [닫은

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

문제

웹 기반 데스크탑과 같은 응용 프로그램을 작성하기위한 몇 가지 프레임 워크가 최근에 나타났습니다. 예를 들어 새싹 그리고 카푸치노. 당신은 그들을 사용하는 경험이 있습니까? 당신의 인상은 무엇입니까? 다른 프레임 워크를 놓쳤습니까?

나는 본 적이 관련된 질문 Stackoverflow에서는 "jQuery 또는 Mochikit 또는 Mootools 또는 Dojo 또는 Yui 사용"과 같은 표준 답변을 생성합니다. 어떤 사람들은주는 동안 비표준 답변, 그들은 경험이 거의없는 것 같습니다 사용 이 프레임 워크.

누구든지 브라우저를위한 Destop과 같은 앱을 개발하는 실제 경험을 공유 할 수 있습니까?

도움이 되었습니까?

해결책

속도 문제로 인해 이러한 높은 수준의 프레임 워크는 많은 (사소한) 응용 프로그램에서와 같이 많은 더 큰 (비공개) 응용 프로그램을 유발합니다. 우리의 테스트에서, 모든 고급 프레임 워크는 많은 드래그 가능한 물체 또는 많은 드롭 대상이있는 상황에서, 그리고 긴 목록 (> 1000 개의 항목이있는)이 화면에 표시되는 상황에서 분해되었습니다.

이것의 일부는 IE6 및 IE7과 관련된 문제로 인한 것입니다 (Dom Tree가 특정 복잡성에 도달 한 후 성능이 갑자기 악화되기 시작합니다). 그러나 일부는 이러한 프레임 워크가 생성하는 오버 헤드 때문입니다.

따라서 높은 수준의 프레임 워크를 추천하지 않을 것입니다. 내 추천은 jQuery를 사용하고 DOM과 직접 작업하는 것입니다.

성능 향상을위한 몇 가지 팁 :

  • 아마도 서버에서 HTML을 렌더링하십시오.
  • HTML을 가능한 한 간단하게 유지하십시오.
  • DOM 트리에 많은 요소가 있지 않도록하십시오.
  • 재귀 테이블 구조를 피하십시오 (즉, 상대적으로 적은 수준의 둥지 후 갑자기 표시가 멈 춥니 다).
  • DOM 트리에서 보이지 않는 요소를 제거하십시오.
  • 돔 트리에서 물건을 갈아 입기 전에 물건을 제거한 다음 나무에있는 동안 교체하지 않고 다시 삽입하십시오.

다른 팁

내 관점에서, Cappuccino는하지 말아야 할 일의 예입니다. 그들은 JavaScript 위에 또 다른 언어를 구현했는데, 브라우저 개발자가 이미 열심히 싸우고있는 동안 이미 느린 느낌을 가져 왔으며, 최악의 상황은 브라우저 위젯에 전혀 의존하지 않아 모든 사용자 탐색 경험을 깨뜨 렸습니다. 예를 들어, 그들은 마우스 휠을 사용하는 것이 더 이상 작동하지 않는 주요 단점으로 자체 스크롤 바를 구현했습니다!

나는 UI를 가능한 한 브라우저에서 가깝게 유지하면서 풍부한 위젯을 제공하는 ExtJS의 접근 방식을 선호합니다.

또한 기즈모로서 Ext JS를 추천합니다. 라이센스가 변경되었고 모든 사람에게는 효과가 없지만 데스크탑과 같은 일을하고 싶다면 여전히 좋은 선택입니다.

데스크탑 환경에 대한 예제 페이지는 다음과 같습니다. http://extjs.com/deploy/dev/examples/desktop/desktop.html

Apple은 Sproutcore가 작동한다는 것을 보여주고 있지만 그것이 얼마나 잘 작동하는지 추정하기는 어렵습니다. 현재는 집에서 재배 한 라이브러리 세트가있는 웹 앱을 구축하여 Windows 소프트웨어 제품군의 기능 세트를 복제하지만 웹 인터페이스에 적합합니다). 지금까지 나는 특히 팽창을 원하지 않았기 때문에 프레임 워크를 피했습니다. 이 접근법의 문제점은 이미 프레임 워크에있는 기능을 복제하는 시간을 낭비한다는 것입니다. 시간이 지남에 따라 이러한 프레임 워크와 유사한 것에 근사한 것입니다.

이 때문에 나는 ExtJS에서 웹 앱을 구현하는 실험을 해왔으며 놀랍도록 좋은 경험이었습니다. 성능은 탁월하며 구성 요소 세트는 멋진 데모 (웹 툴킷의 일반적인 문제)뿐만 아니라 실제로 앱을 구축하는 데 적합하기 때문에 개발의 용이성이 상당히 높습니다. 데스크탑과 같은 웹 앱을 구축하는 데 관심이 있다면 확실히 추천합니다.

확장 문제는 분명히 여전히 적용되지만 솔직히, 나는 규모가 중요하지 않은 상황에서 툴킷을 사용하는 것이 낫고, 필요한 경우에만 기본 JavaScript로 떨어지는 것이 낫다고 생각합니다 (모든 사람의 근본이되는 조기 최적화 사악한). ExtJS는 프로토 타입이나 jQuery 위에 층을 이룰 수 있으므로이 접근법은 확실히 실행 가능합니다. DOM에서 너무 많은 콘텐츠를 피하는 것은 일반적으로 주문형 로딩 및 하역의 접근 방식입니다. 예를 들어, EXTJS 그리드 클래스에는 타사 확장자가 있으며 데이터로드 및 언로드에 대해 영리하여 백만 행 데이터 세트를 스크롤 할 수 있습니다.

사용을 고려할 수 있습니다 GWT-EXT (아래에 ext 사용) Java를 사용하려면 매우 깨끗한 솔루션 일 수 있습니다.

좋아요 QOOXDOO, 프로토 타입보다는 JS의 OOP 접근 방식을 취하지 만 견고한 프레임 워크이며 많은 기능이 있습니다.

Sproutcore 또는 Capuccino에 대한 경험이 없습니다. 그러나 이런 종류의 작업을 위해 Django 위에 Dojo를 사용하려고 시도했습니다. 느리고 버그가 있다고 말할 수 있습니다.

extjs는 도움이 될 수 있습니다. http://dev.extjs.com/deploy/dev/examples/

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top