cms pros and cons. CMS what is it, the pros and cons of using

Good day, friends!

We continue our conversation on the overview of the features of various categories, and today the favorite tool for beginners and even professionals is CMS.

A lot of publications have already been written about these platforms, devoted to their features, as well as the pros and cons of their use when creating sites for both developers and customers.

And yet, this fact did not stop me when writing today's article, because. originally conceived not rewrite existing material, but a statement of his own point of view, based on personal experience.

Luckily, I have one 🙂

And if my reasoning is useful to at least someone, it will mean that all the work done was not in vain, and I don’t need more 🙂

The plan of the article will be as follows: first, I will refresh my and your memory of knowledge regarding CMS, and then I will consider their pros and cons, both from the point of view of developers and from the point of view of customers, with the corresponding conclusions in the form of recommendations to whom and when they are best used.

I think everything is clear at this stage. Then we get to the heart of the matter.

What is CMS?

If there was ever a competition for the best and most understandable definition of CMS, then the winner would be the author of the phrase “CMS is like a box with cubes from which you can build the site you want” 🙂

Nothing to add 🙂

The only thing I will decipher this analogy a little is by saying that the cubes in this case are modules and templates that need to be installed or removed from the site in order to create the required interface and functionality for it.

For example, Magento and OpenCart are specialized products designed exclusively for developing online stores. And such CMS as DLE and vBulletin are suitable exclusively for and forums, respectively.

There are, of course, universal products, on the basis of which you can create various types of sites like WordPress and Joomla, but personally I am biased towards them and am a supporter of specialized solutions, which I have repeatedly spoken about in my previous publications.

CMS can be both self-written and official, i.e. known not only to their developers, but also to a wide range of programmers thanks to the Internet and specialized communities that use them as a base for creating their sites.

This feature causes the division of CMS into free and commercial, which contain a closed code and wider functionality, for which they are often called boxed, complete with official technical support.

You can read more about the differences in CMS on this basis in the already mentioned article with an overview. key features various groups of site engines, as well as in publications with ratings of the best free and on the example of online stores.

By the way, in the article we will talk about the features of official products, because. Most of the CMS used in web development today fall into this category of engines.

This concludes my brief acquaintance with the CMS, and we move on to an overview of the pros and cons of CMS-ok from the point of view of developers and customers, which will allow us to get a final picture of these engines.

Let's go 🙂

7 pros and 6 cons of CMS for developers

As I said, I have experience with these solutions. In fact, this factor influenced my decision to write this article.

In terms of specific products, I've worked with CMS OpenCart and WordPress, as well as a little bit with CMS/CMF Magento.

Moreover, I started my way as a web programmer with the development of CMS (my first engine was OpenCart), so I have a particularly warm relationship with this class of platforms for developing websites 🙂

The following points are the result of my experience with them and communication with customers who ordered various improvements from me for their CMS creations.

Let's start with good points , because they are much more than disadvantages. And we will begin our review, with a list of CMS features through the eyes of a developer.

1. First of all, CMS makes the process of developing a web project as simple as possible. it is, in fact, setting up a finished site, which the engine is out of the box, to your needs.

Naturally, this applies to official solutions, for which there is already an impressive set of add-ons, as well as a lot of developer communities and documentation on the Internet.

Agree that creating sites and modifying them under such conditions is much easier than developing a resource completely from scratch, as in the case of using frameworks or creating .

2. For the same reason as stated in previous paragraph, creating sites does not take as much time from programmers as developing without any base from scratch. That is, the site building process in this case is faster, especially for beginners.

Although, in this moment not everything is as simple as it might seem. In my practice, there were cases when solving a problem for some CMS took many times more time and effort than solving a problem on a self-written engine or any framework.

It's all about the standards of the engine code and the implementation of various technologies within a certain CMS, which are much narrower and more strict than in the case of using frameworks that give complete freedom of creativity.

3. Purely theoretically, CMS, like other engines, can also be self-written. But those that you can find on the Internet in various ratings, on specialized forums and in search results, are common products, which entails a lot of information about the development features for this platform, up to the official documentation.

Moreover, the larger the community of developers working with a particular CMS, the more likely it is that the documentation will have a Russian version.

Therefore, another advantage of CMS is, in the vast majority, the availability of documentation and developer communities, which simplify the process of creating and making changes to the site, as well as reduce the cost of programmer services, because thanks to the abundance of information, the required actions can be done independently, without learning programming for this.

4. In CMS, often, the expansion of functionality occurs in a very convenient way for the average user - by installing ready-made modules and templates, which allows you to get the necessary functionality on your site without having to delve into all the intricacies of the code.

