A modalidade é o primeiro aplicativo Webfx no nível corporativo do mundo real no desenvolvimento. Aqui estão alguns wireframes do back-office (o Webfx fornecerá todos os componentes necessários para essas UIs):
Webfx não tem como alvo apenas a web. Os aplicativos Webfx podem ser compilados para executar nativamente em 7 plataformas de uma única base de código!
| Plataforma | 32 ou 64 bits jre | Nativo de 64 bits |
|---|---|---|
| Desktops (Windows, MacOS e Linux) | ✅ | ✅ |
| Tablets & Mobiles (Android e iOS) | ✅ | |
| Incorporado (Raspberry Pi) ~ ainda não documentado | ✅ | ✅ |
| Web (Chrome, Firefox, Edge, etc ...) |
Você pode conferir as demos para ver como um fluxo de trabalho do GitHub pode gerar esses executáveis. Por exemplo, aqui está o fluxo de trabalho do GitHub para a demonstração FX2048 e os executáveis que ele gerou.
O Webfx compila seu aplicativo Javafx juntamente com o kit Webfx - uma versão compatível com GWT do OpenJFX.
Para mais explicações, leia a documentação.
O guia para começar está incluído na documentação.
Embora o kit webfx (este repositório) seja o coração do projeto, existem outros repositórios importantes que juntos compreendem o ecossistema Webfx. Mais informações sobre eles são fornecidas no nível da organização.
O Webfx ainda está na fase de incubação. Você pode consultar nosso roteiro abaixo. Nesta fase, fornecemos apenas lançamentos de instantâneos e mudanças de ruptura podem ocorrer até o primeiro lançamento oficial.
webfx.xml ⓵ 100% = não 3D, sem CSS. O Javafx 3D não pode ser facilmente mapeado para HTML. Para o CSS, a abordagem Webfx é confiar no HTML CSS, em vez de emular o Javafx CSS no navegador. Veja ⓽ Para obter mais informações sobre essa abordagem.
⓶ O Webfx suporta a API geral Javafx-Controls (permitindo que você escreva controles personalizados). Até agora, os controles JavaFX suportados são: botão, caixa de seleção, radiobutton, contexto, rótulo, hiperlink, campo de texto, textarea, passoudfield, progress bar, deslizamento, scrollpane, splitpane e tabpane.
⓷ O FXML depende da reflexão, que não é suportada por transpilers. Como alternativa, o Webfx pode transformar os arquivos FXML em código Java transpilável. Um protótipo foi feito com essa abordagem usando o jogo de memória, um jogo Javafx baseado em FXML (consulte a demonstração de trabalho).
⓸ Atualmente, está sendo feito um esforço para tornar o Transpiler-Agnóstico do Webfx. J2CL (sucessor do GWT em desenvolvimento ativo) será suportado em breve. Esta etapa à prova de futuro também trará todos os próximos presentes da J2Cl, como o WebAssembly Target (além do JavaScript) e da língua Kotlin (além do Java).
⓹ TeaVM é outro transpiler popular. Enquanto GWT & J2Cl são transpilers de origem Java, o TeaVM é um transpiler de código de byte, que abrirá a porta para outros idiomas JVM alternativos, como o Scala. Além disso, o TeaVM suporta o Java 21, incluindo record e novas expressões switch .
⓺ O suporte ao JXBrowser oferecerá uma visualização da Web externa que os desenvolvedores podem usar para executar, testar e depurar a versão da Web do aplicativo Webfx diretamente do Java (não é necessária transpilação!). O IDE simplesmente executará seu aplicativo com o Webfx Kit Runtime (em vez do OpenJFX) na JVM, e o DOM gerado pelo Webfx será renderizado no JXBrowser (um navegador baseado em cromo controlado por Java). Isso acelerará consideravelmente o ciclo de desenvolvimento dos aplicativos da Web.
⓻ O Webfx Extras fornece recursos adicionais para o Webfx e controles alternativos mais simples para os controles JavaFX complexos ainda não suportados (Ex: Grid e gráficos simples de dados).
⓼ A pilha Webfx fornece recursos adicionais de nível corporativo, como: roteador de interface do usuário, i18n, validação, auth (n/z) com suporte ao SSO, ORM do lado do cliente, acesso a dB, barramento de eventos baseado no WebSocket (para comunicação do servidor-foco no vert.x) e os recursos de push de servidor. Webfx Stack + Vert.x é uma solução de pilha completa Java (semelhante ao React + Node.js).
⓽ O Webfx CSS depende do formato duplo: Javafx CSS e HTML CSS. Os desenvolvedores da Webfx precisarão escrever os dois formatos. Embora seja mais trabalho, essa é a abordagem mais otimizada (emulando Javafx CSS e carregando o caspian.css no navegador seria uma abordagem pesada). O Webfx CSS fornecerá um CSS inicial mais leve para Javafx que substituirá o Caspian, usando um design plano minimalista e elegante.
Também é necessário algum trabalho de reprojetado para o trânsito do processo atual de patches (que é principalmente um patch manual do OpenJFX 8) para um processo de patches mais profissional com ferramentas, permitindo rebasing regular no OpenJFX.
Para quaisquer perguntas ou solicitações de ajuda, sinta -se à vontade para abrir uma discussão no GitHub ou usar nosso canal de bate -papo #General no Discord. Você pode abrir um problema para relatar um bug ou solicitar um recurso.
Dependendo da frequência com que você deseja receber atualizações, pode se inscrever em nosso blog (RSS - Tráfego baixo), siga @WebfxProject (X - Médio Tráfego) ou junte -se ao nosso canal #News (Discord - Traffic mais alto).
Você pode ajudar muito o projeto:
Você também quer se envolver no desenvolvimento? Você é muito bem -vindo! Por favor, leia nosso guia contribuinte.
Webfx é um software gratuito e de código aberto licenciado sob a licença Apache 2.0