This is in continuation to prev post "Which Language to choose for a User Interface". I had mentioned something about JavaFx. I was instantly withdrawn towards FX2 the moment I started reading about it. I wanted to try it, and so I checked how to install the same. At that time I could spot certain DLL's etc. that were shipped with FX2. Now, all that you have to do to install the latest JDK and you have it.
What is JavaFX2?
Quoting from WIKI- JavaFX is a software platform for creating and delivering rich internet applications (RIAs) that can run across a wide variety of devices. The current release has support for desktop computers and web browsers on Windows, Linux, and Mac OS X.
Sun- JavaFX 2 is the next step in the evolution of Java as a rich client platform, shortening development time and easing deployment of data-driven business and enterprise client applications.
The JavaFX2 Documentation - JavaFX is a set of graphics and media packages that enables developers to design, create, test, debug, and deploy rich client applications that operate consistently across diverse platforms.
Overview of JavaFx2 in the JavaFx2 documentation establishes many benefits of using Javafx2 over many languages. It is a must read even for those who have not read it before.
Why JavaFx2 though? the question is pretty obvious and is most important here to be discussed.
I always thought that why cant a Web APP kind of UI be applied to Desktops. I mean layouts using a "View", decorating using css, events using scripts etc. This had to be simple and still was not available. Why do I have to learn two different things, one to create a Web Application and the other to create a Desktop Application. My questions were answered when FX2 came into picture.
As a Java developer working on Web Apps, I always wanted a similar technology for Desktop Apps.
Working on Java, there has been many occasions where I needed to build a GUI application. There were options like Swing, SWT etc. I would mention that Swing is great for UI development. I created all my college apps in Swing, also my intern-ship project was in Swing. But, soon I realised that trends changed over time. There was a need for something different. Much more different than what technology like Swing offered. For example why do an interactive developer need to learn how to code in Java to develop a UI of an App. With the way user Interfaces are being developed these days, you need experts to give you that jazzy feel about your App. Is this possible in Swing? Of course it is, but imagine the time both a Java developer and an UI developer will have to spend together to come up with the same. Anyway, lets say you learnt Swing and Java and started creating Apps. Now as a Client, I want you to create a web APP as well. Now what? start learning HTML/CSS and what not. What about a mobile App. Javafx2 aims to resolve these issues. Also, it is easily integrable with Swing.
FX2 has many advantages. It can exploit the power of Java by referencing API's from Java library. Look and Feel of FX2 applications is highly customizable as it can be done using CSS. Layouts can be created using fxml file that is xml based and hence separate from coding. JS files can be included to capture events. This just doesn't end here. FX2 has lot of other benefits as well like its light weight. FX2 can be incorporated in an IDE like eclipse and comes default with Netbeans. These are very powerful IDE's and help a lot during development. For designing UI, Scene Builder can be downloaded and integrated as well with your IDE's. All of these are freely available.
So you got portability, readability, ease of development and faster development. You get an uniform language for all possible devices. You get integration with Swing. You get the power of Open source as well. What else could one ask for? You get to create the most amazing Apps in one of the most used language and huge number of people to help you worldwide in case you are stuck.
If you want to see the full capability of Javafx please visit the sample page.
What is JavaFX2?
Quoting from WIKI- JavaFX is a software platform for creating and delivering rich internet applications (RIAs) that can run across a wide variety of devices. The current release has support for desktop computers and web browsers on Windows, Linux, and Mac OS X.
Sun- JavaFX 2 is the next step in the evolution of Java as a rich client platform, shortening development time and easing deployment of data-driven business and enterprise client applications.
The JavaFX2 Documentation - JavaFX is a set of graphics and media packages that enables developers to design, create, test, debug, and deploy rich client applications that operate consistently across diverse platforms.
Overview of JavaFx2 in the JavaFx2 documentation establishes many benefits of using Javafx2 over many languages. It is a must read even for those who have not read it before.
Why JavaFx2 though? the question is pretty obvious and is most important here to be discussed.
I always thought that why cant a Web APP kind of UI be applied to Desktops. I mean layouts using a "View", decorating using css, events using scripts etc. This had to be simple and still was not available. Why do I have to learn two different things, one to create a Web Application and the other to create a Desktop Application. My questions were answered when FX2 came into picture.
As a Java developer working on Web Apps, I always wanted a similar technology for Desktop Apps.
Working on Java, there has been many occasions where I needed to build a GUI application. There were options like Swing, SWT etc. I would mention that Swing is great for UI development. I created all my college apps in Swing, also my intern-ship project was in Swing. But, soon I realised that trends changed over time. There was a need for something different. Much more different than what technology like Swing offered. For example why do an interactive developer need to learn how to code in Java to develop a UI of an App. With the way user Interfaces are being developed these days, you need experts to give you that jazzy feel about your App. Is this possible in Swing? Of course it is, but imagine the time both a Java developer and an UI developer will have to spend together to come up with the same. Anyway, lets say you learnt Swing and Java and started creating Apps. Now as a Client, I want you to create a web APP as well. Now what? start learning HTML/CSS and what not. What about a mobile App. Javafx2 aims to resolve these issues. Also, it is easily integrable with Swing.
FX2 has many advantages. It can exploit the power of Java by referencing API's from Java library. Look and Feel of FX2 applications is highly customizable as it can be done using CSS. Layouts can be created using fxml file that is xml based and hence separate from coding. JS files can be included to capture events. This just doesn't end here. FX2 has lot of other benefits as well like its light weight. FX2 can be incorporated in an IDE like eclipse and comes default with Netbeans. These are very powerful IDE's and help a lot during development. For designing UI, Scene Builder can be downloaded and integrated as well with your IDE's. All of these are freely available.
So you got portability, readability, ease of development and faster development. You get an uniform language for all possible devices. You get integration with Swing. You get the power of Open source as well. What else could one ask for? You get to create the most amazing Apps in one of the most used language and huge number of people to help you worldwide in case you are stuck.
If you want to see the full capability of Javafx please visit the sample page.
No comments:
Post a Comment