It is this feature of the CMS that determines the presence of a huge army of fans of this category of site engines, most of whom do not even know how to program 🙂

5. Due to the extreme popularity of these solutions, developers of sites based on CMS will never have problems with orders for the creation of new sites and support for existing solutions.

Therefore, CMS is a good source of stable income.

Also, to this money it is worth adding earnings on the development of modules and templates, which can be either sold independently or made to order.

If we talk about specific numbers, then the finalization of the filtering module for CMS OpenCart cost the web studio that ordered it from me $100.

Regarding modules, the average price on domestic resources is about 1000 Russian rubles, which, given the popularity of the add-on, will bring a very good income.

And if you move to the Western market, you can earn even more, because. prices are in dollars

6. For professional developers CMS have another plus, already associated with the structure of their code. The fact is that most CMS are written in "pure" languages ​​(PHP, JavaScript, CSS, HTML), without the use of various highload technologies.

Therefore, they are quite easy to learn and allow you to concentrate on learning the CMS API, and not be scattered on other languages ​​and technologies, as is often the case with frameworks, projects on which can be stuffed with anything.

7. The next plus, which, in fact, is one of the main ones that attracts many users around the world to CMS, is a consequence of the previous one.

Thanks to a clear mechanism for expanding the functionality of sites created on CMS, they have a very low entry threshold, which allows developing sites even for people who are far from programming.

However, in fairness, it is worth noting that this plus is very conditional, because. I have not yet seen a single decent site created on the CMS-ke, the development of which would consist purely in installing modules and a template. Otherwise, such resources would be the same, because the number of templates is much less than the number of sites created on the CMS.

Unless you use a template designed for your site individually.

However, if this is not the case, then sooner or later you still have to get to programming.

And if you are just a beginner developer, then creating a website can be a serious test for you due to the peculiarities of writing code for your chosen platform.

By the way, CMS is not very popular among professional programmers. At least among my acquaintances with whom I communicated concerning CMS.

On that note, we move on to talking about disadvantages of CMS for developers, which repel many programmers from them. There are not as many of them as advantages, but still they are, and they cannot be ignored.

1. The need to understand the structure and features of the code every time you learn a new CMS. Moreover, sometimes this process can be quite lengthy due to the complexity of the code or mechanisms for installing extensions.

In fact, everything needs to be dealt with 🙂 However, I singled out this moment as a minus, because many authors point out that all CMS are similar to each other and, having mastered one of them, you can easily work with the rest, but in reality everything much more difficult.

From the point of view of a person who uses CMS as a box with cubes (i.e., the development of a resource does not go beyond installing modules and templates), from which he assembles his site, it is possible that CMS are similar (most likely, the authors mean this similarity, who write about it).

Although the same interface of the admin panel in some cases differs quite a lot.

From the point of view of a developer who deals with platform code, this statement is nothing more than a myth. The code structure of different CMS is unique and inimitable. Even if the CMS is positioned by its creators as an MVC product, this does not guarantee that you will get comfortable with it in a matter of minutes, having experience with similar solutions.

A striking example is OpenCart and Magento. Both of them, according to the developers, are MVC. But my comrades in the shop, who at least indirectly encountered both of them, know how different they are.

If OpenCart has a classic MVC code model with separate directories for controllers, models and views (templates), then in Magento all controllers and models are sorted into module folders, depending on their functionality. Templates in Magento are generally a separate conversation with a description of their structure in xml files. In general, those who worked with this invention will understand me 🙂

By the way, not all CMS are also MVC. Same WordPress.

2. Limited functionality, forcing to write bicycles for any non-standard task, which can take a lot of time, again due to the peculiarities of the code.

It would be extremely unfair to say that writing bicycles for non-standard tasks awaits you only when using a CMS to create a website. This feature is also found in the development of frameworks - moreover, both official and self-written ones.

It's just that the CMS is not as flexible as these platforms, and when creating something unique based on them, you will constantly run into the code limits set by the CMS. And because of this, the development process can be significantly increased compared to using frameworks.

3. Despite the fact that the process of creating sites using CMS is very fast compared to creating a site on frameworks, you have to pay for this speed either by purchasing a boxed version or modules and templates for free platforms.

You can, of course, take a free CMS and manually create analogues of paid add-ons for it (by the way, some individual developers and web studios do this), but with this option, you can not talk about development speed, at least at first.

But, then the creation of sites will take place quickly, comfortably and very cost-effectively (of course, subject to the implementation of the already available ready-made add-on) 🙂

The main thing before this step is to weigh all the pros and cons in order to decide whether you are ready for such an investment at the cost of losing personal time or not.

