Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

JavaScript

Cameron Bourke
Cameron Bourke
10,198 Points

The full stack of Web Apps today?

I know the answers to this question can be heavy based on opinion. However, I still think it is worth asking.

What is the most effective full stack today, to build web apps?

My team and I are really struggling with the path to build a web app, when there are so many languages and frameworks that can be used. So far, we have settled on the usual html/css (Sass)/js (angularJS) for the front end. But thats where it ends. In terms of the backend there are so many options. From what I've read, ruby on rails or node.js seem to be the two most popular options. Or is there another option that I'm totally missing?

We plan to use the awesome, Ionic Framework (http://www.ionicframework.com), to build the front end. Ionic uses both Sass and Angular, so that reinforces our decision to stick with that stack on the front end.

Then there is the other consideration, that what we choose for the backend, will have to be learnt. Therefore something as new as node.js doesn't have the community or learning resources like that of ruby, python, php etc.

I'm sure there are plenty of people on treehouse who also want the best for their client or personal projects, so hopefully this question can clear the air for lots of folk on here.

Thanks in advance for getting involved in this question. You're doing the world a favour!

I may be in the minority on this, but my full stack is usually bare-bones: Sass and jQuery on the front-end and PHP / MySQL on the back-end. I've been encouraged to look into the Laravel PHP framework (sounds exciting). I'd like to learn more about Angular and Node; need more hours in the day!

3 Answers

I really depends on what you're trying to achieve. Every technology has its strengths and its weaknesses. There's no single web stack that is inherently better than others, you just have to take into account what you want to do and find a technology that will be well suited to carry out that task.

For instance, AngularJS is a very popular framework because it is great for data-binding, but it's actually not that good for DOM manipulation. So if you're trying to create an app that relies heavily on DOM manipulation (like a video game for instance), then AngularJS would actually be a very poor choice. My point is, get an understanding on what your app will require and then pick technologies that are tailored to that functionality.

Cameron Bourke
Cameron Bourke
10,198 Points

I think you are definitely right. Thanks for the answer man. Have you had any experience with AngularJS? And if so, what did you use for your backend?

@cameron I'm building a donation tracking webapp in AngularJS. The backend side of it already exists (I'm just redoing all the front-end in Angular). It's mostly Ruby on Rails and Postgres database, but I only do front-end stuff for this app, so I don't really ever touch that.

If you're looking into learning Angular, I highly recommend (this tutorial)[https://thinkster.io/angulartutorial/a-better-way-to-learn-angularjs/].

Cameron Bourke
Cameron Bourke
10,198 Points

Nick Ocampo That sounds cool! Aw really, so you can build a backend with ruby on rails when using Angular. That may be the way to go, just because of the amount of resources out there to learn ruby, and ruby on rails.

Cameron Bourke yeah angular is meant to be separated completely from any server-side code and only access data from the server from services.

Then again, NodeJS is all javascript, so if you're trying to save time and resources on learning something new and already know javascript well enough to work with Angular, NodeJS would probably not be that hard to learn. I'm learning some Node stuff right now and as long as you understand Javascript, it's pretty easy to learn.

Casey Ydenberg
Casey Ydenberg
15,622 Points

One major consideration is how often your server and client will be talking back and forth to each other. Node really shines at serving small amounts of data rapidly, but for rendering large amounts of HTML it becomes burdensome.

Cameron Bourke
Cameron Bourke
10,198 Points

It's hard to say at the moment how much data will be getting thrown back and forth, at the beginning it would very little. What do you reckon would be an alternative to Node, if we decided against it? Considering we will be using angularJS, if that makes any difference haha.