3 ms·
That question is very generic, so I'll give a sadly boring and generic answer. Two options here: a) You want to learn. Pick whatever fancies you. Do it, but d
by lloeki 3y ago
That question is very generic, so I'll give a sadly boring and generic answer.
Two options here:
a) You want to learn. Pick whatever fancies you. Do it, but don't expect the end result to be perfect, because you're going to make mistakes, which is part of learning. There is no turn-key "best practice" checklist that would result in learning and not making mistakes.
b) You want to achieve some real and concrete project. That something is by and large independent of the tech you'll be using, as long as that tech stack satisfies the project requirements. Pick the one you're most confortable with and that satisfies said requirements. Do it. Focus on the project goal. Make it work, make it right, make it fast. Ship it. You'll have enough on your hands with the project itself that you don't want to lose your way down tech rabbit holes.
Doing a) and b) together has a high chance of blowing up in your face.
Side project? You probably won't have much time/energy for it, so focus is key. Make peace with the fact that project goal is either a) or b).
If a): This is a sandbox. Try stuff, compare options, tear it apart, _throw it away_. Using the project idea as a mere guideline, a "how could I do this or that" impetus, you're at liberty of hacking around, comparing and whatnot without fear nor constraint. Embrace the malleable nature of sand.
If b): You know Rails? Go with Rails. React is fine in front of Rails (heck, erb/slim backend rendering is fine even in most cases). Define "modern": is it _really_ about the tech, or about the UI/UX? Sick of these thousand JS/CSS bundlers and Rails trying too hard to integrate with an alien world? Keep it simple, emit JS/CSS and stuff it in `public` for Rails to serve. No fancy live reload? So what, big deal. fswatch+xdg-open/open get you 99% of the way. It's static in production anyway. Resist fancy, go for simple and useful. Achieve the project by yourself, which is a learning in itself.
In both cases, avoid choice paralysis. Trying to do a) and b) at the same time only amplifies it. Make a choice, decide what are you gonna do, how you're gonna do it. Just decide and move forward, sidestep the paradox of choice. Just do it. There is no perfect unicorn anyway.