5
17 Comments

Back End Preference and Tips?

Hi there!
I'm just getting into Web Development right now, I am actually just finishing a full stack web development program where I learned some .Net Core with ReactJs. I am also going to learn a bit of NodeJS in the next coming weeks. I'm just curious what some of you might think would be easier or, more beneficial I guess, for a new developer hoping to build some side projects to use .Net Core or NodeJS?

Is there something else you would recommend someone in my shoes looks into when trying to start a new project?

Any advice or tips in getting started with my own projects or even joining someone else on developing a new idea?

on April 29, 2020
  1. 3

    I will say there's definitely an advantage to sticking with node on the backend if you're already using modern JS on the front-end. You probably won't be literally sharing code between the two (though that's not impossible), but what you will be doing is avoiding a mental context switch every time you shift between front and back end code due to the difference in languages and idioms.

    Another thing you need to think about with backend development is how the choices you make will translate to infrastructure / dev-ops complexity. I've traditionally use koa or express for this (koa is just a more modern version of express) and been pretty happy with it. Easy to write a nice little restful interface, lots of extensions to help you scale up to more complex use cases.

    This does however create a bit of infrastructure complexity if you want to run things anywhere beyond your local dev machine: where do you deploy it to? how do you scale it? how do you deploy it? do deploys cause downtime while your production machine is being updated? Do you need a load balancer and multiple instances so you can do a rolling deploy? How does it talk to your database? How do you manage secret credentials without checking them into your code? There are answers to all of these things, but they all create complexity and more for you to learn and think about while you're developing.

    The easiest way to deal with all of this is to use a PaaS like heroku that will handle most of that for you. You give up a bit of control and you pay a little more than you would with AWS, but it's much, much easier, especially if you're new.

    The other option is to go completely "serverless" and skip express / koa entirely. We're doing this on my latest project, consentry.org, using cloudflare workers. So far it's been a really great experience, very easy to get spun up on, and insanely only costs $5/mo and scales infinitely without you needing to think about it. We went with a no-framework approach at first, and are now starting to consider using serverless framework (serverless.com) to manage the complexity as we grow to more than just a handful of microservices.

    1. 3

      Thanks for the Insight! a lot of things for me to think about when I get started on my next project so I think it will definitely help me and save some time. I'll be looking into some of the things you've mentioned.

      I like the site you have by the way

  2. 1

    I like to use faunadb(fauna.com) and vercel(old zeit) for lambda functions. the setup is pretty easy and they work very well with React.

  3. 1

    Are you trying to learn web dev to build your own products or are you looking to learn for the sake of finding jobs/clients? Depending on that what's best to focus on may change. Different languages/frameworks offer different advantages and trade-offs.

    1. 1

      Kind of both, I've always had an interest in web development but never fully committed because life wouldn't allow it I guess, but now I'm taking a course and I'm able to learn Node after learning .Net Core. I would like to get into the industry and get a job as a developer but I would also love to work on my own things on the side so just trying to see what would be easiest and more beneficial to stick to and would allow me to do both of those things.

      1. 1

        Ah, gotcha. In that case, if you're looking to get a job primarily, I would focus on improving your skills around what you already know (.Net) and looking for jobs in that space. In terms of Node/JS, learn that one the side for fun to help you build your own stuff as well as improve your overall resume/CV.

  4. 1

    This may not be what you're looking for, but I use Firebase so I don't have to worry about back-end and can focus all my efforts on the front-end.

    If your project is a standard CRUD app, then Firebase is great. If you have unusual back-end requirements, then it may not work for you.

  5. 1

    I highly recommend learning JS. NodeJS, TypeScript, JavaScript, and etc.
    I'm not a JS developer (I use Golang), But I believe that you can build everything from backend to web and mobile with JS.
    You can't use .Net everywhere, but JS is cheap for development and even deployment.
    There are many libraries in JS that are easy to use, to learn, and contribute.

    1. 1

      Yeah that's what I'm starting to realize about .Net, it's very limited, it's used a lot but mainly in enterprises and big companies. and Node is being used everywhere

      1. 1

        Many successful and creative companies use languages rather than DotNet(!) or Java. So you can use them too.
        I hope to see you building awesome products.

  6. 1

    Laravel + VueJS

  7. 1

    If it's something small with a few features I usually go with PHP + MySQL, because it's really fast to get started with (no compilation or server restarts needed during development), finding cheap hosting for those is really easy, and you can even change code live on the server if you ever have to.

    If there's a more complex project, let's say building a platform like StackOverflow, I will probably go with Node.js + MongoDB and a React/Vue/Svelte front-end, mostly because I am already familiar with those .

    1. 1

      Hey, thanks for the tips! I'm going to look into PHP it sounds interesting and maybe easy to get into when just starting off?

      1. 1

        Yes, it's easy to get started. I wouldn't recommend starting with any frameworks initially, just try PHP and write whatever code you need, make it fast & dirty for your MVPs.

      2. 1

        This comment was deleted 4 years ago

  8. 1

    In my Dogger product (https://dogger.io), I used .NET Core and ReactJS.

    It is definitely a powerful and fast stack, and a breeze to work with.

    If you do decide to go with NodeJS, at least (as a minimum) use TypeScript. Strong typing will make it easier to maintain your application as it evolves and grows.

    The same goes for your ReactJS - use TypeScript on top of it (TSX).

    1. 2

      I love the site! Your Logo is great.
      I don't have much experience with TypeScript yet, I do want to start working with it I am waiting until I'm done with my current project since we aren't using it in there and it takes up most of my time, but as soon as I start working on my own project I will be using TypeScript.

  9. 1

    This comment was deleted 6 years ago

    1. 1

      See I'm going through a program right now, (I've tried Udemy Courses and I really like them ) and I'm learning .NET but I will be going through the program again with an emphasis on Node this time, still using React in the front end, I really want to get more involved in Node as I see that having a bigger market