I'm new to java fx .
I want to develop a desktop application which connect to database directly.
The important things to me are :
1 - Quick development
2 - Easy to maintain -
3 - Speed
4 - Dynamic - Tables and db objects are dynamic so I will need to create dynamic views (forms , tables) on the fly with out configuration or code change .
1 - Should I develop DAL , Using jdbs ?
2 - Use ORM solution ? which ?
3 - Would you suggest to use FXML and scene builder ?
4 - Do you have example of using stand alone database connectivity with java fx ?
I'll be happy to hear your suggestions
Alon, a couple of things -
really what you are looking for is some design guidelines. The answer to your questions ofetn depend on answers to other questions - questions that others can't answer for you.
So you have 4 design requirements listed
1) quick development - well then coding something in what you already know would be a bias
2) easy to maintain - that depends on the quality of what you develop and how aware of best practices in your chosen development framework are
3) Speed - of database lookups? Screen rendering? DB performance tweaking depends on how big a database usually. Speed is too fluid a concept - you need to pin it down. Generally JavaFX performs just fine - great even. You can also design a JavaFX screen that performs poorly.
4) dynamic - ok, we are getting into issues of complexity - why is it dynamic, and are you looking to update tables with changing designs?
So your questions:
1) DAL using JDBS - how comfortable are you with JDBS? your issue#4 may require this
2) ORM - if you have to dfevelop quickly, do you have time to learn an ORM if you are not already comfortable with it?
3) FXML and Scenebuilder - YES. JavaFX is just Java. best practice drives division between the display layer and the database layer, so use JavaFX for the display. Scenebuilder/FXML will have NOTHING to do with you DB layer if you are building it right
4) Standalone DB connectivity with JavaFX - Depend son database you are using - do you have an example of standalone connectivity with Java? Its the same thing.
Most if these are questions YOU need to answer. You answer them using knowledge of Best practices in development.
To summarize - JavaFX is a great tool for creating a desktop application. SceneBuilder is just a development tool (happens to be a good one). It has a low learning curve. Java is great in general for creating a simple database application - whether you use JavaFX part or not.