퀵스두
qooxdoo![]() |
![]() qoxdoo 응용 프로그램을 실행하는 웹 브라우저 | |
안정된 릴리스 | 6.0.1 / 2021년 2월 4일; [1] 전( |
---|---|
저장소 | |
유형 | JavaScript 응용 프로그램 프레임워크 |
면허증. | LGPL, EPL |
웹 사이트 | qooxdoo |
qooxdoo/"ku"ksdu"/ 는 오픈소스 Ajaxweb 어플리케이션 프레임워크입니다.LGPL 및/또는 EPL 라이선스를 취득한 클라이언트 측 및 서버에 의존하지 않는 솔루션으로 전문적인 JavaScript 개발, Graphical User Interface(GUI; 그래피컬 사용자 인터페이스) 툴킷 및 고급 클라이언트-서버 통신을 지원합니다.
프레임워크
qooxdoo는 완전히 클래스 기반이며 객체 지향 JavaScript의 기능을 활용하려고 하며 네임스페이스에 기반합니다.Gecko(Firefox, Mozilla, SeaMonkey), Presto(Opera), Trident(Internet Explorer, RealPlayer, Winamp), WebKit(Chrome, [2]Safari)를 포함한 대부분의 최신 브라우저가 지원됩니다.Javadoc과 같은 코멘트에서 자동으로 생성되는 API 참조가 포함되어 있습니다.함께 제공되는 툴 세트에는 자동 빌드 프로세스의 필수 요소인 포괄적인 JavaScript 파서가 포함되어 있으며 커스텀 애플리케이션의 최적화, 압축, 링크 및 도입, 문서 생성에 사용됩니다.애플리케이션의 국제화 및 현지화가 지원됩니다.qooxdoo는 포괄적인 SDK로 다운로드[3] 할 수 있습니다.
GUI 툴킷
순수 JavaScript 프레임워크임에도 불구하고 Qt, Standard Widget Toolkit(SWT) 등의 GUI 툴킷과 동등한 사용자 인터페이스 구현입니다.네이티브 데스크톱 애플리케이션 요소와 유사한 위젯 세트를 제공합니다.키보드 내비게이션, 포커스 및 탭 처리, 드래그 앤 드롭을 위한 내장 지원이 제공됩니다.치수는 정적, 자동 크기 조정, 신장, 백분율, 가중 플렉스 또는 최소/최대 또는 조합으로 지정할 수 있습니다.모든 위젯은 유연한 레이아웃 관리자를 기반으로 하며, 이는 많은 고급 레이아웃 기능에 중요합니다.인터페이스 설명은 성능을 향상시키기 위해 JavaScript에서 프로그래밍 방식으로 수행됩니다.
사용자 인터페이스의 정의에는 HTML이 필요하지 않으며 인터페이스의 스타일링에는 Cascading Style Sheet(CSS; 캐스케이딩 스타일 시트)가 필요하지 않습니다.심플한 외관 테마는 색상, 아이콘 및 기타 시각적 속성을 스타일링하는 데 사용됩니다.또한 런타임 전환도 지원합니다.
객체 지향 프로그래밍
qooxdoo는 닫힌 형식을 사용하여 새 클래스를 정의합니다.글로벌 클래스 생성자는 새 클래스의 이름과 미리 정의된 키 집합의 값을 제공하는 맵(예: 'construct'(생성자 메서드 후크), 'statics'(정적 클래스 속성 및 메서드의 경우), 'members'(예: 속성 및 메서드의 경우) 및 'destruct'(파괴자의 경우))의 두 개의 인수를 사용합니다.이 (큰) 맵은 클래스 정의를 나타냅니다.클래스는 'extend' 키워드를 사용하여 다른 클래스에서 파생할 수 있습니다.
다음의 애플리케이션 스켈레톤은, 그 동작에 대한 인상을 줍니다.이 코드에 의해 툴팁 기능이 있는 버튼과 함께 작은 응용 프로그램이 생성되고 누르면 경보 상자가 열립니다.온라인 [4]놀이터에서 다음 코드를 실행하고 편집할 수도 있습니다.
qx.학급.정의하다(「커스텀.응용 프로그램", { 확장하다 : qx.어플.스탠드아론, 회원들 : { 주된 : 기능.() { 이것..기초(논쟁들); // Create 버튼 변화하다 버튼 1 = 신규 qx.UI.형태.단추("첫 번째 단추", "icon/22/internet-web-internet.png"); // 문서는 응용 프로그램 루트입니다. 변화하다 문서 = 이것..getRoot(); // 고정된 좌표로 문서에 버튼 추가 문서.더하다(버튼 1, {왼쪽: 100, 정상: 50}); // 툴팁 첨부 버튼 1.set Tool 힌트(신규 qx.UI.툴팁.툴팁("멋진 툴팁", "icon/32/status/dialog-interation.png")); // 이벤트 청취자 추가 버튼 1.add Listener("실패", 기능.(e) { 경계.('헬로 월드'); }); } } });
인터페이스와 믹스인은 같은 방법으로 정의되어 사용됩니다.
아약스
qooxdoo 프로젝트는 클라이언트 측이며 서버에 의존하지 않는 솔루션이지만 클라이언트와 서버 간의 통신을 시연하기 위한 옵션 RPC 서버 구현(현재 Java, PHP, Perl 및 Python)이 포함되어 있습니다.추상 트랜스포트 레이어는 XMLHttpRequest, Iframes 및 Scripts를 통해 큐, 타임아웃 및 구현을 지원합니다.다른 qooxdoo와 마찬가지로 이 계층은 비동기 통신을 단순화하기 위해 이벤트 기반 프로그래밍에 의존합니다.
「 」를 참조해 주세요.
레퍼런스
- ^ "qooxdoo 6.0.0 release". github.com. 2021-02-04. Retrieved 2021-03-10.
- ^ "qooxdoo Requirements". Retrieved 2 February 2011.
- ^ "qooxdoo Download page". Retrieved 2 February 2011.
- ^ "Playground". Retrieved 2 February 2011.
원천
- 데모
- API 참조
- 소스 포지 프로젝트 페이지
- 비디오 개요는 Ajaxian.com에서 보실 수 있습니다.
- 오늘 아카이브에서 TechRepublic에 대한 비판적 검토(2013-01-02)
- HTMLGoodies 리뷰