Drupal is a free, open-source content management system written in PHP that competes primarily with Joomla and Plone. The standard release of Drupal, known as Drupal core, contains basic features such as account and menu management, RSS feeds, page layout customization, and system administration.
N/A
React (React.js)
Score 8.9 out of 10
N/A
React or React.js is a JavaScript library for building user interfaces. React enables users to create interactive UIs.
I think Wordpress beats Drupal in every possible way. The upgrades to newer versions are almost trivial, unlike Drupal which, in our experience, requires hundreds or thousands of hours of work and untold sums of money simply to go from one version to the next! In my opinion, …
Drupal's capabilities outpace WordPress by miles. Drupal is more customizable, scales better for larger companies and has advanced content types. If you own a small business or work at a startup company, I would recommend WordPress but if your firm is trying to scale and you …
Drupal is best for complex applications. It is more suitable for large-scale applications. It is more scalable and structured than the competitor. Provides a strong API structure and a Robust headless architecture, making it perfect for progressive web apps. Highly robust, …
Drupal excels at allowing seasoned programmers to really get creative with marketing initiatives in terms of working with a theme and the core code. That being said, it is definitely much more challenging for average developers and front-end builders to use, especially at …
Drupal has some advantages and disadvantages when stacked up against Wordpress,, including that Wordpress is easier to user for beginners and requires less training to get started. I noticed that while using Drupal, more help and assistance was needed from developers to make …
Director of UX development, social media and SEO/SEM
Chose Drupal
Drupal can be more complex to learn, but it offers a much wider range of applications. Drupal’s front and backend can be customized from design to functionality to allow for a wide range of uses. If someone wants to create something more complex than a simple site or blog, …
I inherited Drupal from a developer who made the website for our nonprofit many years ago. It was increasingly obvious that it wasn't a fit for our organization, which has multiple staff and volunteers who need to edit or update the website but don't have coding experience. Wix …
Drupal requires less to no coding abilities to spin up sites. Even if someone is preparing to develop sites that require technical know how then Drupal provides role based systems to seperate developers from content writers. Drupal 8 and 9 now have a vast array of plugins. Now …
WordPress for sure has a bigger community, a lot of paid extensions which sometimes is easier to purchase and get started, a lot of pre-designed templates to get you going, but nowadays with the scale of the projects we've been working with, and the need for custom-tailored …
We use both, for different projects (Joomla and Drupal). Drupal proved to be more robust, more secure and more integrable with PHP applications. Drupal requires a more senior technical team but allows for more complex activities. It's great if you have a medium to a large …
We first had a WordPress-based website, that evolved to a custom third-party developed content management system. In both cases, that involved additional costs for any change request, any security or any scalability need. WordPress didn't meet enterprise requirements. That also …
Drupal is community-backed making it more accessible and growing at a faster rate than Sitefinity which is a proprietary product built on .NET. Drupal is PHP-based using some but not all Symphony codebase. Updates for Drupal are frequent and so are feature adds.
Drupal is far more usable and stable than Joomla!, and the developer community support is significantly stronger. While Drupal is often compared to WordPress, they are fundamentally different platforms, and in most projects, it's very clear when the requirements are beyond what …
We have used many content management systems — WordPress, Wix, Squarespace, ExpressionEngine, and more. Drupal is more powerful and flexible than most.
We did a comparison of Drupal against Joomla, WordPress, and Ingeniux. We found that its multiple themes available for web pages, user management, comment management, and form generation stands apart from its competitors.
I've used Wordpress sparingly when helping a client with an existing website. I find it much less powerful and robust, and frankly confusing. The way Wordpress websites are set up in the backend doesn't make sense to me after getting used to how Drupal is set up. They're …
Drupal is really the only well-supported open-source CMS that is designed for large, data-rich websites. There just really weren't any good alternatives. There are plenty of CMSs that excel at small to medium-sized websites. But for a large website with lots of structured data, …
Although Drupal is not the most used, it has great performance and is more used in professional projects. It allows us to expand without starting from scratch.
Security-wise and traffic-wise Drupal is built to handle a lot. While the other platforms mentioned ( mainly Wordpress ) are great and have a large community, I would only use Drupal for an Enterprise level platform to build a website on. I first learned about Drupal about 10 …
Drupal supports lots of devices like Mac, Windows, Linux etc. easily, and it is an open source product so there's no cost required. Lots of other products require purchasing, costing a high amount. The support system of Drupal is also good in comparison to other products. The …
This was very difficult because flutter is extremely easy to use and if you have React in the background, it makes it even easier. What makes Flutter a little better is the response, the components are rendered before the loading and that gives the user a better experience. The …
I have also used Angular before coming to React. Web apps created with React are much faster than Angular because React is based on virtual DOM which reloads only those components of the web page that change and everything else remains the same. Angular's learning curve is also …
I have also used Vue, Angular, and Ember for various projects. Out of the three, I am most intrigued by Vue. It takes a more beginner-friendly approach than React and changes some of the abstractions it uses to be more transparent to the user. It also comes with a lot more …
There are other options for building SPAs, and the two most common aside from React are Vue and Angular. React has been the leader of the pack for a while and has been an innovator. Angular is good for companies that want an opinionated framework so that it standardizes …
Like most people, I started in serious client-side web development with the introduction of jQuery, the first robust library for cross-browser DOM manipulation. React provides a much closer WYSIWYG translation from the declarative JSX template to HTML elements compared to using …
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 …
When choosing a front-end framework, you have a ton of choices. There are numerous articles that will try to convince you this way or that about which one is better. I have used Blaze as a UI layer for Meteor Application development quite extensively and have found it to …
If you want to set up a basic Not For Profit (NFP) Membership system and content base, Word Press is easier than Drupal. However, if you have specific needs that require a fair bit of customisation then Drupal is the best CRM available. If the webmaster is confident with PHP and SQL, Drupal allows a lot of creativity.
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.
Content Types... these are amazing. Whereas a more simplistic CMS like Wordpress will basically allow you to make posts and build pages, Drupal 8 gives you the ability to define different types of content that behave differently, and are served up differently in different areas of the website.
Extensibility... it scales, ohhhh does it scale. They've really figured out server-side caching, and it makes all the difference. Once a page has been cached, it's available instantly to all users worldwide; and when coupled with AWS, global redundancy and localization mean that no matter where you're accessing the site, it always loads fast and crisp.
Workflows... you have the ability to define very specific roles and/or user-based editorial workflows, allowing for as many touchpoints and reviews between content creation and publication as you'll require.
Solid backing by large organization (Facebook) thats committed to keeping the development on the project. In my mind, this is the number one priority for any library because without this: time is wasted on getting up-to speed on a library that you will never use, have a codebase with a library thats hard to maintain because few years down the lane, hiring devs to maintain an unsupported library is very difficult.
As with any libraries, open source community's support is critical for success of any framework because this allows for more pre-built components that could be used right out-of-box => makes Development using React a breeze.
React's Stateful and Stateless components make organizing your code a breeze. These components would also allow for writing clean Unit Tests on the logic.
React's component lifecycle. It offers a variety of lifecycle methods, that allows for handling different scenarios of loading and manipulating data in the UI.
I found React's documentation very well maintained with plenty of examples explaining each feature.
Responsiveness is a very important criteria in selecting a UI and React is very responsive. It does some neat optimizations on re-rendering using virtual DOM and would only re-render parts of the DOM that changed. These optimizations makes React Applications feel really fast.
React Native would allow for building applications that span across web and mobile interfaces (iOS and Android). This makes learning React even more enticing, because using a single library, you could build applications that span across Web, iOS and Android.
create-react-app is an effort by Facebook (creators of React) that makes getting started with React really easy. It does all the heavy lifting of configurations for you and allow you to focus on just development.
Small footprint, minified React + React DOM is under 150Kb, that makes loading UI's with react really fast.
React + Enzyme (backed by Airbnb) + Sinon + Mocha + Chai makes unit testing the UI components fun and improves the overall maintainability of the project.
Security and new release notifications are a hassle as they happen too often
Allowing them to write PHP modules is a big advantage, but sometimes integrating them is a small challenge due to the version the developer is working on.
React's state management can get hairy if you have a deeply nested component and need to pass things up or down the tree very far. This is where libraries like Redux come in, however.
The progressive nature of its development and change cycles can leave information outdated online faster than other frameworks. This can make finding help or documentation on 3rd party sites frustrating.
The learning curve on "thinking in React" can be slightly higher than other more familiar patterns of web development.
Building an app in it can be cumbersome to set up with webpack, but things like Create React App can get you going in a jiffy.
I really like Drupal, and besides the one major issue with not being able to update from version 6 to version 7 and I am happy to continuing using it. Hopefully as time goes on they will make it easier to upgrade or provide better tools for mid-level web designers like myself to build out new sites without the help of expensive 3rd party's.
As a team, we found Drupal to be highly customizable and flexible, allowing our development team to go to great lengths to develop desired functionalities. It can be used as a solution for all types of web projects. It comes with a robust admin interface that provides greater flexibility once the user gets acquainted with the system.
There are a few things that may take some getting used to when coming to a modern JS frontend. Tools like Babel and Webpack (or abstractions that hide their details from you) are often a starting point and JSX can be confusing at first. But assuming the developer is already familiar with modern frontend tools, React is a very natural fit and makes creating user interfaces a joy.
Drupal itself does not tend to have bugs that cause sporadic outages. When deployed on a well-configured LAMP stack, deployment and maintenance problems are minimal, and in general no exotic tuning or configuration is required. For highest uptime, putting a caching proxy like Varnish in front of Drupal (or a CDN that supports dynamic applications).
Drupal page loads can be slow, as a great many database calls may be required to generate a page. It is highly recommended to use caching systems, both built-in and external to lessen such database loads and improve performance. I haven't had any problems with behind-the-scenes integrations with external systems.
As noted earlier, the support of the community can be rather variable, with some modules attracting more attraction and action in their issue queues, but overall, the development community for Drupal is second to none. It probably the single greatest aspect of being involved in this open-source project.
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.
I was part of the team that conducted the training. Our training was fine, but we could have been better informed on Drupal before we started providing it. If we did not have answers to tough questions, we had more technical staff we could consult with. We did provide hands-on practice time for the learners, which I would always recommend. That is where the best learning occurred.
The on-line training was not as ideal as the face-to-face training. It was done remotely and only allowed for the trainers to present information to the learners and demonstrate the platform online. There was not a good way to allow for the learners to practice, ask questions and have them answered all in the same session.
Plan ahead as much you can. You really need to know how to build what you want with the modules available to you, or that you might need to code yourself, in order to make the best use of Drupal. I recommend you analyze the most technically difficult workflows and other aspects of your implementation, and try building some test versions of those first. Get feedback from stakeholders early and often, because you can easily find yourself in a situation where your implementation does 90% of what you want, but, due to something you didn't plan for, foresee, or know about, there's no feasible way to get past the last 10%
Drupal's capabilities outpace WordPress by miles. Drupal is more customizable, scales better for larger companies and has advanced content types. If you own a small business or work at a startup company, I would recommend WordPress but if your firm is trying to scale and you have more than 50 employees I would recommend Drupal.
There are other options for building SPAs, and the two most common aside from React are Vue and Angular. React has been the leader of the pack for a while and has been an innovator. Angular is good for companies that want an opinionated framework so that it standardizes practices. However, Angular is known to be more difficult to work with and unnecessarily complex. Vue is seen as taking the best from React and Angular, and it is built for incremental upgrades. Vue has a passionate and growing user base, but it hasn't quite caught React in popularity.
Drupal is well known to be scalable, although it requires solid knowledge of MySQL best practices, caching mechanisms, and other server-level best practices. I have never personally dealt with an especially large site, so I can speak well to the issues associated with Drupal scaling.
Drupal helped us launch a creative, marketing- and product-focused website with custom coding integrations tailored to our goals.
Drupal allows us to rely on secure and consistently updated core code.
Drupal's code taxing on the server does start to get a bit heavy as you go along with customizations, so at some point, we decided to stop. We want to ensure our Google Page Score remains high, including paying close attention to page load speed.
Since we're still in the conversion cycle, all the data is not in. But React has had a positive impact on Developer productivity and the ability to produce efficient, highly flexible UX. This in turn, enhances our customer experience, which is generally the most important component of our ROI.
Conversion has been difficult since it requires a change of mindset. Most developers have adapted quite well, but the process has been lengthy, and 2 years in, we are still not fully converted. This essentially is a temporary negative impact on ROI.