4. Modules and other extensions for CMS have another disadvantage of using them in the development process. The point is that, despite a large number of, the quality of the code leaves much to be desired.

Especially it concerns free add-ons, which are written by everyone who is not too lazy 🙂 Although for paid 100% performance, no one can guarantee you either, because everywhere there is a merciless human factor.

Also quite often there are various kinds of conflicts between extensions and with the written code of other programmers, which makes the development process very difficult and stretches out in time.

Thanks to this feature, freelance exchanges have a separate category of orders related to troubleshooting problems caused by extensions, as well as conflicts between them.

I don’t know how my colleagues feel about them, but personally I try to get around a dozen of them, because. Dealing with the cause of an error is much more difficult and time consuming than rewriting new functionality.

Especially when you consider that the problem may have several causes and solutions, which will still need to be thoroughly weighed before the final actions.

And all this is time spent, which is very often disproportionate to the cost of such orders.

5. Since the CMS is a ready-made site, it contains a lot of features that can be useful to developers in the process of creating sites based on it. At the same time, not everyone needs all the functions that come out of the box.

As a result, it may turn out that more than half of the possibilities may be unused, at the same time overloading and slowing down the site. So in some cases, getting rid of the extra features supplied by the CMS can take longer than creating a site from scratch based on some framework.

This is especially true of CMS-ok, which were originally developed to create high-loaded and functional enterprise-level projects (enterprise level) such as Magento and 1C-Bitrix on their basis.

Since they were originally conceived for a large scale, then their basic functionality is appropriate.

6. And one more trouble associated with CMS, which I felt as a developer, is a huge competition among programmers, associated with the popularity of these platforms.

As a result, it is very difficult to get an order. As a result, at first you have to work for a penny just to earn a reputation on the stock exchange and in the future to somehow stand out among other offers of cooperation placed under orders.

This is especially true for foreign exchanges, where there are an order of magnitude more developers, and besides, many of them are really ready to work just for food (India, Bangladesh, Nepal), moreover, among them there are people with maximum trust ratings, so it’s not something to compete with them , which is difficult, but simply unprofitable 🙂

In addition, you will have to constantly track the required orders and leave your applications everywhere in the hope that you will be contacted at least somewhere - but this is already the specifics of working on exchanges, so let's talk about it next time.

Summing up the summary under the above, I want to say that CMS development is still more suitable for beginners, because. they help to get the site ready as quickly as possible, while the developer will not need to learn a lot of specific technologies, because. for the most part, when it comes to PHP-based products, CMS is written in pure languages.

Therefore knowledge of PHP, JavaScript, CSS and HTML, ie. what beginners have is quite enough to create and modify sites on CMS without feeling a shortage of orders, tk. they are as common among customers as they are among developers. It remains only to get used to the engine API, but this is a matter of time.

For myself, I can say that for the same reason CMS OpenCart became my first platform for website development, which I chose after learning the basic languages.

And today I can say that I did not regret my choice, because. The knowledge I gained has provided me with a large number of orders and interesting tasks, which, in turn, led to my leveling up as a developer.

However, programming professionals, no matter how they try to disown them with the phrases “CMS for beginners”, “Platforms with truncated and limited functionality” given type site engines will also not let you get bored, because. in this family there are products with significant features that are too tough for beginners.

Knowledge of data caching systems and the ability to optimize code, as well as write optimal database queries, will come in handy here. At the same time, the quick start of the development of such sites is preserved, because. it is inherent in all CMS-cams.

In the end, if you think you're too cool for CMS-ok, but have never worked with them, try to create a site on them purely for the sake of professional growth. In addition, it will be a great opportunity to learn something new.

Only in this case, start not with OpenCart or WordPress, but with something more hardcore 🙂 Magento is fine. I think after the experience of communicating with her, you will no longer look down on CMS, as before.

And in order to further motivate you, I want to remind you that in the future, CMS can become a source of very tangible income, which I wrote about in an article on the classification of site engines, which shows the approximate level of income for a CMS-module developer.

6 advantages and 3 disadvantages of CMS for customers

So, now it's time to look at the CMS through the eyes of customers and analyze the pros and cons of this tool.

As for me, since I am a web developer by profession, I never happened to be a customer.

However, I have always wondered why people chose one platform or another for their sites, so whenever possible I tried to talk with customers to find out this fact.

Let's start our conversation with something pleasant and, as in the previous case, let's talk about the benefits of usingCMS as a platform for the ordered site.

1. First of all, this is the speed of development. Since, as we have repeatedly noted, CMS is a ready-made site that will need to be finalized for each individual case, the development process is not as long as writing the entire site from scratch.

