Likelihood to Recommend C1 is great for creating custom reports. We have client apps where we've created some fairly complicated reports such as invoices and real estate inspections. We also use the True DBGrid in many of our apps since it is so customizable. Its grouping and filtering features are very nice and can provide summary counts and totals at the bottom or right side of the grid that are very handy.
Read full review Oracle Java SE is well suited to long-running applications (e.g. servers). Java Swing (UI toolkit) is now rather outdated, lacking support for modern UI features. JavaFX, the potential replacement for Swing, has now been separated out of Java core. Ideally, there would be a path to migrate a large application incrementally from Swing to JavaFX, but due to different threading models and other aspects, it is difficult. At this point, it is probably better to use an embedded web browser (e.g. JxBrowser) to provide a modern UI in HTML/Javascript and keep just the business logic in Java.
Read full review Pros The True DBGrid control is nice for showing parent/child relationships and being able to drill down and show the child data. It also is nice for showing summary totals. The report engine is great for building custom reports for Win Forms or web apps. It can do everything that Crystal Reports can do. They have a good selection of controls that can do just about anything you can imagine. Read full review Plenty support built into the tool and IDE like Maven, Ant, Eclipse, IntelliJ. Strong object-orientation language and clear project structure. Wrapper underlines hardware and memory management so the developers can focus on business and implementation. It offers a huge library and framework support from third-parties and the community. Read full review Cons Sometimes it is difficult to figure out where things are in the properties of controls since there are so many things you can drill down into. I find myself using Bing or Google a lot to look up how to do something. Some things are not very intuitive. Of course, I would always like the price to be cheaper. The high price has caused us to not keep current and have the latest version. Read full review Commercial Licensing in 2019. Oracle will charge commercial organizations using Java SE for upgrading to the latest bug fixes and updates. Organizations will now need to either limit their implementation of Java SE or may need to drop it altogether. Slow Performance. Due to the all of the abstraction of the JVM, Java SE programs take much more resources to compile and run compared to Python. Poor UI appearance on all of the major GUI libraries (Swing, SWT, etc.). Through Android Studio, it is easy to get a native look/feel for Java apps, but when it comes to desktops, the UI is far from acceptable (does not mimic the native OS's look/feel at all). Read full review Usability The language is fluent and has good support from a number of open source and commercial IDEs. Language features are added every 6 months, although long-term service releases are only available every 3 years. It would be nice if some of the older APIs were depreciated with more pressure to move to the new replacement APIs (e.g. File vs. Path), but transitions to new features are generally well implemented.
Read full review Support Rating Java is such a mature product at this point that there is little support from the vendor that is needed. Various sources on the internet, and especially StackOverflow, provide a wealth of knowledge and advice. Areas that may benefit from support is when dealing with complex multithreading issues and security libraries.
Read full review Alternatives Considered We have been in business since 1992, so we have used many different products over the years. The two other products we've primary used that are similar to ComponentOne, are Infragistics and Crystal Reports. Infragistics has a vast array of controls similar to ComponentOne. We use both to be honest and I'm not sure which one I would pick over the other. I guess that would depend on what you're trying to accomplish and if one had some control or capability that the other didn't. ComponentOne does have the reporting capabilities, where Infragistics does not.
Read full review Chose to go with Java instead of Python or C++ due to the expertise on the ground with the technology, for its ease of integration with our heterogeneous setup of production servers, and for the third party library support which we've found was able to address some challenging aspects of our business problem.
Read full review Return on Investment ComponentOne allows us to add additional features to our apps that wouldn't be found in apps written with just Visual Studio itself. That allows our clients to get more creative in their requirements, which in turn, means more work and billable hours for us! Our apps appear more professional when using ComponentOne which helps us get projects for new clients. ComponentOne also helps us to save clients some money since we are not having to develop things that it can do from scratch. Read full review The different versions make it harder to work with other companies where some use newer versions while some use older versions, costing time to make them compatible. Licenses are getting to be costly, forcing us to consider OpenJDK as an alternative. New features take time to learn. When someone starts using them, everyone has to take time to learn. Read full review ScreenShots