📜 ⬆️ ⬇️

Framework or your bikes?

in general, this is a copy-paste of the answer to the topic: PHP> Stop reinventing the wheel!

I brought it into the post, because there is a partially opposite position expressed, and decided that we can talk about it. I prefer to study patterns rather than ready-made frameworks and if you use ready-made solutions, then narrowly directed, not all-inclusive monsters.

I’m the leader of the incomeproject.com project team (this is a large platform for creating affiliate programs), I can say that the use of third-party libraries is complicated at least for such reasons: to use such a library in a serious project, it must be fully trusted, in order to trust it it must be studied and run in any "not important" project, there are usually no such.
')
you need to fully understand the scope, working conditions of the Framework, the methodology for solving problems that it offers. if not, then sooner or later you will get into a situation when the Framework does not satisfy your requirements and you need to write a “crutch” here and you will fall into the trap when you need to put more and more crutches. you can put the crutch correctly (at the right angle) and you can still not violate the logical integrity of the application based on FW if you understand the ideology of solving the problem, which is incorporated in the Framework.

Thus, in order to start using the framework you need:
  1. Try it anywhere in a weakly significant place.
  2. examine the whole dock and know typical examples, it is advisable to hang out in communities and learn typical problems
  3. understand the solution ideology (large Framework, many authors, and therefore many different solutions)
  4. realize ALL levels of abstraction used in the Framework.
  5. write somewhere long playing, but again a critical project on this framework.
Now, only now you can use this Framework in your projects ... everything I wrote here is my opinion, my position, but it is based on the experience of a person who wrote PHP systems (and not only php) working on more than 5 These machines both with the functional distribution of computations and with the distribution of computations by data and are perfectly scalable.

credibility of C ++, C and Java is not at all due to the fact that the brand is behind them, although they, too, but also the old age of the Java technology’s current has not long ago made NetBeens at an acceptable level, and before that it was also warehouses of solutions and all rummaged in them, it suffices to recall the epic with aspect programming.

Why do I use my designs and prefer to study patterns rather than frameworks?

  1. knowledge of programming patterns gives you not the dish itself, but a recipe for how to prepare a dish, you are free to use any cookware: PHP JAVA ++.
  2. You can add spices of your choice, if you work in a team, then you have more trenches to change the recipe before cooking, so that none of the team members will be allergic to certain parts of it.
  3. You can use seasonal and fresh vegetables! For example, if you just have the opportunity to use the Naimspices, you love them, then you can already include them in your dishes! I very much doubt that the chef of your beloved Framework has the flexibility to do this.
  4. losing weight - you need fewer calories ... I think you don’t need to carry the entire framework of frameworks with you just so that it works “as always” or “just in case” you are cooking!, which means there shouldn't be anything extra on the table .
  5. “Use only soy sauce” - think whether you should strictly follow the recipe ?? What if you want ketchup? refuse tamatov? restrictions caused by the use of ready-made frameworks are sometimes very serious and you do not need.

these are only general remarks, there are private ones, for example, you know that in your case the context of the task implies simplification of some mechanism, within the framework of the framework this simplification (logic, abstractions, performance) is usually difficult to do, but in your kitchen you can imagine allow it. I highlight the following pros / cons:

your bikes

minuses:
  1. there is no community that will discuss YOUR problem
  2. the probability of "stupid" mistakes
  3. you boil in your own juice - do not know new methods if you always do everything yourself
  4. It's hard to betray the project to other people.
Pros:
  1. you have complete freedom of choice, everything you do you can do as you please
  2. anywhere you can insert a new solution and you will know how it will change your system
  3. You can solve any problem! you are the author of the system, you are subject to the decision
  4. all limitations are subject to you


in the end, you risk, but you are guaranteed not to go to a dead end, and with the Framework (especially large you are not guaranteed)

PS: the first topic on habrakhabr, I was shy about everything somehow ... but then it hurt ... I discussed this topic with my friends a lot. -)
PPS: I didn’t cover the topic of libraries here at all (those that solve the NARROW TASKS by one method) - on the contrary, I love them, I will write about this separately.

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


All Articles