Naturally, this is the most important factor for customers, because. the sooner the site is ready, the sooner it will begin to perform its functions, i.e. bring money to its owner in one way or another (depending on).

2. Time is money, everyone knows this. Therefore, the less time the developer spends on order fulfillment, the lower its cost for the customer will be.

Therefore, as a rule, the cost of development and various edits of resources based on CMS will be lower than when using frameworks, for example.

Although, everything is not so clear-cut here. Much will depend on the features of the platform, the complexity of developing sites on it and the functionality being implemented.

It may turn out that fixing a finished site, which is a CMS out of the box, will be longer and more difficult than creating it on another platform.

3. Due to the prevalence of CMS, customers will never have problems finding developers to make various edits or create sites from scratch.

And the more widespread the technology, the more competition between performers will exist, as we have already talked about.

Consequently, this will be reflected in the cost of services in the form of their reduction, which is an indisputable plus for customers.

Although, here, too, everything is not as simple as it might seem, because. a lot will depend on the platform you choose.

For example, in the case of CMS / CMF Magento, despite the prevalence of this platform, especially in the West, the cost of developing and making changes to resources based on this platform is still quite high compared to other similar platforms due to the complexity of its code.

4. The high prevalence of CMS leads to another plus - a large number of various kinds of extensions with which you can give your site the desired look.

Moreover, the more popular the platform is among developers and customers, the more extensions you can find for it.

And the more extensions, the lower their price will be. And some may even be free.

5. In most modern CMS, there are mechanisms for installing extensions to the site in the form of appropriate loaders available in the admin panel.

Using them is simple, because. they usually have an intuitive interface.

Therefore, to expand the functionality, customers do not even have to resort to the services of programmers, which saves money at this stage.

6. Each type of site that exists today has a certain set of functions that it must perform. I think it's understandable.

So, in the case of CMS, there are many ways for their comfortable implementation, which allow you to expand the functionality of the site without delving into the intricacies of programming.

Moreover, now we are talking not only about add-ons in the form of modules and templates, but also about ready-made code fragments written by professional programmers and posted by them on forums and blogs on the network.

Despite the fact that the solution is a code, it will not be necessary to deal with programming, because. their authors usually even indicate in which file and after which line it should be inserted.

Naturally, the more popular the platform and the developers working with it, the more such solutions will be available. And their presence will allow you, as a customer, to save on the services of programmers.

As you can see, there are a lot of advantages of CMS for customers. However, they still cannot be called an ideal solution, because. they also have their drawbacks, which we will talk about now.

So what are cons of CMS for customers exist?

1. If you can expand the functionality without the services of programmers, then if there are problems in the operation of the site caused by conflicts third party extensions among themselves, there is very little chance that you will be able to cope with them on your own.

And although this minus is not something irreparable, it leaves a very unpleasant imprint on the convenience of working with the CMS and leads to additional costs.

If you come across this, then you can, of course, look around the forums, but even if they give you advice, then there is a very high probability that you will not understand them, sorry 🙂

And then you will either be offered to solve the problem for money, realizing that you are not a developer, or they will simply stop communicating with you and you will have to look for performers on your own.

So if you encounter any errors and problems in the operation of the site, immediately prepare the money.

By the way, do not forget to make backups before each installation of any add-ons, because. it is not known how the work of the site will change after this action.

And if available backup you will be able to quickly restore the functionality of the site and be sure that the problem is caused by a specific add-on, which will simplify the work of programmers and save you money and time.

2. If you want to implement some unique functionality or design that cannot be obtained by installing standard extensions (for example, various calculators with unique parameters), get ready for serious cash costs, because it is long, difficult due to the framework set by the chosen platform, and therefore expensive.

In addition, only experienced developers who are familiar with CMS can handle such actions, and the time of these guys is an order of magnitude more expensive than that of beginners.

3. A large number of extensions for CMS is both a plus and a minus, because the quality of their writing is far from always on top, as already mentioned earlier.

As a result, this may result in a decrease in site performance for you, security problems and conflicts with other add-ons.

In addition, extensions are not always free. And there are no guarantees that by purchasing the add-on you will not receive all the problems listed. This is the game of Russian roulette.

As a conclusion, I want to say that, despite the large number of advantages of using a CMS as a platform for ordering a site on it, this does not mean at all that this type of site engine is an ideal solution.

Weighing the pros and cons of the chosen technology should be carried out before each drafting of the TOR and for the platforms that you consider as candidates.

It may happen that some minus will outweigh all the advantages of using CMS in your particular case, so do not be lazy to analyze before choosing a technology.

