📜 ⬆️ ⬇️

1C-Bitrix - CMS from marketers. Advantages and disadvantages

Hello. This is my first post on Habré. Therefore, I introduce myself to the pro forma. Web developer. Experience 3.5 years. At the moment - held bitrixoid. I do everything - supporting large projects, own development, consulting in marketing issues, reviewing the capabilities of new versions, the nuances of integrating a site with 1C on one side, writing modules for the marketplace, implementing business processes in the Corporate Portal. And many others. Within a single CMS. Fortunately, unfortunately (in an article about this we are going to talk) - it is impossible to remain without work. The market is filled with products from 1C-Bitrix more than half.

The article deals with the pros and cons of this monopoly. And the fact that there is a tendency for this monopoly - I personally have no doubts.

I deliberately did not start my post with the phrase "this is not just another post about the advantages and disadvantages." Let it be another post. In matters of cycling, I am not strong. So the post will use ready-made ideas and ready-made solutions. Just like in Bitrix.
')
So why do not like Bitrix? And who doesn't love him?

As I see it, there are two main groups.

1. Managers and customers, from the development itself are distant, but already scored a large number of cones in the development of sites. And having an opinion.
2. Developers - supporters of "kosher" and "ideal" development. On frameworks or personally written.

The first group. Managers and customers.



I often work with people who order Bitrix due to the fact that it has a huge number of advantages in managing the site. These people understand what they are paying money for and why they buy Bitrix, and not use a free CMS or one that is cheaper. So I do not need to bring arguments, make a list of advantages, disadvantages. They themselves know everything.

Alas, this group also includes many people who do not like to read. That is - you need to make a website. Ok, let's do it right now. And what are we going to do? Watch the market. Bitrix is ​​bought - ok, we take it, then we'll figure it out. Well, or hire a specialist who will understand for our money.

The approach may be the right one. At least, the developer Bitrix in this case is always in the black and, as already written above, will not remain without work. But - here we must understand that the popularity of the system always implies a large number of people for whom the site is a design + engine. And that nothing but this does not care and does not care. These are selling managers who in many medium-sized studios are acting. project managers, and in some places, technical directors. Unfortunately, in practice there have been such cases.

I am not saying that a competent Bitrix man will not order. But I’m talking about the fact that the sales target audience are those who understand the same way in the kitchen of developing websites as graduates of the “PHP in 24 hours” courses. This is a sad fact, but as for me - this is an elementary fee for popularity. To the system itself is not directly related.

A huge number of files in my practice are based on the following stereotypes:

1. Integration with 1C free and standard
. On this topic, you can read at least this article habrahabr.ru/post/137888 , in which the risks are very well described. The article describes the problems already experienced studio. And about the studios in which the development only takes the first steps - and there is no reason to say.

As a result, what we have in practice is the design of a 20-30 page store. With sophisticated filters, beautiful sections drop-down from the menu, everything switches, presses and jumps out. The client says “I want”, the contract is made, the case is transferred to the development department.

And here the epic phrase of the manager sounds:
“There is a customer order, but the client still has a base in 1C per 100,500 goods, but in Bitrix this is standard, right? Just without integration, he will not accept the site. And you said that this is standard ... "

- Ok, let's see the base. You haven't done the design yet?
- We have already approved it, now the layout designer is working.
- Well, and in what condition is the base, does the structure match?
- We do not know, the 1C programmer is now on vacation ... But what the difference, then if anything - we will finalize. We are the main thing to integrate.

“Ok, integrate so integrate, why is it difficult for me in fact, especially since it’s standard?” - I moan about myself, and not expecting anything good - I start an endless correspondence with a 1C progr. Anyone who has ever dealt with the integration of anything with 1C should understand me. In 90% of cases, there is no need to speak about any structure. The properties of the goods are entered into text fields, often with errors, the nesting of the goods is zero, and so on and so forth ... And we have a site design approved, with usability and in the statement of work there is an item about 1C. And it is still good if 1C-nick is interested in putting the site in the same way as we do. And if this is just a person at the stake, then all these our non-standard tasks will be like a hare a stop signal ... Answer “Guys, do you simply have no experience with integration with 1C, what are we talking about? What improvements? ”, As in the case of the 1C programmer from the above article.

