Answer the question
In order to leave comments, you need to log in
Is it worth starting a new project on a new technology stack?
Good afternoon, we are starting a new project soon, the bosses are not against the experiment - that is, the choice of technology on what to do is up to me, plus one more person will work on this project and also wants modern and good.
The mind says to start on Laravel, because. it is full of documentation in Russian, plus the PHP language, which already has accumulated experience and an active community.
I understand what needs to be done on what you know best, but in this way you won’t learn anything new, which is why it’s interesting - is the game worth the candle? Maybe someone has experience of migrating the whole team from one stack to another and what difficulties arose in this?
Old project (PHP: Kohana, MySQL) - a mess of code in controllers, no normal ORM, no objects, most of the data is passed in associative arrays and then it's all saved through the query builder, no tests, etc. That is, the very code about which they write "the ability to understand someone else's code."
I myself would love to start it with Django, because there is knowledge in the theory of both the language and the framework, but there are doubts that it will be hard, especially for two.
Answer the question
In order to leave comments, you need to log in
Disclaimer: I have no experience with teamwork specifically in Python / Django. But there is experience of single work in this stack, and experience of team work in other technologies (J2EE).
Under the following conditions:
I would try. For a project of any complexity, Django will provide great benefits in the long run. Your company will end up with a project that is very likely to cost less for a number of reasons:
You will also get a lot - you will be able to grow as a developer during working hours, and master a modern language / framework / stack.
I would not be afraid of various problems and rake. Now on Stack Overflow you can find the answer to almost any question or problem that has arisen. You will quickly gain experience in the process if you work conscientiously. There are great books out there discussing best practices, tricks, and more. From personal experience, once you "get up to speed", even alone you can work in Python/Django very quickly. True, I already had a lot of experience in other languages (including functional ones), which helped a lot with the architecture. I have no doubt that in Python, if desired, you can write the same code as in Php. Therefore, one of the biggest obstacles can be the need to change the way of thinking and abandon the templates familiar to Php.
That is why, in particular, sufficient time is required, at least for the initial phase of the project. If the authorities have an understanding that the transition to a new technology is associated with additional time costs, and at first there may be failures and errors, then I would not really think about it. If the project needs to be done in the shortest possible time and immediately clean (ie it will not have a "beta" or prototype phase), then yes, you need to think. In general, it all comes down to whether the project will be functionally complex enough, whether the bosses are set up for strategy or tactics, and whether you and your team are set up for very serious efforts or not.
in business, not in studies,
if there are no convincing motives to change the stack - do what you know,
PHP is enough up to a certain limit, and with Django, the introduction of new features will run into a lack of experience
if the authorities and the office do not particularly depend on what is being created (like a site schools) - you can play in learning new things
If deadlines are critical - Laravel, if you have been given carte blanche to learn something new, taking into account time risks and possible bugs - Django.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question