If you still decide to use the official CMS, then I want to remind you that ahead of you there are a lot of offers from developers who, competing with each other, will offer very favorable prices for you.

In addition, in the future you will be able to independently supplement the site with the required functionality without delving into the wisdom of its code, as well as change the design without being a layout designer.

But at the same time, get ready to walk around the forums and blogs in search of feedback on the required add-ons and ready-made code snippets.

The step, in principle, is not mandatory, but I strongly recommend not to spare time for this, because. this event will help you avoid the conflicting work of add-ons and save money, time and nerves in the future.

This concludes the review of the pros and cons of CMS from the point of view of developers and customers. In conclusion, I want to recommend you an informational video with an overview of the pros and cons of both CMS in general and individual solutions in particular.

Write your feedback and opinions in the comments under the article and do not forget to subscribe to project updates to keep abreast of upcoming publications.

Regarding the immediate plans, I want to say that a similar review of the advantages and disadvantages of using frameworks is planned, where I will also share my still poor, but experience with this category of site engines.

That's all! Good luck and see you soon 😉

Creation of sites on free cms- most popular way get yourself a network resource. Сms stands for "Content Management System" (Site Content Management System). cms are of two types:

1. Cms is hosted on the Internet, for example, on our hosting. I must also add that all these cms are hosted by us.

2. Cms runs from the user's computer and is connected to the network through an interface automatic update files.

Let us consider in more detail the types of sms, their pros and cons.

Advantages and disadvantages free cms

Get ready for the fact that on the "bare" cms you will have to do everything yourself. Thus, the creation of sites on free cms has both positive and negative features. On the one hand, it is enough to choose graphic theme and engage in filling your site with articles, images and other content, and on the other hand, if you do not have the skills to fill the resource, you will be forced to hire a third-party specialist.

What is provided to you for free, of course, is of high quality and looks beautiful (templates and themes are created by professionals). But in free cms it is not always possible to realize all your ideas on the site and its content. These technical limitations cannot be solved by an ordinary user who does not have the skills web programming. But in terms of filling content, problems should not arise.

Saving money when using cms is a definite plus. Most of the systems are free, educational material for using a particular system on the network "at least a dime a dozen."

Cms are updated, "overgrown" with new plug-ins and, accordingly, opportunities. Thus, the prospects for the steady development of your site are obvious.

And now let's get acquainted with different cms and find out why this or that system is best suited.

Creation of sites on Joomla

Creation of sites on drupal

Building Drupal sites is another easy way to run your own website online. To create a Drupal site, not even ready-made templates are used, but rather the core of the site with which, with certain skills, you can create blogs and online stores, social networks and corporate websites. In a word, it is very convenient and simple. By the way, the free Drupal cms was the winner of the Packt Open Source CMS award in 2008 and in 2009 the winner of the same competition in the PHP category, leaving free cms joomla behind.

Creation of sites on WordPress

Website development free cms WordPress - the best solution for novice bloggers. By the way, this site is made on Wordpress and also my blog Pruslin.ru "Rules for a Successful Life". Cms WordPress is free, but incredibly dynamic. Literally several times a week the system is updated, offering new opportunities for the development of the site. Creating a site on Wordpress is suitable not only for blogs, but also for online stores, all kinds of galleries, forums, catalogs and more. It is extremely simple for an inexperienced user.

But it is precisely in this feature that the second fundamental difference between the two systems lies - Joomla, due to its versatility, requires more time to learn, even when creating relatively simple projects. WordPress, on the other hand, is convenient and easy to use, but somewhat limited in the standard package. If you want to choosecms Of these two, it is best to try both.

Paid CMS

The main difference of all paid CMS is the availability of round-the-clock technical support clients. Many modules and add-ons for such systems are sold separately, so if the standard functionality does not suit the client, he will have to pay extra for its expansion.

The main competitors today are DataLifeEngine and 1C-Bitrix. It makes no sense to compare both systems - their functionality and focus are completely different, so in order to choosecms it is worth exploring their possibilities.

DataLifeEngine is built like news portal, but it has enough additional functions and modules that allow you to customize the system for any needs. It also has a trial period, which will allow you to evaluate the system before paying for the use.

1C-Bitrix is ​​most often used to build corporate websites. Some standard extensions like the Forum and Photo Gallery are only available for an additional fee.

The system has sufficient reliability, but is demanding on equipment, so use it for cheap hosting or own small server will be problematic.

Despite such “voracity”, CMS has a number of advantages, for example, it easily interacts with accounting programs, which allows you to create excellent sites for online business.

Internet