Should I write my Framework / CMS if there are already ready ones?

Should I write my Framework / CMS if there are already ready ones? Probably many people thought about this. The question is obvious. But the answer will probably be ambiguous. Part of the community - advanced cool programmers will say why reinvent the wheel? Everything is. Need a business card site, please have one, just for yourself a tweak. Need an online store please. And you want your social network, no problem! Why write your own somewhere clumsy, somewhere erroneous, and somewhere in general flawed.
Now a huge number of different CMS / CMF. Probably many will agree that Zend is in the first place, and then all the rest went. Every year Zend “mumbles” code is optimized, security is improved, new modules appear, expansion options, etc. and all this thanks to those excellent specialists who support him.

And what can the self-written framework offer? a couple of "under-models" are sometimes not quite even. And on this basis, any adequate person will take courage, set aside his framework on the far shelf, and take Zend for work.

My opinion is that when a person / student / beginner sits down to study the same php, having a little knowledge from books or the Internet wants to make his site. Starting to write it, it encounters the most important thing, which is very necessary - it makes you think how to write a site: let the kernel be primitive, work with the database, files, etc. This includes a thought - it makes it possible to prove yourself as an inventor, albeit for yourself, albeit not very good.

The more attempts he makes, even if they are not successful, the more experience will be, and the experience to correct his mistakes. An important aspect is that you should not just sit at your code. The best teacher is to watch others do. Take ready-made frameworks and parse and analyze their code. Collect on these "alien" products what your applications are. Watch how they function using ready-made logic and architecture.

Personally, from my own experience I’ll say that when I started getting acquainted with php and came to the conclusion that I need to write some kind of “core” for the site, and having searched many forums I got answers like: “Why is Zend bad?” Or “Guy, don’t reinvent the wheel.” Everyone came up with us. ” This is very upsetting. And for a beginner to learn Zend is not easy, even for those lessons that are now online, in which everything is chewed. When you don’t understand why so much code has been written to make a simple action that I supposedly can make 2 functions in my framework, it’s hard to agree that Zend or another framework is better than yours. Of course, over time, you understand and begin to see the holes of your brainchild, and more and more often you look in the direction of this mega-monster, the destroyer of the "child psyche", the handsome Zenda or any other. That’s time and experience is what you need, and don’t be beaten

My first site was terrible bydlooking. All mixed up code, html tags, logic. Then, I realized that it was difficult to catch errors from the heap of files, and created a prototype of the library with functions. It was for me raising one level higher. But for me the concept of OOP, classes, patterns, singleton was scary and foreign. But the time came and it became clear to me that the file with the functions was already missing. The site could be compared to writing a toy in assembly language, something similar to low-level programming. I realized that something new was needed, but OOP wasn’t given to me at all, and on the forums everyone wrote “ZEND! ZEND! ZEND! ” Having hardly understood OOP, I took up ZEND. But somehow it did not grow together, I'm not talking about other frameworks. The only thing I began to do with Zend was to watch his “insides”, implementation. Many things were not clear. In memory of what are some separate interesting decisions. Then other frameworks went “under the knife”, the desire to find out how smart people do makes increased. Implementation examples and code were put off in the brain, which then resulted in writing your own framework. I know for 100% that he is damaged in something, but on it I worked out all the “fighting” techniques that I drew all this time. After that, the understanding of the same Zenda or another became much higher, and the code is more elegant.

Rummaging across Habr came across a post Architecture CMS where uv. mr_fresh wrote a comment on the post:

"Eh, many of us once drew such circuits and wrote systems ... This is a great experience."

And there are many such posts, and it’s insulting that many such posts are harassed. Not everyone needs to become professional programmers. Many have enough of their own page on the Internet.

If we make a logical conclusion, then, it seems to me, there should be self-written frameworks! At least in order to grow as a specialist, get more versatile practice. Because no matter how perfect and beautiful the code would be written by experts, everyone will have their own vision of certain tasks. And so their freymforks are born. Someone put his own website on his site and someone makes a simple business card site to the customer, which is updated once a year. Your “self-propelled gun” is a good training ground, but do not forget about others, at least as examples.

Also popular now: