Java CLI UI-design: frameworks or libraries? [closed] - java

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I'm currently working on a small utility program that only requires a command line interface, and I started wondering if Java provided any standard way of creating the CLI, in a similar way that Swing and the likes exist for GUIs. I'm not really interested in command line parameters and parsing of them, but rather the command based interaction the user has with the program to use it. This is for the situations where GUI simply is unnecessary or not an option for using the program.
Googling the subject pretty much only results in tutorials on how to use BufferedReader and the likes to do rudimentary interaction with the user, aimed at people learning the basics of Java and writing simple UI that asks for name and prints "Hello World!" etc..
Are the any libraries that are focused on providing a good framework for quickly implementing a more complex CLI UI or is this really something that everyone implements in ad hoc manner for their own utilities?
Maybe someone knows of patterns for the implementation that were created back in time when not everything was graphical? That would also be useful resource.

Perhaps CLI Toolkit...
http://alexis.royer.free.fr/CLI/

You can also have a look and Clamshell-cli or spring shell:
Clamshell-cli is relatively simple and easy to use : You can look at jmx-cli to get a nice example of what can be done with it.
Spring Shell is bigger but more feature-full (tab completion, etc). It has been extracted from spring Roo and released as an independent framework

There is a project called JLine that provides cross-platform support for general command-line input handling:
http://jline.sourceforge.net/
More of a support library than a framework though.

Try searching for CURSES and java, something like http://www.google.co.uk/search?q=curses+for+java . Long time ago CHARVA ( http://www.pitman.co.za/projects/charva/index.html ) looked nice.

I've used the apache commons CLI library in the past and has worked well for me: http://commons.apache.org/cli/

Related

Alternatives to Java applets [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 2 years ago.
Improve this question
I'm planning to write a simple program that displays course prerequisites for students at my university in graph form (ie as a network of vertices and edges). I'd like to embed the program in a webpage to save people the hassle of downloading an executable.
Currently I'm looking at making my program a Java applet (Java also would give me access to the handy Swing library), but I don't like the fact that applets can't be viewed on most mobile devices.
What alternatives to applets exist for a project like this? I'd like to make it compatible with as many devices as possible, and also not have to build the graphics stuff from scratch.
One final consideration is I'm doing this mostly as a learning exercise. Ideally the tools I'd be working with would be helpful to know in the future.
Please don't use applets. They have been sufficiently deprecated.
The best way to do this is by using html/js/css. A lot of useful libraries exist that can help you with this task. jQuery seems obvious, but there's also d3.js or vis.js for displaying visual representations of data, and bootstrap for responsiveness (mobile friendliness).
You may use Angularjs with angular-chart for Showing graph in Web Browser.
If your graph data is dynamic you might use Nodejs and mongoDB for backend.
angular-chart is responsive and its easy to show dynamic graph. But as it uses HTML5 canvas some mobile browsers might not show its transitions smoothly depending on the device.
I personally do not prefer using applet in web browser when the same functionality can be achieved using great frameworks like Angularjs.
why dont you try to build your project through Servlet framework
by the way cgi were removed by servlet because of the handling of the request
applet uses the same concept

Seeking Code Generator for Spring Web Application [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
I have been vetting the process of Code Generators online. I started my search with a promising but not popular Eclipse plugin called FastCode (http://www.3pintech.com/products/fast-code/).
It had a higher learning curve with a tradeoff for flexibility. That was find for me because a lot of our application follows a certain standard that I would need to maintain with the generated code. Unfortunately it was very buggy and I think it may be a dead project.
On to SpringFuse. This looked promising, but I have a few problem with it.
1) We are far into our project development lifecycle and I only need to use it for a subset of new tables in our MYSql database. Springfuse seems to take a "let us generate your entire application" approach.
2) We don't use Hibernate and SpringFuse seems to be tied into this
3) It doesn't seem to be that configurable
What I would like to do is start with a database table, and from there generate a corresponding POJO, DAO for CRUD operations, Service Layer to call the DAO and a Unit test for testing each layer. We have a standard pattern for creating our DAO layer that I will be using.
I am considering using Perl or maybe another templating system to do this but that will involve a significant amount of coding on my part. I was wondering if the SO community knows of any good technologies to use here.
I actually think an online sevice would be awesome here, something like the awesome JSON2POJO, but I don't think it exists.
After some research, the solution that worked best for me was to use the FreeMarker Java Template Engine and write my own code generation system. Using regular expressions to parse our database file and converting some of our existing code into FreeMarker templates only took a couple of days and yielded a system that is going to save us a lot of time.
I recommend this approach to users who are in a similar spot for highly customized Enterprise Applications. Most of the rendered code is not fit for primetime, but the base boilerplate code I'm generating results in huge time-savings.
FreeMarker's templating system is very similar to other technologies like JSTL and it throws very descriptive error messages so designing the templates was very simple.

