Oracle Java SE is a programming language and gives customers enterprise features that minimize the costs of deployment and maintenance of their Java-based IT environment.
N/A
React (React.js)
Score9.2 out of 10
N/A
React or React.js is a JavaScript library for building user interfaces. React enables users to create interactive UIs.
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.
A de minimis incentive was given to thank the reviewer for their time. The incentive was not used to bias or drive a particular response, nor was the incentive contingent on a positive endorsement. More Info
React is a JavaScript user interface construction library that works well for:
Developing web apps with dynamic and complicated user interfaces.
creating reusable UI elements that may be used in other applications.
creating single-page applications with dynamic content updates that don't require a page reload.
The Virtual DOM's effective updating mechanism allows it to handle large volumes of data updates.
React, on the other hand, might be less suitable for:
Websites that are simple, stagnant, and have no interaction. Other libraries or simple HTML, CSS, and JavaScript may be a better fit in such circumstances.
Web sockets may be a better choice for applications that need real-time updates, such as chat or gaming apps.
When creating mobile apps, React Native is a better option.
Server side rendering only, as React is designed to run on the client side.
A de minimis incentive was given to thank the reviewer for their time. The incentive was not used to bias or drive a particular response, nor was the incentive contingent on a positive endorsement. More Info
React is fantastic for building performant user interfaces. Our web app is snappy and great for our customers.
React has the philosophy of doing one thing and doing it well which is the view layer of the application. This makes it incredibly intuitive and flexible for developers to use.
React has lead the way in being able to write modular and structured code. It is a drastic improvement since the days of spaghetti jQuery code.
React has an unmatched community. The amount of tools and libraries available is fantastic, and there plenty of solutions available online for common problems.
A de minimis incentive was given to thank the reviewer for their time. The incentive was not used to bias or drive a particular response, nor was the incentive contingent on a positive endorsement. More Info
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).
A de minimis incentive was given to thank the reviewer for their time. The incentive was not used to bias or drive a particular response, nor was the incentive contingent on a positive endorsement. TR verified that a representative sample of customers was invited. More Info
Debugging React is challenging. Bugs in react code generate stack traces internal to React and it is often totally unclear how it relates to the code you actually wrote.
Relating your React elements to corresponding DOM elements is difficult. The intentional separation of virtual and actual DOM also makes it difficult to map the elements to the structures in the DOM. This is partially ameliorated by the use of the React dev tool, which provides a DOM-like view of the React elements, but the tool still does not provide a direct correspondence with the DOM that is often necessary to figure out why something isn't right.
Because JSX is React-specific and not a language feature, a special compilation process is necessary to convert JSX code to normal JS. Coming from a C++ background, compiling things doesn't bother me, but many JS developers are used to a less structured development.
A de minimis incentive was given to thank the reviewer for their time. The incentive was not used to bias or drive a particular response, nor was the incentive contingent on a positive endorsement. More Info
Oracle Java SE provides the new features along with timely security patches. New features like Record patterns and pattern matching for switches are very useful. With every new release of Java, it is getting better. Sequenced collections are also an interesting feature added to Java. With all these new features, backward compatibility is also maintained.
A de minimis incentive was given to thank the reviewer for their time. The incentive was not used to bias or drive a particular response, nor was the incentive contingent on a positive endorsement. More Info
React is just a bit of a different animal. I was avoiding it for the longest time. I thought for sure I would land on Vue or something else with a more approachable and familiar appearance. But after taking an online course in React, I started realize what people were raving about (and complaining about) and decided to implement it at our office for one of our products.
A de minimis incentive was given to thank the reviewer for their time. The incentive was not used to bias or drive a particular response, nor was the incentive contingent on a positive endorsement. More Info
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.
A de minimis incentive was given to thank the reviewer for their time. The incentive was not used to bias or drive a particular response, nor was the incentive contingent on a positive endorsement. More Info
Since it's open-source and very popular, the community support for React and related tools and libraries is excellent. There are a lot of people using the same tools, and so issues tend to get fixed quickly and "recipes" are easy to come by. And since it's backed by Facebook, they have a dedicated engineering team working on the progression of React.
A de minimis incentive was given to thank the reviewer for their time. The incentive was not used to bias or drive a particular response, nor was the incentive contingent on a positive endorsement. More Info
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.
A de minimis incentive was given to thank the reviewer for their time. The incentive was not used to bias or drive a particular response, nor was the incentive contingent on a positive endorsement. More Info
While this is a widely contested debate with various blog posts and benchmarks all over the place, its really a personal choice to determine what works for the team. Coming from a Angular 1.x background, I decided to try a new framework when Angular 2.x was announced and at that time React is gaining popularity and Vue hasn't taken off yet. Compared to Angular 1.x and Vue (hybrid of React and Angular) that split the logic from the html templates, I loved the way React breaks code into components using the jsx syntax. In my mind, this allows for cleaner components and easier maintenance
A de minimis incentive was given to thank the reviewer for their time. The incentive was not used to bias or drive a particular response, nor was the incentive contingent on a positive endorsement. More Info
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.
A de minimis incentive was given to thank the reviewer for their time. The incentive was not used to bias or drive a particular response, nor was the incentive contingent on a positive endorsement. TR verified that a representative sample of customers was invited. More Info
A de minimis incentive was given to thank the reviewer for their time. The incentive was not used to bias or drive a particular response, nor was the incentive contingent on a positive endorsement. More Info