Hey guys,
I had an idea for a web SaaS app. Any recommendations with what language or stack I should learn to get started and implement as soon as possible. The functionality is pretty simple, standard authentication,users, and accepting payments with stripe.
I’ve heard of (MERN) stack, also firebase, and other tools that make your life easier. Any suggestions would be greatly appreciated thanks.
You're going to get many different answers.
I continue to champion Ruby on Rails. You don't need React.
In the end, use what makes you happy.
This is my favorite answer here. I use Laravel with no front end framework. If it were me I’d reach for rails or laravel (or django for that matter) over any other choices listed here.
You can build a SaaS app with just about any modern stack. What languages do you already know? Rails + React or Vue is a popular combination. If you know PHP then I've heard great things about Laravel. My product (divjoy.com) helps you get up and running quickly with Node/React/Firebase stack and a pre-built UI.
I am currently using Firebase with great success. The reason I like it is that it's an integrated solution with:
If you are just learning to code, I would recommend not trying to implement everything from scratch. Especially not things like authentication, which take a lot of effort to build right, and provide almost no value to the customer.
If you don't want to use bubble, and your goal is to get into coding, consider outsourcing the backend and infrastructure to a service like Firebase, so that you can focus on the customers' experience.
I second this.
I'm a product designer by trade and hobbyist developer. I built my most recent app on Firebase and it's been a mostly painless experience. I struggled most with database architecture. Coming from a place of zero experience with nosql databases I definitely made some missteps early on but I'm learning from my errors.
The things I like most about Firebase:
What I don't like (this isn't so much a Firebase thing but more of a nosql thing):
My app is just React and Firebase and so far I haven't felt hampered by my choice of tools. Perhaps one day I'll outgrow Firebase, at which point migration to a different service will be a nightmare but for now I'm happy.
If it's really simple SaaS, maybe use no code solution? E.g. bubble.io
Try a few tutorials for different languages and see what feels right for you.
If you’re going to be doing the front AND backend yourself, then put Javascript at the top of your list - you’ll have a major advantage only having to learn a single language rather than two.
I love ruby on rails, but I’ve been using react with firebase a lot lately. I’m working on a saas starter-kit and already released some boilerplates to speed up developing new projects. You should checkout www.reactmillshake.com
I'd echo what all the other guys are saying, use whatever stack suits you.
I personally used the MERN stack to build my new startup, Luupro. However, I didn't go out of my way to purposely learn it, I learnt to use the MERN stack when I first started to develop web applications. If you're already comfortable with something else, try that, there's no "right" stack.
The no-code scene is also massively growing at the moment, with loads of resources to help you. If you don't already know how to code, you should consider or at least put some time into the no-code approach!
To be honest it doesn't matter really getting something up and running as soon as possible with your current skills matters the most.
Getting real feedback from users will be of more value than learning shiny new tools and delaying the validation phase.
If you don't know any tech use nocode platforms like webflow, zapier and iftt
If you're not currently actively developing in any language or framework, I would like to add my voice to the crowd urging you to check out Ruby on Rails. It is a framework designed for building SaaS apps. I strongly urge you to ignore anyone who tells you that you "need" a SPA like React until you have a problem that cannot be solved with Rails configured with Stimulus.
In fact, I have great news for you: most of your project is already done. Chris Oliver's excellent https://jumpstartrails.com/ is an application template that includes literally every feature you mention including full Stripe integration. It will save you weeks or months of effort.
Parting advice: ignore anyone that seems hell-bent on shooting down other opinions. Those people are always inexperienced and insecure.
Django + Python! I teach a course on Django. Send me an email if you want a free coupon to get it https://www.udemy.com/course/django-3-make-websites-with-python-tutorial-beginner-learn-bootstrap/
Assuming you don't know any stack yet...
Will it be a business app? Ruby + Rails.
Will it require low latency/soft real-time features? Elixir + Phoenix.
To simplify front-end I would not build SPA. Higher interactivity can be done in Stimulus.js or Vue.js components.
I recommend Javascript. BecUse you learn one language and you can write both front end and back end code.
As a new learner, you will have 1000s of questions. For javascript you will find all answers online because everybody is using it right now.
Shameless plug : https://www.udemy.com/course/saasify-build-a-complete-saas-app-this-weekend/ . Udemy usually sells it for 11$.
Python / JavaScript
Python is pretty easy to learn and it's becoming the most popular programming language.
I suspect almost everyone here has said what stack they are most comfortable with.
I think the most important question is: what stack (or stacks) are you most comfortable with? Then we can discuss whether that's a good fit for your saas app.
If the answer is "I don't know how to code" then you may want to consider a no-code approach.
If the answer is "I don't know how to code, but I really want to learn" then you can evaluate what everyone else feels is best.
When I was trying to choose a stack a couple years ago, I looked into Rails, Flask and Django. Then I discovered "serverless" solutions and knew immediately that's what I wanted because I want to focus my limited bandwidth on front-end development, not back-end architecture/scaling/security etc.
My stack is React (using create-react-app) + Firebase (for hosting, auth, firestore database, file storage, and cloud functions). Firebase APIs are simple and well-documented and have been a pleasure to work with. Features like offline mode and real-time-updates can be implemented with a single line of code. It lets me focus on building the actual app experience. I absolutely love Firebase and recommend it 100%.
Short answer: Whatever you code best in.
I wrote an article for the long answer: https://dev.to/levinunnink/how-to-pick-the-right-tech-stack-for-your-startup-4cgo
I have a bit of an opinionated take on this, being as I'm working on a SaaS starter kit specifically to address people in your position, so full disclosure and all that.
You will need JavaScript for your front end anyway, as users expect interactive experiences, to to keep complexity down, I'd say go with JS on the backend, as well. A big benefit of this is that you can now share library and entity code between the two, reducing duplication and the possibility for errors.
If you're not planning on having a big team, I'd say skip React and pick up Vue instead. It's a much simpler mental model, but still flexible enough to allow you to do all the fancy things you'll want. Plus, it has a lot of momentum, so it won't be especially difficult to find developers that either already know it or find it easy to learn.
And definitely start further along than just with a framework. Find a starter kit that has all the tools you expect to need (subscriptions, user management, etc), and skip writing all the boilerplate stuff yourself.
I'm a few months from launch, so I can't directly help you yet, but if you're still debating come summer, hit me up and I'd be happy to hook you up with a preview copy. If you start sooner, I have a list of competitors that are already out there that I'd be happy to help you decide between. Let me know!
.net core and svelte is the clear choice here. If anyone tells you different they are incorrect. /s
But yeah, they're both awesome.
maybe learn javascript/typescript languages.
frontend : vue (javascript)
backend: nest.js(typescript) + firebase or mysql or mongodb.
typescript included javascript.
This comment was deleted 4 years ago
This comment was deleted 6 years ago
This comment was deleted 7 years ago
You are very much de-tached from reality. The Ruby community is mature, and mature is boring, which is why you don't hear about Ruby.
This comment was deleted 7 years ago
Here's an interesting read. https://naturaily.com/blog/who-gives-f-about-rails
This comment was deleted 7 years ago
This comment was deleted 7 years ago
I have apps that run half a million users using the same hardware that we started on. I have multi-tenant apps processing 50K in revenue on a $10 droplet.
I built and manage Rails apps that generate multiple millions a year in revenue without ever needing to horizontally scale because we are not the size of Twitter.
This fallacy of "OMG we need another tech because Rails can't scale", for most IH's, is just false. Plain and simple.
This comment was deleted 7 years ago
Seems you're very "anti" Ruby even though you work in a Rails shop. For many, including small companies and indie hackers, the fast way you can build something up and iterate with Rails it's what matters the most.
Adding an extra server of $50-$100/month (in worst case - most likely you won't need that at all) is much cheaper than taking a month extra development time (which is not only money wasted, it's also stress, etc)
Elixir is a good alternative but it's not mature enough and you can't find people to hire. There are a few, but choices are limited.
Whatever gets the job done fastest, must be the best
There's a lot of red flags here and in your hyper-active replies to every comment that disagrees with you. While you're welcome to your opinion, but from up here, it's hard to take anything serious from someone who tells a person to learn a systems language like Go or Rust to build a web SaaS. It's hard to read something like "throw out all of this advice if you plan to rewrite inside of a year, which you should probably do regardless".
The simple fact that Rails is stable and mature with a low learning curve and features that are literally designed to make it a perfect foundation for building a SaaS should count as a strong pro. The idea that someone should be ridiculed for "still [being] a Ruby fan" isn't something a thought leader would put forward, because the folks that people respect and want to be mentored by will encourage others to learn many tools that are appropriate for the right jobs.
Elixir is an awesome language. Phoenix is an excellent choice for a developer who wants to use a functional language on the Erlang VM with a framework similar to Rails. Lots of Rails developers also know Elixir, which shouldn't be surprising because it's many of the same folks. However, Elixir barely slices into the client services and product development worlds as Rails and Django do. Rails went from being the "does it scale" underdog to the safe choice and that means its actually battle-tested, unlike whatever flavor of the month hackers are playing with on weekends.
I was just trying to share my perspective on these technologies and where I've seen the most headaches over the span of my career, to encourage OP to avoid technologies that ultimate lead to a lot of technical debt and pain. I can see that the Ruby crowd is mad that I didn't say nice things about their baby, so I've gone ahead and deleted all my comments. Happy now?
This comment was deleted 7 years ago
You never heard any good backend project which is using Java?
I work as a consultant for few companies projects, most of the hardcore backend business logic for international banking software is written in Java.
This comment was deleted 7 years ago
All of Amazon Alexa is written in Java with hundreds of devs contributing and it was a breeze to work on.