The choice of technology is probably something you shouldn't even care about if you give the development process into hands of professionals, but we still feel like letting our customers know why exactly we prefer this or that technology for a future web platform or mobile application.
Based on our previous experience customers often ask us to create a specific software using Wordpress, because they are convinced that it is going to cost less money. Well, in many cases it сan be cheaper, but if you are planning to create some exclusive software with rich functionality and mind blowing design WordPress is not the best pick.
But anyway, let's do first thing first. And in this article we will share our own vision, based on our experience in work with popular software technologies: WordPress and Ruby on Rails.
What is WordPress?
You have probably heard a lot about WordPress since it is one of the most popular content management systems used for building of general content or marketing websites and web applications. In most cases these are websites of simple content with lots of images which suggest some basic options like making purchases or filling forms. WordPress is also a popular hosting service for personal or business blogs. In accordance with the latest data WordPress controls over 60% of all CMS on the market. About 30-35% of all websites in the world work on this “engine”, which is intended to provide users with convenient and flexible ways of managing the web content.
Why do many people choose WordPress?
Perhaps, the main reason why a lot of people prefer WordPress is its overall simplicity. This CMS is so simple, that even a beginner can manage it in few hours. But this is also a controversial issue, because if you expect that your digital product is going to be developed by super experienced professionals with WordPress you can’t be really sure of their competency.
What concerns the user side, well, admin panel is really simple, therefore even inexperienced users can upload extra content, e.g. add new sections, pages, news and images, create blog entries and update the texts themselves.
One more factor influencing the popularity of WordPress is its flexibility. It is not complicated to change the website design by activating a different theme and adding new elements. Also WordPress allows to scale up the functionality due to availability of ready-made solutions (plugins). But here are some hidden dangers. Since Wordpress plugins and themes are created by outside developers they can often contain bugs. And these are undue risks for the functioning of your software and business as a whole. Uploading of plugins requires close attention and it is highly recommended to study the descriptions and read the reviews before the upload to make sure that new elements will not contradict with the functionality of the website.
One more reason for picking WordPress is the speed of its installation. Yes, WordPress installation is super fast, because the size of CMS files is usually small. In fact, it can take less than 5 minutes! But for a professional web project where the timeline is generally months, saving a few minutes is not worth the consideration. It’s necessary to keep the focus on the effect it has on the final product rather than save time on installation and ignore the risks. Of course, speed can mean a lot for hobbyist bloggers, but we are not talking about amateur development.
As it was mentioned in the introduction, one of the major factors which influence people’s choice is that they consider WordPress to be cheaper for software development. Honestly, here everything depends on the kind of product you are planning to create. In our practice, we had cases when the final cost of software, coded on Ruby-on-Rails appeared to be cheaper than the similar product, created on WordPress.
Coming up to the question of significant shortcomings of WordPress it is reasonable to mention the following issues:
- Security aspect. Since WordPress is a base for more than 30% of websites it is quite prone to hacking. This is a problem, because if you are planning to create an e-commerce platform with lots of data, including payment details, security aspect is crucial. However, it is necessary to point out that setting up of plugins can reduce the risk of attacks, but it doesn’t remove the need of regular monitoring.
- Page load time. If you have too many plugins, your website can load very slowly. Setup of a caching plugin usually solves this problem. But due to a large number of poor quality plugins, they can contradict with each other, which also leads to slow page download. This will worsen the position of your website in search results.
- Website architecture. WordPress is unfit for websites with unique architecture and design, therefore it is needed to make all pages from scratch and then integrate them with CMS WordPress. While you will have a good start with WordPress and you can immediately develop much stuff really fast, but if you are aiming for an exclusive feature rich web application with lots of customization, Ruby-on-Rails is going to be a perfect fit.
What kinds of websites can be made on WordPress?
WordPress is an engine, which was developed in 2003 as a tool for creating and keeping of blogs. But today due to the efforts of plugin and theme developers this CMS can be used for other types of websites, such as:
- Business websites
- Simple online shops
- News websites
- Advertising sites
What is Ruby on Rails?
Ruby on Rails (RoR) — is an integrated MVC-framework which allows you to create any kind of application you can only imagine. It is suitable for creating of ordinary websites, which must be really fast, fail-safe and able to operate under heavy loads as well as for web-applications with complex business logics, great functional abilities and dynamic web-interfaces. Ruby on Rails is an open-source software, which involves its usability for creating of new product versions and fixing of bugs.
Why do we recommend to use Ruby?
The main reasons why we often choose Ruby on Rails are determined by the following factors:
- One of the main advantages of Ruby on Rails framework is the speed of development. The evidence from practice shows that development speed of projects on RoR is about 30-40% higher in comparison with any other programming language or framework. This speed is gained mostly due to object oriented approach, large amount of solutions available within Rails-community and easy adaptation to modifications.
- Testing. Compared to other frameworks Rails provides perfect tools for automated testing, which accelerates the transition of the project from the stage “program is coded” to the stage “program operates bug-free”. Embedded testing allows to detect errors on-the fly. This testing can be arranged in different ways, and most often the Ruby team will choose the suitable type.
- Security. RoR provides the highest level of project security. Cross-site Scripting attacks are almost impossible with the use of RoR tools and developers have practically no chances of making errors. That means with RoR you can be sure of the safety of your digitals product (it is extremely important for e-commerce platforms and websites dealing with lots of personal data).
- Qualification of developers. It is reasonable to mention that Ruby language is not suitable for beginners. The barrier entry to this field is quite high, therefore very often developers switch to Ruby after having a few years of experience with other programming languages. That gives a certain amount of confidence that your project is given into hands of professionals, who have good knowledge, enough experience in project making as well as comprehension of software development processes.
- Website architecture. Compared to WordPress with RoR you have much more opportunities to create a customized website, adjusted to your needs and business ideas.
Which projects can be made on RoR?
Ruby on Rails is a mature technology, which is suited for a general purpose idea, it's architecture and ideology can be applied to built any type of web applications whether it is a Science related application, ecommerce-platform, real estate search system, etc. Here are some of the examples what RoR can be used for:
- Online stores with complicated filters, selection modules, integrations with external systems
- Information portals, electronic editions
- Stock-markets, e-commerce platfroms (marketplaces)
- Advertising and dating websites
- Social networks
- Non-standard, technically complicated projects
- Various services, SaaS-solutions
As a matter of our experience, broad Ruby on Rails options allowed us to implement all indended functionality of a web application, customized to the needs of our client. The idea of the app was to build a new branded way of transparent advertising online by using great Pinterest content and to develop a marketplace that can make advertising through it. You can read more about the project here.
So why Ruby? In conclusion
Coming back to the question of choice, RoR will definitely give you more versatile web development skills. Ruby on Rails development is a mature and stable technology, which is able to support more sophisticated solutions. This especially works in those cases when a customer needs something more than just “standard” or “commonly used”. And frankly, would you like your company to be “typical” and “standard” one?
If your website needs a refresh, or you have a great new digital idea, probably you might be engaged in the process of searching for a reliable partner. If you want to learn more about how to choose a reliable partner, follow the link.