Java GUI libraries [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
I understand this question has been asked before, but that was back in 2008, and things have changed. I tried looking for Swing, but the JFC is now outdated, and I can't seem to find Swing anywhere else.
I'd like to know what the best up-to-date java GUI libraries are.
Looking at the question you link to ( Which GUI Library is the best in Java?
), the answers there are still relevant.
Short version:
There are two serious contenders for a GUI: Swing and SWT.
Swing is more mature (arguably), is part of the standard JDK (no deployment issues), very flexible and well-documented.
SWT makes it easier to behave like a native application across different OSes (but this also means significantly more portability issues). It also reportedly performs better in some scenarios (but this depends very much on what you do).
Some other considerations:
I'd seriouly consider creating a web app when making a new app nowadays. In that case, SWT scores an extra point, because it has Eclipse RAP which (more or less) lets you convert a desktop client into a web client by just recompiling against different libraries, because it uses the same API as SWT.
Also, you might consider building atop a client framework, instead of writing from scratch. In that case, if you use Eclipse as your framework, you'll have to use SWT. Or use Netbeans, which is based on Swing...
SWT has been good to me. It provides a native look-and-feel by using native controls when available.
You can optionally use it and JFace in the Eclipse Rich-Client Platform, which provides a framework for applications built atop a community of plug-ins. It has a high learning curve, but provides a mature, powerful framework that you don't have to build.

Implementing extensible code in C++ [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
I am currently busy with a project where the main focus of the application is to be extensible (allow 3rd party developers to write plugins / their own implementations of interfaces).
Until now, I have been using Java, and built the application on the NetBeans platform. This has works perfectly fine and is quite easy to implement.
However, the program is quite computationally intense, and must be run on a grid of computers. I think C++ might be better suited for massive computations like I need.
What I would like to know. Is there any libraries like the NetBeans platform for C++. Or would I have to implement everything from scratch (not that I mind, I just wat to know)? Also, how easy is it to write extensible code with C++ and implement something like an update center? This is stuff you get for free with the NetBeans platform. My experience with the using the platform is that it allows you to write very modular code, which is something I like. New modules can be installed independantly, while the platform provides discovery of services to find all the installed plugins / impementations.
Can this be done similarly in C++?
Thanks!
I recommend that you have a look at the Qt framework. They offer a mechanism to create plugins. Have a look at this free online book about Qt. Plugins are discussed in chapter 21.
For modularity on binary level Boost.Extension might be a good choice.
For autoupdate there is for example Google's Omaha (Windows) or Update Engine (OS X)

Examples of Object-Oriented Projects Help Procedural Programmers [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
Please help me identify some small to medium sized open source projects that embody object oriented design (preferably in C++ or Java). I would like to use these projects to demonstrate how real world problems (as opposed to contrived text book examples) can be solved with an object oriented design. I want to be able to present a plausible explanation of why certain things were chosen to be objects and how they all work together to solve a problem.
Google Chromium (C++): windows, tabs, plugins etc. are all classes.
The Unreal Tournament Public Source Code (432 Headers) contains the declarations of the Unreal engine class library written in C++. I found it to be a rich example of a large object-oriented program. It taught me a lot about how to modularize and object-orient my code. It also demonstrates many tactics for getting a handle on a large code base.
Also, because all you can read are header files, you'll have a fun (and educational) time trying to figure out how the whole thing comes together. (I actually ended up writing my own x86 disassembler so I could cheat and read some of the definitions!)
On the same note, the Doom 3 SDK contains a large chunk of the Doom/Quake engine written in very readable C++.
Just about any large project designed in Java is object-oriented, almost by definition. You can take a look at Apache Hadoop as a large-scale, open-source, objected oriented project written in Java. Another is Apache Ant.
Eclipse would be a good example on the Java side: the plugin architecture is all object oriented.
I asked the same thing to my OO mentor. He pointed me to the JUnit sources, with the recommendation to see how it evolved version by version. This would show you how Kent Beck writes Java code.
Another example on this vein would be the sources of Fit by Ward Cunningham.

Categories