As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I've recently heard about Apache Pivot being moved to the Top Level Projects category and I was wondering who has tried the most recent version and compared it to other RIA tools. What are the proper categories for comparison?
It seems to be easier to pick up for Java developers since JavaFX has a different scripting language. The Pivot developers say that Pivot is what Sun should have made instead of JavaFX.
Good to hear from you. :-) I agree that we tend to focus more on applet deployment in Pivot's design. However, there is nothing inherent in the platform that prevents an application from using multiple top-level windows. It's just not something we cater to since it isn't relevant to our primary use case (which, as you noted, is browser deployment). Note that it is also not possible to create multiple top-level windows in Flex or Silverlight.
Re: "who is creating applets these days?" - it's not so much about creating applets as it is about creating RIAs. If you ask the question, "who is creating RIAs?", I think the answer would be "a lot of people". Pivot simply allows developers to build RIAs in Java (rather than ActionScript, for example).
Greg
I worked with Pivot and even been part of Pivot development. It is a nice little library, but...
It cannot replace Swing or JavaFX. The original authors are positioning it to compete with Adobe Flex. Because of that its concepts are more like applet than desktop application. It is almost impossible to create a modern desktop application simply because it has a concept of one main window and all the child windows are "inside" of it. I discussed this with authors but it looks like this is the way they want to go.
The library uses its own custom collections library which is sort of strange, but it isn't a show stopper.
Other then that the library is nice. But who is creating applets these days?
Well, I checked pivot 1.4. You can have sub-windows.
Oracle/Sun is putting a lot of effort into promoting JavaFX but it seems to me that all the layout feature etc from swing are gone in profits to some multi-media stuff. Right now FX and business applications are two things very far from each other.
For business RIA application, my first impression is that Pivot is much better designed than FX.
Pivot provides a lot: binding, easy web service, nice design, xml definition of UI... - Yes a lot to consider for a Java developer.
Not perfect but looking at what they have accomplished these last 6 months... impressive!
If you are intereseted in the statistic view -
I compare through 'google trends' between JavaFx to 'Apache Pivot'
and looks like there is no competition - JavaFx lead in a rate that is close to 1 to 0
so it gives perspective about the standard of the industry towards those frameworks.
http://www.google.com/trends?q=apache+pivot%2C+javafx&ctab=0&geo=all&date=all&sort=1
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I'm a developer familiar with Ada, C, Obj.C (iOS), and C#. I would like to create an application to show some data about a robot I'm building. However I have never done graphics with either Mac libraries or OpenGL before.
What I'm trying to achieve is shown in the image below. I have tested Processing to create some stuff. But it's too complicated and Processing is far from powerful for this kind of application. It can't even rotate a line around its center without writing some nasty code.
Requirements:
Graphing capabilities (e.g. voltage drawn in respect to time), Google maps API, gradients, 2D animations, masks.
Questions:
What should I learn? Is this possible to implement using only the Mac libraries/frameworks or should I use OpenGL?
Is it best to do it using Obj c? Or is java worth the learning? How good is Java with graphics like this? This thing is that if I program this using Obj C then its not cross platform.
Any other tips you can give?
Later on, I´d like to add a google maps to show the position of the plane. All data is transmitted through Wifi. 10Hz.
Here is a thread of someone doing this with opengl and js: http://www.jpct.net/forum2/index.php?topic=3076.0
Yes you can do this in opengl, but you may consider Cairo which is 2d rendering and may be simpler. It certainly depends on if you need 3d rendering or not. In case of 3d rendering OpenGL may be a better bet, then trying to fit it into the Cairo system.
If you want it to be cross platform, I'd personally do it in Java or Python, but there are opengl and cairo bindings for most languages. If java I recommend trying LWJGL.
You'll also need to consider what UI framework to use, since you may need buttons and all that jazz. I personally like Qt, but WPF is also quite good.
See here for Cairo Docs: http://cairographics.org/documentation/
In addition this question came up here and there are more suggestions in the comment threads: http://www.gamedev.net/topic/479476-how-would-you-program-a-pfd-primary-flight-display/
I'm not sure how great animation with cairo is, but here is a tutorial demonstrating that: http://cairographics.org/threaded_animation_with_cairo/
I dont think that some specific library will accomplish all the requirements. Probably you will need to use a mix of them.
If you ask me, Id go for a combination of web ui frameworks. Based on the image you have shared, im sure that most of that graphical components can be constructed using ExtJs framework (see these examples: http://www.sencha.com/products/extjs/examples/, http://docs.sencha.com/ext-js/4-2/extjs-build/examples/charts/Gauge.html, http://docs.sencha.com/ext-js/4-2/extjs-build/examples/sandbox/sandbox.html).
For the central panel, maybe there is no library that provides a generic widget like that, and so I would go for a custom HTML5 Canvas implementation (http://en.wikipedia.org/wiki/Canvas_element).
Just want to add that I woudl go for the web way simply because:
Community is BIG for almost any library
Cross platform issues would not be a problem
Most of Web UI frameworks are mature, and have out of the box widgets ready to be used.
Communicating with external APIs (like Google Maps as you mentioned) is a piece of cake using web.
Ah, this is personal experience I've had while I built my final year engineering project(which was incidentally a robot that could fly) - And I've built something like this before.
I used Java for graphing and telemetry data tool with flight display system like that(and it was sufficient).
But if you are good with a programming language, then you can do it in any language of your choice. Yes, Mac + OpenGL + ObjC is good combination too. My aim was to keep the code as portable as possible.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I want to make Dynamic UI for a desktop application. I am planning to make it in JavaFX.
Is it a good choice?
Second thing I want to know is that is it possible to have UI by JavaFx and behind the scene major work in done by pure java? I am totally new in JavaFX so correct me if I am wrong.
Also If I am wrong tell me other possibilities for the Dynamic UI and java code behind for a standalone application.
Having JavaFX 2 UI and pure Java background is valid and usual approach.
There is a good example in this question: JavaFX in enterprise web applications - good alternative to classic web pages?
There's also Swing, SWT, and the Eclipse and NetBeans RCP platforms.
Whether or not JavaFX is a "good" choice, that's more opinion than fact. I wonder about its future. Personally, I like a lot of what's available in Swing combined with a nicer language than Java, like Groovy, JRuby, etc. In an enterprise environment, purchasing a LaF seems a reasonable option.
Yes, JavaFX allows re-use of existing Java libraries; integrating existing code was a design goal.
If creating a desktop application with JavaFX is a good choise or not,... I can't tell you. Even the future of JavaFX is unclear. Despite this, it really depends on your aims and requirements (e.g. target audience, maintenance, ...). Maybe, your question has to be more specific. But, if you are your only customer then 'happy coding' with JavaFX :)
Some hints that might help you getting started:
Separation of concerns
To separate UI from all the other stuff is always of high value. A major key is the Separation of concerns. Starting with this article is a good starting point.
Design Patterns
The next step is to decide for a design pattern enabling to separate presentation from the processing of data. Personally, I'm a fan of the Presentation Model. There are many other patterns out there and I'm sure you'll find the one, fitting your requirements. So it is possible - and always a good approach - to use e.g. JavaFX for UI and pure Java for all the other stuff.
Hope this helps.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I have a Delphi background, also C++ background. But last several years, I involved in web projects, and worked primarily with PHP. Now I am looking for a platform to develop simple desktop applications (interacts with server). I was thinking of Java as I am used with Eclipse IDE, and have C++ background. But I see Lazarus became a mature environment. its applications even work on Java Virtual Machine. In the past I have seen that some Amateur looking technologies have became popular than professional ones like PHP, Flash even Object Pascal. So should I choose Java, or lazarus for desktop application development.
If you have a C++ background, try the Nokia Qt framework which has everything you want to develop desktop application. the Qt SDK is shipped with its own IDE (which's really great) and rich APIs.
Enjoy :)
Of the two options, I would certainly choose Java (larger support base, more stable, more 3rd party libraries, etc).
You mention that you come from a C++ background. Why not just use C++ (theoretically easier than picking up a new language).
If Lazarus runs on the JVM, it should have access to the same libraries as every other JVM language, so you'd be learning swing, etc.
If you are going to do desktop apps and you want a decent GUI toolkit you really have two choices as far as I know, either go with a JVM language or .net
If you go with a JVM, why in specific Lazurus? There are dozens (well technically hundreds--possibly thousands) of JVM languages to choose from. Go with anything stable that helps you get the job done.
Hmm, that is UNLESS you don't work alone. If you work with others, I suggest Java (or C#) period (Maybe Scala). Otherwise you will have a heck of a time hiring and training.
There are also probably C++ GUI frameworks, even cross-platform sometimes but none will be as rich as everything that is available on the JVM or .net platforms.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I start to migrate an old Swing app to web interface:
Alternatives I want :
Gwt, Vaadin,Smart Gwt, Ext Gwt
The profile of the app is a custom ERP.
Big question is which ?
Why GWT do not have rich components like Vaadin ,SmartGwt and ExtGwt has ?
DO you know any GWT component library ?
Thanks.
Well, I don't think there is a definite answer for this one. I started about 2 years ago with all this web-dev maze and I have theses conclusions:
GWT: This framework is really all about abstracting you from the "real" web development. The framework has evolved a lot since I use it. It has gotten better and they are continually introducing interesting new concepts and options for you to build your app. They leave a hole lot of freedom to the dev. This can be a good thing since it can be nice to choose components you already know. Say you know JQuery, they have GQuery, you know Hibernate you can use it, Spring you can use it. But, to much freedom is kind of daunting for GWT beginners since it's hard to plug all the components to get an enterprise application. Is it that hard? Not really you get used to it's concepts and start liking it. As far as Widget goes, they do not offer as many eye candy stuff as Vaadin, gxt or Smart but I like to stick with the bases.
Smart: I used SmartGWT for enterprise level projets and it does the job. It has many great components that will get you where you want. It is a huge framework though and it gets complex when something doesn't work as you expected. But, you could be happy with it. It gets a bit hard to use layouts sometimes.
GXT: Really nice. They offer a lot of great widgets, yes. They offer good support, yes. You have to pay :( yes. Unless you are an Open source project, you will have to pay fees to use it. The baseline is, I abandoned it until they release the version 3.0. Why? They are syncing with GWT roadmap. They will be using the same event handling and UI binders. I'm waiting for this to ease my dev. time. Sometimes you also want to mix (which might not be the greatest idea) but the event model being different from the GWT one is pretty crappy.
Bottom line, I sticking with GWT for now. They will continue enhancing it and the support community is great! But you won't get a savvy UI which you could get with any of the frameworks.
good luck
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I come from a few years experience in .NET, and played a bit with
Java during my uni studies.
Could you recommend any good books to learn the best ways to
develop a Java web applet?
There is a good SUN tutorial on Applets here.
I wouldn't put applets at the top of the list of Java EE technologies to learn. They were very important when Java first came out, because they made the browser dynamic, but they aren't as important now.
I'd say that the best approach is to start with servlets, JSPs using JSTL (Java Server Pages and JSP Standard Tag Library), and JDBC (database access). You can go a very long way writing web apps just with those technologies.
Just a suggestion, but the documentation on Sun's Documentation Site and their Tutorial sections offer a lot of good information that'll put you on track with their core functionalities. I'm currently taking a Java course at my local college, and I refer to the API website & documentation sites more frequently than my book.
The use of Applets has declined, especially, in light of newer technologies like Flash. However, you still see some use of Java Applets. For example Facebook has an Applet to help you upload photos.
There is quite a push to re-invigorate the Java applet technology, and most of this push comes from JavaFX. JavaFX is a scripting environment which offers many of the features which has made Flash so popular. JavaFX runs on top of Java's applet technology, but uses it's own graphics run time instead of Swing.
Most books on Java applets were written pre-Y2K. The few up to date books on applets are mostly written for non programmers. See the books by Elizabeth Boese for example.
If you want to take up learning JavaFX (which will teach you a bit about applets), I'd suggest reading Pro JavaFX™ Platform.
If you're developing applets, you'll inevitably be better off starting by learning to develop using the swing api. I'd suggest pulling down the netbeans ide, and create a swing ui in it (you'll feel pretty comfy with this if you have experience with winforms, etc.) It's not hard to turn this result into a webstart app or applet. I'm partial to netbeans because of it's excellent ui builder's integration with the matisse layout concept.
If you're interested in an asp.net (ish) framework for developing web applications, take a look at Tapestry. It's not identical, but a lot of the concepts are the same (you extend a page object, you make reusable components, etc.)