DEV Community

Discussion on: Help me choose: My desire vs popularity. Your opinion please!

Collapse
 
karandpr profile image
Karan Gandhi

Hey @rickavmaniac
I read your posts and I found them relatable.
I usually have this dilemma and I ask myself a set of questions like below.

  • Is my replacement easily available in the market if I am not around. 1.5 years is a long time and things can change pretty quickly. It's always advisable to use technologies that can be easily learned or the developers are easily available. In your case, I believe it's laravel. Hate on PHP but you can get good PHP developers much easier than ruby or Django devs.

  • In case I can't get another developer, how easy it is to train another developer and how much time am I willing to spend on it? If the learning curve is steep, then it might be enjoyable but it doesn't make sense is someone else is unwilling to put a similar effort.

  • Are there any breaking changes when framework updates? One word. "Angular". For the long term, projects don't invest in frameworks that are "cutting-edge" or have breaking changes every 6 months. By the end of the project cycle, your project is already obsolete and you can't even train or hire a developer for your stack. A thumb rule is to check changelogs of updates, major and minor, and see how the release cycle affects the current stack.

  • How easy is it to migrate the stack to a different server or how easy is it to update the stack to a newer version? After 2-3 years, we might have to migrate to a different server for performance or economical reasons. After 5 years we would expect to migrate for security reasons. A fine example will be PHP 5.6 and PHP 7.x.Another example is your site has more traction and you need to handle load balancing.

  • Is the stack I am choosing in active development? If not then don't use it. Clear and simple. Don't invest in dying stacks even if you are an expert in that stack.

  • Are there plugins or functionalities which are required by your project but unavailable on the framework. If not, do I have the necessary skills to roll my plugin and test it? - This part is important. 6 months down the line there should not be a case where something which was easily available in say rails but no such functionality is available in Django. Depending on that situation you will either have to write your own plugin/hack-job or start a project from scratch in different projects. Avoid this by investing time in researching everything you need and may not need beforehand.

That's probably about it I guess.
Just another note. You should make a series of your posts.

Collapse
 
ericchapman profile image
Eric The Coder

Thanks for taking time to respond to me. For my part for now I am a solo developper but maybe down the road a resource could be added. One thing I know is how popular is Python and PHP but it' harder to size the Ruby popularity. We know is way less but still reasonable? Or not?

Collapse
 
karandpr profile image
Karan Gandhi

Well, let's ask @ben to share his thoughts about RoR. :)

Collapse
 
ericchapman profile image
Eric The Coder

I try to make a serie out of all my parts but I dont see the place where I csn enter a series name as mention in the help...

Collapse
 
karandpr profile image
Karan Gandhi

dev.to/kallmanation/dev-to-writing...
You will have to add
series: My Series Name to the section between --- and --- in markdown