I have a couple of (what I think are) good ideas floating around in my head, and trying to decide what to build them in.
I've dabbled in Rails, as well as full stack JS, but never built anything serious with either.
A few years ago I was really looking into becoming a professional Web Developer. I was doing tech support for a web design company but had hit a dead end with my career there. So I was doing the typical self studying thing, getting ready to go down that route, before I kind of fell into an Application Support engineer position with a startup my friend was working in, and I have been doing that ever since.
Now that I am in a pretty good place financially and career wise, and I am a little older and have a little better work ethic, I want to take a serious crack at actually making something out of these ideas I have. Back when I was first thinking about this, a few years ago, I was pretty sure I was going to build them in Rails. Rails was pretty popular then, I was learning about it but found it really easy to use, I really liked how fast you could get something up. But it seems like in the few years I wasn't really paying attention, Rails has really fallen out of vogue, as it were. It doesn't scale. People are listing Ruby as their most hated language. Etc. etc.
If you were starting a brand new project in 2020, would still doing it in Rails be a decision that you'd regret later, or is Rails fine, just everyone likes to crap on it because it's not the new hotness anymore?
Sure, why not?! It is an amazing framework. We just built our community in it in a few weeks time: https://remoteclan.com/. Hosting on Heroku becomes a lot smoother.
But as the other guys have mentioned, the tech is sort of immaterial as long as it gets the work done :)
I'm more of a Django person. But rails is 100% valid solution for MVPs and many indiehackers use it.
My advice is:
Focus on the things you build
Pick the option that allows you to build fast
Don't forget to keep it fun
You're overthinking your tech stack, like probably all indie hackers when they start.
Your tech stack will have very little effect on your initial success or failure, whilst your ideas and execution will have a huge effect.
So start coding now and road test your idea by collision with reality!
Currently using Rails to build the backend to a mobile app.
Try https://github.com/xgenecloud/xgenecloud
It's a futuristic take on how easy it is to build REST APIs quickly over a database.
With just database schema credentials as input - XgeneCloud instantly scaffolds REST APIs with Auth, ACL and Swagger Documentation.
Plus it also provides you GraphQL instantly as well. If you want to try that.
Currently, we support MySQL, Postgres, SQL Server, SQLite, MariaDB & Amazon Aurora.
Website : https://xgenecloud.com
Rails is not slow. You will find at scale that your database is the bottleneck.
Choose what makes you happier.
For the big majority of apps, Rails is just perfect.
"It does not scale" is certainly not true (Shopify, Github, Basecamp, ...)
"most hated" is very probably wrong too. Actually I often hear the opposite ( https://twitter.com/marckohlbrugge/status/1271749843740917762 ), and a lot about "javascript fatigue". Everything is so polarized these days...
Rails is probably the fastest way to build a mvp.
Your customers don't care what tech you're using.
My business partner is a Rails developer and he hardly have enough time for all the work he gets.
I may be biased, but I would totally go with Rails in 2020.
I've been ruby on rails from the beginning, but now, to answer your question "If you were starting a brand new project in 2020, would still doing it in Rails" I'd say no, not at all Sir! If your objective is not "learning and/or have fun" and it is "Idea Validation/MVP" instead, just make you a favor: go for No-Code!
https://www.indiehackers.com/group/no-code?utm_campaign=digest-daily&utm_medium=email&utm_source=indie-hackers-emails
Hi Guys,
I think rails the best framework have ever developed, and ruby is also so much powerful and at the same time very easy to learn. Anyone having a basic knowledge of coding can easily use ruby on rails to develop their projects. But I don't know why people have less hope with rails. Still it offers powerful tools like action-cable and others that can easily integrate to any projects and get you work done with very few lines of code. With rails you can easily build Restful APIs, which can easily be connected to your frontend application.
Here at Hackning, we use rails as our primary framework for building Restful APIs. The backend of our main application hackning.com is developed with rails. I can assure that its a pretty big project, we have literally thousands of line of code. But we never faced downtime or latency from the backend. Works really well with the frontend.
Although ruby on rails is great framework for developing Restful APIs, and still my first choice for beginners as well as experienced.
Absolutely yes. And I'm practicing what I preach; I've been using Rails to build pubb.at as a single tech founder, and things have been going swimmingly.
Some responses to your points, based on my experience:
Yup. Like you said, Rails isn't the new hotness anymore. This actually implies great things. Stability, well-beaten paths, low churn, hardened security, quality libraries, and tutorials for almost everything you can imagine.
Ruby is a double-edged sword. It has great flexibility that requires great discipline. Used unthoughtfully, it can become a scrambled ball of metaprogramming. Used correctly, you can write some of the most elegant and maintainable code you've ever seen.
But to truly do this, you need tests. Fortunately, Rails makes testing very easy.
If you use caching and avoid bad database queries, Rails scales just fine. Admittingly, the latter can be easy to slip into, since ActiveRecord makes it a little too easy to make db calls. But since Rails is so established, there are ways to dig into exactly what and where those queries are happening, making it easy to optimize them when your startup actually does well enough to worry about scaling.
Is it what I would choose? No - but thats because its not my "go-to" language, its personal preference, I use PHP, Node, and Go mostly. But you should go with what you know, that way the learning curve won't stand in your way, customers don't care what your app is built with in the end. Rails will scale as big as any other scripting language based web framework, so unless you are going to reach LinkedIn size, you won't have to worry about it. Language speed is really irrelevant among "scripting" languages like PHP, Python, Ruby, etc... because on the web there are other factors like Database i/o, DB tuning, configurations, server specs, bandwidth speed and reliability, file optimization, asset delivery/CDN, etc. that could effect speed more than language interpretation speed.
Definitely! I've been using JavaScript/TypeScript for the past year at my day job but for my side projects I still use Rails. It's just very productive for me.
I'm building Mailspree and Fairlytics (Privacy-focused analytics) with Rails as a backend and Angular in the frontend (Both projects started this year). Especially for Fairlytics I see some grand advantages of Rails I can make use of. Rails is a solid framework and really great for both frontend and backend. Though I sometimes prefer to use Angular in the frontend because one big disadvantage of rails is it's limited frontend capabilities. You need to use an extra library for the frontend and I don't know if you can take advantages of Frameworks and Libraries that use Virtual DOM or complex DOM Tree manipulation like Angular or React.
I just use what I am comfortable with and I think everyone should do so.
The simple answer is yes and no.
Yes:
No:
These are the experiences from building hellonext.co, Hearapp.co (moving it to Elixir Phoenix now), and UnderstandBetter.co.
These look like great products, especially hellonext. I'm curious which ones are on which tech stack and why you choose that stack.
Me: For sure! Well, I tend to use Sinatra (it's like Rails light, kinda) because I want to run a lot of apps on one virtual machine.
For your situation, I would say:
Rails scales just as well as Python or JS. I think it's a little slower (JS is fastest, Python slower, Ruby slowest last I checked), but these are interpreted languages, so they aren't competing with Go/C++, and not even with Java as far as I know.
I personally love Ruby, so it's my go-to backend. I can whip up an MVP in no time with it. For contract/consulting work, I know it's popular enough so I'm fine with that.
But if I knew I were going to be doing dev 9-5, I'd switch to Python (maybe Node, but meh).
Key points: Dev is a tiiiny part of building a business. If you're starting with "what new tech should I learn?" you're already going in the wrong direction. For work, you're definitely right that Ruby/Rails is out of fashion.
This comment was deleted 3 years ago.
"rails is coming to the end of its life commercially"
Surely you have a source for something this wild, right?
This comment was deleted 3 years ago.
Is Laravel staring to boom? I cut my teeth on PHP and got into Laravel a bit a couple years ago. I was much more interested in Lumen at the time but it just wasn't as focused on as Laravel. I've since moved onto react + .net core but really enjoyed eloquent and some other things in Laravel/Lumen. It's nice to hear it's getting some more traction despite people abandoning PHP because "PHP is old news."