Who was already going to propose solutions and possible ways out of the situation, I will say - relax. Feil has already taken place. Further development turns into an endless series of crutches. Nothing good will come of it. Either a beautiful design will go under a copper basin, or there will be no standard integration and someone will have to fill in the missing properties with pens, and with the pens, to translate the structure into a form that is digestible for the site. Or there will be integration through some CSV files. And in this case - the developer has only one concern - to hand over the site faster than the jambs with the base will climb on it.

What is the problem? In incompetence. And in the absence of the habit of thinking. We also need to do sites, and not think. So we do, as we know: Usability - Design - Layout - Development. What could be easier? Alas, there are nuances and they should be understood.

When the file occurs, the disappointment in Bitrix is ​​quite strong. "We thought, and here we slipped." Everybody spits - starting with the customer, ending with the developer (yes, there were cases when I myself thought that it would have been easier to manually write all these non-standard integrations with these non-standard sites than to cram your arts into Beatrix).

This is the first (and IMHO - main) minus of Bitrix. Pops and popularity, keeping up with philistine. Even in studios with a full set of certificates, golden statuses there is always a manager who “sold the site for a lot of money” and found his work done. And to celebrate, he allowed further development to run its course, they say - my business should be monitored with terms, and then you will figure it out yourself, I voiced the tasks.

2. Other standard features

In the article, I specifically paid a lot of attention to the most popular file in working with Bitrix - its insufficiently described connection with 1C. It is clear for the developer that not everything is so simple. The manager and the customer most often find that communication is simple, free and does not take time. And it turns out that it is not always easy to explain all the complexity to them. Due to the fact that they simply do not need to know too much.

But from the same series there is a problem with standard features, which the system actually has very, very much. Standard modules, components rich in functionality ... After all, all this is also often covered with one stroke of usability. We painted ordering in one step in a popupyvayke and with add. fields - client approved. The first question is - why did you draw in one step, if in the standard component of the bitrix ordering goes in three steps? Is it so important for the site? I don’t understand - the client’s business will go downhill if we save 10 hours of development and reduce risks by using standard functionality?

This is again a question of approach. Bitrix - he's not for custom. It is very custom in itself, but this does not mean that you can collect anything on it and collect it quickly. It’s just that sometimes the emerged idea should be compared with the existing functionality - and to think, and how fundamentally should it be done, but not that way? Most often, in the standard possibilities, the idea that arose in the heads of managers and usabilists is implemented more carefully and more deeply. It is extremely rare cases when shops come up with something epoch-making, without which it simply cannot exist and that it is necessary to finish with pens. Even relatively expensive stores can be implemented on standard functionality, if you just competently search for compromises between unique ideas and existing opportunities. This is my conviction. But few people think about this at the stages of compiling usability layouts.

And this is a consequence of the first minus of Bitrix. Incompetence and misunderstanding of how to work with the system.

The standard components of Bitrix are not intended for modifications. And everyone who has ever had to get into the code of the standard Beatrix component, understands this. Ideologically, Bitrix is ​​a set of components. A set of ready-made ideas from which you can assemble a ready-made site. And my conviction is that in 90% of cases these ideas will satisfy the client. They will satisfy him even more than a well-designed usability layout with a large amount for the work of a specialist.

Even in the case of creating a large site with several dozens of standard pages, everything is spinning around the same components: catalog, news.list, iblock.element.add.form. In extreme cases, you need to modify the catalog filters a bit. But again - no more than 10% deviation from the standard functionality. When all development comes down to doping only the files template.php and result_modifier.php. IMHO, with a great desire, this can be taught even by a coder who knows how to use only two php constructs: foreach and if

