Plone is a free and open source content management system built on top of the Zope application server. Plone can be used for any kind of website, including blogs, internet sites, webshops, and internal websites.
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.
The larger your organization, the more appropriate Plone will be. This is not to say that Plone is a worse choice for small websites, only that the minimum investment for a Plone site is certainly higher than for other platforms. If you already use Plone for your site and are looking for a redesign or an overhaul, I would only advise switching to a different platform such as WordPress or Drupal if your organization is downsizing. For any other situation, Plone is the natural choice for your growth.
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.
Plone is a folder-based system, organising content in a similar way desktop-users are doing for the last two decades. No need to teach non-tech customers some relational-database like paradigm for content management.
Plone is secure. It is the most secure CMS you can get your hands on.
Plone is flexible, and makes fast development easy.
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
Not everything is configurable or editable by Plone, and when you need to adjust or add custom pieces in, you need to deal with Zope. Zope has an ugly, confusing and difficult UI and structure as a backend.
Using 3rd party products is difficult to do - there are a few different ways to get them installed, all of which take a bit of luck to get right.
Building custom products for Plone is not fun. You've got to deal with an archaic framework to tie in that is not well documented (there is documentation about many things, but not great documentation and there are a lot of holes in the documentation).
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
Compared to the amount of Plone sites, users and customizations we have in our organization, the amount of support requests and training needed is really small.
The new user interface in Plone 6 is even better, it is super fast, has lots of different blocks for enhancing the page, has flexible layout system and is easy to extend with more features.
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
Our Plone sites are very robust. We have critical systems on Plone and we have been running sites on Plone for over 20 years with very little unexpected downtime.
Plone is very intensive in its operations, and if not configured well it can be slow. However it is designed and built with speed in mind and with proper use of coding, templates and caching can perform extremely well under high loads. It is capable of scaling to very high load availability environments with no specific coding requirements.
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
Drupal: Plone is cheaper, so with Drupal is more complex to reach the required ROI. However, Drupal has a lower learning curve WordPress: For our necessities it has a more expensive learning curve than plone. Joomla, is easier to use. However, it have some issues on security and web content where Plone is much better
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 impact Plone has had at the University of Oshkosh is as follows: this software allows student workers to learn about IT departments and CMS's in a user-friendly way. It gives many students great jobs that look great on their resumes.
Since there are great training manuals for Plone, there is increased employee efficient in the workplace. Training doesn't take long, and if there's ever a question, the Plone manual is a great tool to refer to.
If an employee using Plone quits, its easy to find someone to replace them with quick training and great resources.
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