Modalitas adalah aplikasi WebFX tingkat perusahaan dunia nyata pertama dalam pengembangan. Berikut adalah beberapa gambar rangka dari kantor belakang (Webfx akan menyediakan semua komponen yang diperlukan untuk UI ini):
Webfx tidak hanya menargetkan web. Aplikasi WebFX dapat dikompilasi untuk berjalan secara asli pada 7 platform dari satu basis kode!
| Platform | JRE 32 atau 64-bit | 64-bit asli |
|---|---|---|
| Desktops (Windows, MacOS & Linux) | ✅ | ✅ |
| Tablet & Ponsel (Android & iOS) | ✅ | |
| Embed (raspberry pi) ~ belum didokumentasikan | ✅ | ✅ |
| Web (Chrome, Firefox, Edge, dll ...) |
Anda dapat memeriksa demo untuk melihat bagaimana alur kerja GitHub dapat menghasilkan executable ini. Misalnya, berikut adalah alur kerja GitHub untuk demo FX2048 dan executable yang dihasilkannya.
WebFX mengkompilasi aplikasi JavaFX Anda bersama -sama dengan kit webfx - versi OpenJFX yang kompatibel dengan GWT.
Untuk penjelasan lebih lanjut, silakan baca dokumentasinya.
Panduan untuk memulai dimasukkan dalam dokumentasi.
Meskipun kit webfx (repositori ini) adalah jantung dari proyek ini, ada repositori penting lainnya yang bersama -sama terdiri dari ekosistem webfx. Info lebih lanjut tentang mereka diberikan di tingkat organisasi.
WebFX masih dalam fase inkubasi. Anda dapat berkonsultasi dengan peta jalan kami di bawah ini. Pada tahap ini, kami hanya memberikan rilis snapshot, dan perubahan perubahan dapat terjadi sampai rilis resmi pertama.
webfx.xml ⓵ 100% = tidak 3D, tidak ada CSS. JavaFX 3D tidak dapat dengan mudah dipetakan ke HTML. Untuk CSS, pendekatan WebFX adalah mengandalkan HTML CSS, daripada meniru CSS JAVAFX di browser. Lihat ⓽ Untuk info lebih lanjut tentang pendekatan ini.
⓶ WebFX mendukung API JavaFX-Controls General (memungkinkan Anda untuk menulis kontrol khusus). Sejauh ini, kontrol JavaFX yang didukung adalah: Tombol, kotak centang, RadioButton, ContextMenu, Label, Hyperlink, Textfield, TextArea, Passwordfield, ProgressBar, Slider, Scrollpane, SplitPane & Tabpane.
⓷ FXML bergantung pada refleksi, yang tidak didukung oleh transpiler. Atau, WebFX dapat mengubah file FXML menjadi kode Java yang dapat ditransfer. Prototipe telah dibuat dengan pendekatan ini menggunakan game memori, game JavaFX berbasis FXML (lihat Demo Bekerja).
⓸ Upaya saat ini sedang dilakukan untuk membuat WebFX transpiler-agnostik. J2CL (penerus GWT dalam pengembangan aktif) akan segera didukung. Langkah tahan masa depan ini juga akan membawa semua barang berikutnya dari J2CL, seperti WebAssembly Target (selain JavaScript) dan bahasa Kotlin (selain Java).
⓹ Teavm adalah transpiler populer lainnya. Sedangkan GWT & J2CL adalah transpiler sumber Java, TEAVM adalah transpiler byte-code, yang akan membuka pintu ke bahasa JVM alternatif lainnya seperti Scala. Juga, TEAVM mendukung Java 21, termasuk record dan ekspresi switch baru.
⓺ Dukungan JXBrowser akan menawarkan tampilan web eksternal yang dapat digunakan pengembang untuk menjalankan, menguji, dan men -debug versi web aplikasi WebFX mereka langsung dari Java (tidak diperlukan transpilasi!). IDE hanya akan menjalankan aplikasi Anda dengan runtime kit webfx (bukan OpenJFX) di JVM, dan DOM yang dihasilkan oleh WebFX akan diterjemahkan di JXBrowser (browser berbasis kromium yang dikendalikan oleh Java). Ini akan sangat mempercepat siklus pengembangan aplikasi web.
⓻ Ekstra WebFX menyediakan fitur tambahan untuk WebFX, dan kontrol alternatif yang lebih sederhana ke kontrol JavaFX yang kompleks belum didukung (mis: kisi data sederhana dan bagan).
⓼ Stack WebFX menyediakan fitur-fitur tingkat perusahaan tambahan seperti: Router UI, I18N, Validasi, AUTH (N/Z) dengan dukungan SSO, ORM sisi klien, akses DB, bus acara berbasis WebSocket (untuk komunikasi server-fokus pada vert.x), dan fitur dorong server. Webfx Stack + Vert.x adalah solusi Java Full-Stack (mirip dengan react + node.js).
⓽ Webfx CSS bergantung pada format ganda: JavaFX CSS & HTML CSS. Pengembang WebFX perlu menulis kedua format. Meskipun lebih banyak pekerjaan, ini adalah pendekatan yang paling dioptimalkan (meniru CSS JAVAFX dan memuat Caspian.CSS di browser akan menjadi pendekatan yang berat). Webfx CSS akan memberikan CSS awal yang lebih ringan untuk JavaFX yang akan menggantikan Caspian, menggunakan desain datar minimalis modern yang ramping.
Beberapa pekerjaan desain ulang juga diperlukan untuk transit dari proses penambalan saat ini (yang terutama merupakan tambalan manual OpenJFX 8) ke proses penambalan yang lebih profesional dengan perkakas yang memungkinkan rebasing reguler ke OpenJFX.
Untuk pertanyaan atau permintaan bantuan, jangan ragu untuk membuka diskusi GitHub, atau menggunakan saluran obrolan #General kami di Discord. Anda dapat membuka masalah untuk melaporkan bug, atau meminta fitur.
Bergantung pada seberapa sering Anda ingin menerima pembaruan, Anda dapat berlangganan blog kami (RSS - lalu lintas rendah), ikuti @webfxproject (x - traffic medium), atau bergabung dengan saluran #News kami (Discord - lalu lintas yang lebih tinggi).
Anda dapat sangat membantu proyek dengan:
Anda juga ingin terlibat dalam pengembangan? Sama -sama! Baca panduan berkontribusi kami.
Webfx adalah perangkat lunak open-source gratis yang dilisensikan di bawah Lisensi Apache 2.0