Modality는 개발 중 최초의 실제 엔터프라이즈 레벨 WebFX 응용 프로그램입니다. 다음은 백 오피스의 몇 가지 와이어 프레임입니다 (WebFX는이 UI에 필요한 모든 구성 요소를 제공합니다) :
WebFX는 웹 만 타겟팅하지 않습니다. WebFX 응용 프로그램은 단일 코드 기반에서 기본적으로 7 개의 플랫폼에서 실행되도록 컴파일 할 수 있습니다!
| 플랫폼 | 32 또는 64 비트 JRE | 64 비트 기본 |
|---|---|---|
| 데스크탑 (Windows, MacOS & Linux) | ✅ | ✅ |
| 태블릿 및 모바일 (Android & IOS) | ✅ | |
| embed (raspberry pi) ~ 아직 문서화되지 않았습니다 | ✅ | ✅ |
| 웹 (Chrome, Firefox, Edge 등) |
데모를 확인하여 Github 워크 플로우가 이러한 실행 파일을 생성하는 방법을 확인할 수 있습니다. 예를 들어, 다음은 FX2048 데모의 GitHub 워크 플로 및 생성 된 실행 파일입니다.
WebFX는 GWT 호환 버전의 OpenJFX 인 WebFX 키트와 함께 JAVAFX 응용 프로그램을 컴파일합니다.
자세한 내용은 문서를 읽으십시오.
시작 안내서는 문서에 포함되어 있습니다.
WebFX 키트 (이 저장소)는 프로젝트의 핵심이지만 WebFX 생태계를 구성하는 다른 중요한 저장소가 있습니다. 그들에 대한 자세한 정보는 조직 수준에서 제공됩니다.
WebFX는 여전히 인큐베이션 단계에 있습니다. 아래 로드맵을 참조하십시오. 이 단계에서는 스냅 샷 릴리스 만 제공하며 첫 번째 공식 릴리스까지 변경 사항이 발생할 수 있습니다.
webfx.xml 파일의 구문 문서 ⓵ 100% = 3D, CSS 없음. Javafx 3D는 HTML에 쉽게 매핑 할 수 없습니다. CSS의 경우 WebFX 접근 방식은 브라우저에서 Javafx CSS를 모방하는 대신 HTML CSS에 의존하는 것입니다. 이 접근법에 대한 자세한 내용은 this를 참조하십시오.
webfx는 일반적인 Javafx-Controls API를 지원합니다 (사용자 정의 컨트롤을 작성할 수 있음). 지금까지 지원되는 Javafx 컨트롤은 버튼, 확인란, Radiobutton, ContextMenu, Label, HyperLink, TextField, TextRea, ProductBar, Slider, ScrollPane, Splitpane & Tabpane입니다.
fxml은 반사에 의존하며, 이는 트랜스 필러에 의해 지원되지 않습니다. 또는 WebFX는 FXML 파일을 변환 가능한 Java 코드로 변환 할 수 있습니다. FXML 기반 JAVAFX 게임 인 메모리 게임 (Working Demo 참조)을 사용 하여이 접근법으로 프로토 타입이 만들어졌습니다.
webfx는 현재 WebFX를 트랜스 필러에 비판적으로 만들기위한 노력이 이루어지고 있습니다. J2CL (활발한 개발에서 GWT의 후임)이 곧 지원 될 것입니다. 이 미래 방지 단계는 또한 webassembly target (JavaScript 외에) 및 Kotlin Language (Java 외에)와 같은 J2CL의 다음 케이크를 가져올 것입니다.
TEAVM은 또 다른 인기있는 트랜스 필러입니다. GWT & J2CL은 Java-Source Transpilers 인 반면, TEVM은 바이트 코드 트랜스 필러이며 Scala와 같은 다른 대체 JVM 언어의 문을 열어줍니다. 또한 TEAVM은 record 및 새로운 switch 표현식을 포함하여 Java 21을 지원합니다.
JXBROWSER 지원은 개발자가 Java에서 직접 WebFX 앱의 웹 버전을 실행, 테스트 및 디버깅하는 데 사용할 수있는 외부 웹보기를 제공합니다 (변환 필요 없음). IDE는 JVM에서 WebFX 키트 런타임 (OpenJFX 대신)으로 앱을 실행하며 WebFX에서 생성 된 DOM은 JXBROWER (Java로 제어되는 크롬 기반 브라우저)에서 렌더링됩니다. 이것은 웹 앱의 개발주기를 상당히 높일 것입니다.
WebFX Extras는 WebFX에 대한 추가 기능을 제공하며 아직 지원되지 않는 복잡한 JavaFX 컨트롤에 대한 간단한 대체 컨트롤 (예 : 간단한 데이터 그리드 및 차트).
webfx 스택은 UI Router, i18N, Validation, Auth (N/Z)와 같은 추가 엔터프라이즈 레벨 기능을 제공합니다. WebFX Stack + Vert.x는 Java Full-Stack 솔루션 (React + Node.js와 유사)입니다.
webfx CSS는 듀얼 형식에 의존합니다 : Javafx CSS & HTML CSS. WebFX 개발자는 두 형식을 모두 작성해야합니다. 더 많은 작업이지만, 이것은 가장 최적화 된 접근법입니다 (브라우저에서 Javafx CSS를 모방하고 Caspian.css를로드하는 것은 큰 접근법이 될 것입니다). WebFX CSS는 현대적인 매끄러운 미니멀리즘 플랫 디자인을 사용하여 Caspian을 대체 할 Javafx의 초기 CSS를 더 가볍게 제공합니다.
현재 패치 프로세스 (주로 OpenJFX 8의 수동 패치)에서 OpenJFX에 정기적으로 재건 할 수있는 툴링을 사용하여보다 전문적인 패치 프로세스로 이동하려면 일부 재 설계 작업이 필요합니다.
질문이나 도움을 요청하려면 Github 토론을 열거나 Discord에서 #general Chat 채널을 사용하십시오. 버그를보고하거나 기능을 요청하는 문제를 열 수 있습니다.
업데이트를 받으려면 얼마나 자주 업데이트를 받으려는 지에 따라 블로그 (RSS- 트래픽이 낮음)를 구독하거나 @webfxProject (X- 중간 트래픽)를 팔로우하거나 #News 채널 (Discord - 더 높은 트래픽)에 가입 할 수 있습니다.
프로젝트를 크게 도울 수 있습니다.
개발에도 참여하고 싶습니까? 당신은 매우 환영합니다! 기고 가이드를 읽으십시오.
WebFX는 Apache 라이센스 2.0에 따라 라이센스가 부여 된 무료 오픈 소스 소프트웨어입니다.