¿Por qué Internet está lleno de JavaFX y no de JavaFXML?

Yo uso FXML todo el tiempo, es genial.

Sin embargo, no era parte de las primeras versiones de JavaFX, por lo que simplemente no existía cuando se escribieron muchos tutoriales de JavaFX, etc.

Creo que FXML (y Java y JavaFX) no se aprecian en su conjunto simplemente porque no encaja en la moda del día. Las modas del día incluyen:

1) Aplicaciones, puede escribir aplicaciones para iPhone y Android en JavaFX sin problema, pero eso no encaja en el mito de Internet de que no puede usar Java en iPhone.

2) Los lenguajes dinámicos, Python, JavaScript, etc. están teniendo su día en el sol (como todos los lenguajes lo hacen) y un lenguaje grande, estricto y de tipo estático no encaja realmente en ese mensaje.

Creo que también puede haber algo que decir sobre Java, JavaFX y FXML como tecnologías más comunes en las grandes empresas, y no con entusiastas, y sus entusiastas escriben publicaciones de blog, no grandes empresas. Como experimento rápido, revisé TIOBE para COBOL y Rust.

COBOL es utilizado por aproximadamente 5 veces más personas que Rust.

Si buscas en Google ‘cobol language’ y ‘rust language’, verás que Rust arroja aproximadamente 30 veces más resultados.

Por lo tanto, COBOL se usa mucho más comúnmente, pero Rust tiene mucha más presencia en la web. Creo que es lo mismo para JavaFX, se usa * mucho *, pero no es por las mismas personas que escriben blogs, hacen tutoriales y publican en foros.

Respondió su propia pregunta: “en FXML es fácil diseñar la interfaz de usuario con SceneBuilder”

Nadie hace FXML manualmente porque es tedioso y propenso a errores. Solo he hecho pequeños ajustes manuales a un archivo FXML producido por Scene Builder. Pienso en ello casi como un lenguaje ensamblador. Rara vez tiene sentido escribir código ensamblador directamente, utiliza un lenguaje de nivel superior que construye las instrucciones de la máquina. Del mismo modo que usa Scene Builder para producir el archivo FXML. Si desea ver qué produjo un compilador de C, puede ver el ensamblaje si lo desea … al igual que puede ver el FXML si lo desea … y es un poco más fácil de usar que las instrucciones de ensamblaje. Sin embargo, generalmente no es algo de lo que deba preocuparse.

En cuanto a la codificación de las interfaces de usuario JavaFX, si no va a utilizar Scene Builder, también puede codificar la interfaz de usuario en Java que escribir manualmente FXML.

FXML es un lenguaje de diseño. Entonces usa Scene Builder para diseñar la interfaz, y le dará un archivo FXML que describe su diseño.

Para que las cosas sucedan, como presionar un botón se abre un cuadro de diálogo, debe vincular los elementos de la interfaz de usuario que definió con FXML. La herramienta que necesita para hacerlo es JavaFX, al que se puede acceder utilizando Java u otros lenguajes JVM como Scala, Kotlin o Clojure.

Entonces, si desea crear un navegador web, primero defina su diseño usando FXML y / o Scene Builder, y luego implemente la lógica en Java (o similar).