3. Creating websites on Bitrix is ​​easy (it's hard)

Specially combined two problems into one, because legs grow all from the same first problem - misunderstanding. Bitrix - this is not a miracle Yudo about eight heads. This is also a system for developing websites. And the complexity of the development on it does not exceed and does not exceed the complexity of development on any other suitable CMS. To reduce development costs can only knowledge and accounting for the nuances of the system, and not the system itself. Both knowledge and accounting of nuances should be carried out by the whole team. Starting from the manager first.

Alas, in my practice, only a small part of the managers have bothered to read the Content Manager course at least. Although it is, of course, not enough. But in my practice there were a sufficient number of people who, each time before creating a completely standard online store, were asked “is it possible to implement IT on bitrix?”. To myself, I think, “Well, if IT couldn’t be implemented on bitrix, then why would you want to order development on it at all? For what reasons? ” Consideration, alas, most often one thing: "Yes, we looked at what CMS is now popular and decided to order a site on it."

Guys, you will save yourself a lot of nerves and money if you just read the description of the capabilities of standard components, and try to work with them in the mode of visual editing. It may even be making thus a small saytik without typesetting. It really does not require much effort, and in the future when ordering sites will come in handy more than. The system documentation is very good indeed.

4. The site is very slow

A Bitrix site can be slow for many reasons. And in none of these cases is the system itself to blame. Wines may be in an incorrectly selected hosting, in a developer who wrote his components and did not bother to connect caching, the blame may be in an overly loaded layout. But the system itself is not the culprit of the fact that the home page of your site loads for 5 seconds. This is again a stereotype that managers and people who are far from development like to repeat. That Bitrix is ​​hard and slow. Believe me, if you do everything right - the site on Bitrix will fly. The only question is to do everything correctly and understand what is right and what is wrong.

The second group. Developers


The author of the article (that is, I) is the developer himself. I didn’t start with php courses in 24 hours. For example, at some level I know the assembler. There are a couple of commercial projects on Delphi, and the web began to comprehend from the very beginning - Koterov’s textbook, articles on programming patterns in English. He wrote on the Zend Framework, Yii. There is a framework written by me from scratch. On which there are also projects that actually work. Sometimes in my spare time I write small programs in php for my own needs, starting with creating the index.php file in an empty folder. Just not to forget the basics.

But - I never had the desire to say that Bitrix development is WORSE or Bitrix development is BETTER than development on anything else. This can afford people from the first group. But when developers say such nonsense ...

As for me - such stereotypes of professionals are based on the eternal scourge of any developer - the pursuit of the ideal. Any programmer in his heart is a complete perfectionist and knows exactly what “perfect development” is. And anyone cherishes in himself the dream of creating a framework on which you can write any site quickly and without a single problem. And everything that is written not by his beloved ones is by definition “govnokod”, “nothing is undocumented”, “not structured”, “global variables throughout the code - what can you say at all?”, Etc.

Although in general, I agree with them when an order is received to finalize the project on Bitrix. So, it happens, you open some product output template, and there the bread crumbs are displayed using five (!) Sql queries to the database (direct, without any API), then of course you sigh heavily. You tell the client or the manager - sorry, but the refinement of your site will cost you more. The client will sigh "Oh, this Bitrix ..."

But what does he have to do with it? Both the client and Bitrix himself. It’s just that the developer, most likely, was from the very same group - perfectionist idealists, while he didn’t want to study the system itself (or maybe it just didn’t have time) —that he wrote his crutches. In this case, most likely, cursing silently to the system itself, to an unsettled career that he would have hadron colliders to design, and he was doing some improvements on govnodvizhkah.

In fairness, I note that I myself cautiously look into the code of standard components. There are many interesting things to see. But nevertheless - standard components were written by programmers of a good level (at least, higher than the one that crumbs sql queries output). And - as I wrote above - well, ideologically, the standard component is a black box. He just has to do his job. Not for completions it. It is the fault of the designer who makes the mockups for Bitrix. It is he who first of all must understand that modifying the standard components of Bitrix is ​​a complex task, and fraught with risks. I want custom for the simplest task - sit down, draw what you want on the leaf. And then compare them with what you already have by playing with the components in the visual editor.

If the project deviates too much from the functionality of Bitrix itself, then sit down and think, and is it really important for a business to use this particular system, is it more logical to order another? However, in that and in that case - it is not about the development, it is about those people who sell / order sites.

And the developer, I repeat, there is no need to turn up his nose and strive for perfection. Enough to study the documentation and basic techniques. If a person is a pro, then he will simply accept the features of the structure, master the ideology and write good websites. If laziness - then there is nothing you can do.

Get used to Bitrix can be exactly the same as any other system. This is my complete conviction. And to enjoy the collection of sites on it is also not so difficult.

As an epilogue, I want to say that in any case, a competent approach and the study of the subject matter. Just grab a fashionable thing, not having studied for what it is and how to use it, in the hope that it will bring gold mountains at once - it will not work. Any project is a job. And the choice of a tool is only one of the stages of work. And far from the most important. Where is more important - the ability to use this tool. I called the article “CMS from marketers. Advantages and disadvantages". I hope the article was able to explain in some way what I was talking about.

Source: https://habr.com/ru/post/190084/


All Articles