简体   繁体   中英

Suitable tech stack for my next "side" project

I am about to start working on my next new "big thing" side project which does have a lot of potential for growing. The only issue I have is to select a proper tech stack for it. I am considering between RoR and node.js stacks. Since I am a full-time RoR developer (I am a decent JS developer, but do not have any node.js experience) it would make sense to go for RoR, but the app I am about to start developing must have quite a few real-time features as well as reporting, some small image processing, pdf generation. Therefore I need your advice which tech stack would be more suitable in my situation. The key things to help me choosing:

  • There is no deadline / timeframe for this project, meaning I do have time to learn node if needed.
  • I am experienced RoR developer, but never developed big real-time parts for RoR apps.
  • Hosting expenses is important since this project is not meant to generate money (for at least 2 years after launch - assuming I will launch it someday).
  • Project functionality includes 40% of real-time functions (eg UI notifications of new objects matching user's filtering criteria, chat boxes, etc.)
  • Ability to support delayed / background jobs.
  • I am more than happy to learn node.js if it suits needs of this project more than RoR.

Please note that I am not interested in starting language / tech flame war. I am asking for help to choose the right tool for the job as I am biased, because of RoR being my golden hammer for a few years now, so every new problem looks like a nail to me.

查看当前的热门话题,微服务架构,这将使您的应用程序技术/语言依赖免费,因此您可以使用 RoR 构建应用程序的微服务,另一个使用 Node.js,第三个使用 PHP,等等,您可以稍后轻松更改微服务技术/语言。

Here's what I would do - I would really focus on what is your goal in all of this:

  • is it to launch this as a true side hustle?
  • or is it to learn something new?

Pick one of those. If it's to get this thing launched then focus on that. If it's to learn a new language, etc. then focus on that. Don't do both.

You also mention another red flag - no deadline. If you don't have a deadline you will never finish this thing and launch it, I can almost guarantee it. I've done it. I've seen many, many others do it. Even if you set a deadline of 6 weeks, stick to it. If it's slipping then pull features until you can ship something at 6 weeks. Commit to this publicly in some way, shape, or form. Facebook, Twitter, whatever, just commit to launching something.

Work on this project every single day, even if it's just for 30 minutes. Yes, you can get something done in 30 minutes that is valuable, I do it every single day on my own side projects. Push that ball forward. Schedule that block. Do the work.

Finally document your progress every single day, keep track of what you've done and where you're going.

Some of this I have distilled into a flowchart to help people pick a side project. Other sections are actually part of a course I teach called 30 Minute Project .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM