⬆️ ⬇️

The eternal question: CMS or your own engine

It is from this question that I started today's working day.

Already once again stood before this dilemma, which, however, has not once decided in favor of their codes, but do not stop gnawing doubts.

And now - on the day when it is time to start to impose a new online store, this dilemma stands before me.

And the background is as follows:



I have been developing online stores for more than a year now. During this time, developed and repeatedly improved its engine. He created several stores, one of which is quite serious and has a very large functionality. Moreover, the store has a large attendance, a decent income, a whole team of managers, warehouse workers, etc. work with it.



So, every time, starting to do a shop, I’m long tormented by thoughts on what to do it, whether I still use my work, or use a paid or free CMS. At such times, I start reading reviews of various CMS-apps for online stores, chatting on forums, calling development companies to ask questions, install demo versions, etc. And in the end I tend to think what to do with my own hands.



The fact is that I understand perfectly well and have no illusions that my “engine” (I will even write in quotes) - it hasn’t even been around with those developments that are now represented in both the paid and free market. It is clear that the "sloppy", security holes, govnokoda, etc. in my store hundreds, and maybe thousands of times more than in any of the famous engines. But as soon as I start to deal with any engine, despite all the variety of functionality that it provides, there are no dozens of things that I would like to see and that I need. I can even give such an example that in some well-known engines there is no elementary dependence of payment methods on delivery methods. Those. when a user chooses a particular delivery method so that a list of payment methods characteristic of him is issued (that is, some payment methods should not be displayed for some delivery methods). Not to mention the most different discount systems (we have dozens of discount options in our store, such as “buy this product on the last Thursday of the month and that accessory to it and get 1000 rub. Gift for the next purchase.” Example, of course, exaggerated. Just I wanted to show them some absurdity and complexity of our actions, which nevertheless are invented by managers and which are justified in our case. Many engines offer options for setting up a flexible system of discounts, for coupons, promotional codes, etc. But again, we very often there are stocks the technical implementation of which is impossible to implement in the well-known CMS. I’m talking specifically about promotions, but there are still a lot of nuances related to other aspects of the store.

About the admin part and completely silent. Our managers have such tools to work with the admin orders, which are not and can not be in CMS-systems. Because This is specifically a special case and no CMS developer will take this into account in his engine. For example: “withdraw all pre-orders for a specific period of time for goods that were not available at the time, but now they are in stock” and at the same time, with one click, send all these customers e-mail and SMS notifications that the goods appeared, come pick up (the message is filled with the desired address of the pick-up point, depending on what city the client is from). At the same time, statistics of clicks from letters, referrals, etc. inside the site is collected. I understand that the standard means of such actions and settings are not done. And I understand that this requires revision and completion of the engine either on its own or by hiring a programmer working with this engine.

')

In my case, only I do shopping. And I am the only developer, respectively, only me. Hiring an employee or paying someone for improvements in our case is not considered yet. And therefore, I understand that if you lean towards the installation option of one of the engines for an online store, then all of our ideas will come up, we will have to implement them ourselves on the basis of this engine. This means that you need to thoroughly understand its architecture, poking around for many hours, study the documentation, communicate with experts. In short, spend a lot of time and energy. And it’s not a fact that it will turn out to master it to the extent that you learn how to realize everything you want. It’s still not a fact that in this engine it is generally possible to realize everything you desire. And it's not a fact that you initially chose the engine correctly and you were not mistaken, because At the initial stage it is hard to understand whether you can cut it as you like or not, even if you deal with it. Well, it's worth mentioning that I'm not as strong a programmer as I would like. I am writing to php. Sites work fine, they perform their functions, the engine has less structure, but an experienced programmer still says “govnokod” and an odd job if he looks inside.



And in the end, having changed my mind and tormented by doubts, I tend to continue to work with my brainchild, where I am a god and a master and can do, without exaggeration, anything.



Here on Habré in one of the topics dedicated just to the engines for online stores, there was one comment. I’m not going to quote you exactly, but the point is the following: writing yourself is good, making your own engine is very good. It is good to learn how to program, understand how it works, learn the secrets of the architecture of such applications. But all the same, sooner or later it is necessary to switch to ready-made serious CMS-systems, because your engine is good only in terms of primary education, in order to understand this kitchen and gain experience and prepare for the transition to more reliable, sophisticated, serious and safe things, i.e. on ready-made and tested engines of experienced well-known developers for years. And already on them to create their projects.



But after all, it’s not even me that my engine is bad, unsafe or unable to withstand heavy loads, and so on. Now the site is working, everything is fine. With our attendance, our workload and our tasks, he copes with his duties and precedents, thank God, so far there haven't been any. And even there is a certain margin in terms of increasing loads. But even if our company becomes so cool that competitors will want to break us or our traffic will increase thousands of times, that the site will not withstand the loads - God forbid that it should be so! After all, this will mean that we are growing, our project is growing and our income is also growing. And even then we will be able to afford to finally hire a studio or freelancer to develop and subsequent multiple improvements of a powerful online store on some Bitrix (the phrase “on some” is not neglect, but just for color)))) . Therefore, my fear is not in it. My fear is different. As long as we stay at the same level as now, while our store is still placed on my codes, I am afraid that in the future it may happen that the site will have to work for example another person (maybe it will be my assistant or my changer) . HOW he will deal with what I did ??? After all, the biggest school of all samopisny engines, in my opinion, is that it is impossible for a stranger to figure it out.



But no matter how it was, whatever they said, whatever I did, I'm still afraid to embark on an adventure: start making an online store on one of the well-known engines, since I doubt that I can implement everything in it that is required by our company and that I implemented it quite successfully in stores created on the basis of my codes.



And I am very interested to hear the opinions and comments of experienced habrayuser, those who were in a similar situation and overcame it.

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



All Articles