Which language to learn to create web apps?

So I have been mobile app developers for more than 3 years now initially starting with Native Android and then Flutter (hybrid) flutter gave me the option to run the same app on the web from then I am hooked.

I want to create web apps which framework I should learn? I got to know about ruby on rails and started learning then some people started mentioning it to be dead or old and stuff like that.

Which framework do you use? And which one will you suggest?

  1. 16

    If you want to do both front and backend then learn Javascript, it will save you having to learn two separate languages.

    1. 1

      This comment was deleted a year ago.

  2. 7

    React is probably the safest answer, although I gave up React for Svelte about a year ago and have been nothing but happy with that decision. Svelte is amazing and I highly recommend it.

    1. 1

      thanks for suggestion will surely look into it

  3. 3

    I can recommend a Vue + Laravel combination. I personally don't like RoR but as others have said, it's very much alive.

    Most of my simple projects are built with Vue and Firebase.

  4. 2

    if I had to build an app today, probably I wouldn't use any framework, but only no code tools. Less Headache, more things done in less time.
    Give it a shot

  5. 2

    There are lots of choices for backend development, my preference is Elixir Phoenix but Ruby on Rails is far from dead. Depending on the backend complexity, something like React and Firebase would work. Firebase seems to be able to support very complicated apps, but I’ve not personally used it.

  6. 1

    First, avoid making decisions like this based on people saying that something is "dead or old". The C programming language for example is 48 years old, but its age has no bearing on the value it brings for the areas where it is used!

    I my self spent 3+ years on Android development, 20+ years on Windows desktop development and only started web development this year. I am using plain JavaScript (via Typescript) to build my current app and it is working really well.

    There are many frameworks out there (and new ones come out each day it seems) but I would start with plain JavaScript to get your foundations solid and only switch to a framework if it would save you significant time for the problem you are solving!

    1. 2

      thanks i will do this

  7. 1

    I have to give my vote for Vue.js for front-end. The learning curve of Vue vs. frameworks like React and Angular is amazing. I've tried all, and Vue was way the easiest to learn for me.

    All you need before doing Vue is some basic CSS/HTML/JS skills - get a good course on Udemy/Udacity etc.

    Then if you want to be able to launch something at lightspeeds, use Firebase for back-end.

    (I built https://ziago.co games with Vue.js in like a month, and on the back-end everything runs on Firebase)

    1. 1

      yesterday I completed a full course of building a simple todo app with vue will learn more thanks for detailed feedback I really appreciate it

  8. 1

    Some flavor of JavaScript front end with an Express back end is probably the most one-size-fits all solution right now. The React / Express environment is very nice to work with, and I believe they are both technologies that will get bigger and more powerful in the next couple of years.

  9. 1

    React or Vue + NodeJS + PostgresSQL. This is the best stack.

  10. 1

    Hi, I started in programming as an Android developer, following to iOS, both native. Did that for most of my career. Currently, in the startup I've founded last year I decided to go full web because I have a B2B app that needs to be white label. If I wanted each client to have his own app with his company name and logo I would have to upload a new app for each client in each store. Anyway, start with javascript because it is the language of the web. There are thousands of libraries and frameworks written in javascript to work in the client side and I personally love node.js for the backend. I am using typescript ( typed javascript ) in both. For the client web app for me React is the best approach.

  11. 1

    As pointed out by others, it depends on what you might be building. When it comes to full stack, RoR seems to be on its way out for sure. Django and Laravel tend to be two options that do come along often.

    For the frontend, Flutter might be a bit too young there, though I am looking forward to the day where I can use the same code for mobile and web. So then if you do have a feature rich frontend, you will want some reactive type framework at which point React and Angular are good options at the moment.

    Learning javascript is always good, and Dart shares some similarities so it is an easy jump.

    If your frontend doesn't offer that much functionality, jquery might be appropriate as well. It's an old library and it does the job.

  12. 1

    For my current project I'm using Angular for the frontend, my backend is based on the Serverless framework for easy scalability, both frontend and backend are implemented in TypeScript. I'm very happy with that stack so far.

    Of course for the frontend React or Vue work just as well, I definitely recommend TypeScript over plain JavaScript though, I'm finding that my code got a lot cleaner and more robust after doing the switch.

  13. 1

    I've gone for React (soon switching to Preact) for Portabella.

    On the backend it's just a standard Node.js Express server in front of Postgres (well, it's actually wrapped up in a Lambda function using some serverless-http magic but that's neither here nor there)

    1. 1

      I've been looking into preact a little bit but haven't found enough yet to know whether I'm suited for the switch yet or not. I'd love to hear how you decided to switch and have you done any experiments to see how it benefits / impacts Portabella specifically?

      1. 2

        I'm specifically trying to reduce my bundle size... I have a few huge dependencies that one by one I'm trying to trim.

        I use Grommet/styled-components and from what I've seen Preact works 99% with those, a couple issues I've seen but nothing major. I scaffolded my app with CRA and the easiest way I found was to use react-app-rewired to access the webpack config needed to resolve Preact.

        Render speed wise I'm not too sure yet I'd need to experiment more but I trimmed a whole MB just by resolving React -> Preact so it's a big win in my eyes

        1. 2

          Nice, I'd love to hear how it goes it you plan to share 👀

  14. 1

    Strong recommend for learning JavaScript. If you're building web apps, it is the lingua franca of the browser, so you'll have to learn some at least. Then, if you go deep into JS, you can use it on the server as well, and share common validation, models, libraries between the two, which makes it much easier to code and maintain over time.

    Not to mention, JavaScript is very popular right now, with a lot of excellent libraries to help you out in common cases.

  15. 1

    I am trying with Flutter web, have a look at https://randator.com. Not ready at the moment for production (beta version available) because there are missing features and performance issues, but I wanted to learn the framework. I like it and provides a lot of freedom.

    Not recommend if you want something done just now, but it can be a good way to learn and be prepared for the stable version.

    1. 1

      I had no idea that Flutter web was a thing, and that app is looking awesome.

      1. 1

        Still not a big thing, though :-). There are many issue to solve, but the framework is getting better. Thanks @Riktofarius

    2. 1

      yes I also enjoy building with flutter web, I create bakeappicons.web.app with it

      1. 2

        Cool! I am following you to see your progress and talk about Flutter

  16. 1

    That depends on what you want to build, if you want to build a web app with a lot of interactions (such as displaying user data, creating user data, fetching some others apis), I will recommend React or Vue, these libraries help you build dynamic web apps (SPA: Single Page application).

    On the other hand, if you are looking for create a web page with no much interactions (such as blogs, or maybe stuffs related with some admin dashboard), I will recommend a "Side Server Rendering", Laravel (php), Ruby, etc

    1. 1

      thanks this was helpful

Trending on Indie Hackers
How long did it take to build your MVP? 32 comments Dealing with lack of motivation due to failed soft launch 27 comments Bootstrapped my productivity app to 700 paying customers! AMA. 17 comments Free e-mail countdown timer that doesn't suck 💩 6 comments Return of the external link 4 comments How To 10X Your Design Rates in 2022 (Free Script) 2 comments