To build a full-stack web product (optimized for productivity and ease of implementation on my end), which tech should I learn?
Things I've looked into but have not committed to: Iris framework built on Go, React for front-end.
Thanks in advance!
1–10 of 51 posts
To build a full-stack web product (optimized for productivity and ease of implementation on my end), which tech should I learn?
Things I've looked into but have not committed to: Iris framework built on Go, React for front-end.
Thanks in advance!
- Node.js is great if you like JS. It couples really well with MongoDB (see MEAN stack).
- Play Framework is quite nice if you want to stick to Java.
Client-side :
- React is...well you tried it.
- Vue.js is great.
I can recommend Yii (PHP MVC framework) which can help you get going quickly. It comes with a code generator and also takes care of things like JavaScript form validation and other front-end related things.
Personally, I like to only use JavaScript frameworks/libraries if they are really required. If you need to do a lot of stuff dynamically on the front-end, you can also look into libraries like Backbone, which give you a nice tool belt but keep things more flexible.
Have fun! :)
- Backend: Django + Django Rest Framework + Postgres
- Frontend: React + Redux + React Router + webpack + million other small modules [1]. You may also look into Relay (esp. upcoming v2: https://github.com/facebook/relay/issues/1369) and GraphQL, because it may simplify a lot of backend frontend communication.
[0] as in: I am productive using these tools. Partially, because I already know the tooling and best practices.
[1] yes, there's a lot to learn about the tooling, but when you're just starting, you can use some boilerplate or Create React App tool.
Go is also a good choice, but there are better frameworks than Iris. Depending on your needs, there's https://github.com/NYTimes/gizmo and Gin (https://gin-gonic.github.io/gin/).
Full disclaimer: I actually use golang for my personal projects because I'm attracted by its simplicity and how it really doesn't hide stuff from me using hand-wavy magic. Performance is also a factor, but not one I consider when comparing it to node.
If I'm working on something I want to roll out fairly quickly. A prototype. Then I'll probably use node and leverage npm quite a bit. Typically I'll install Express, Sequelize, and Passport. If a front-end framework is necessary then I'll use Ember.
I've used Django a long time ago, and it was nice, but I'm not sure how much its changed since then. I also worked with Ruby on Rails in the past. I think you can be really productive with it if you put in the time to learn it, but I haven't found any great internet resources to really learn it, plus it's a little too hand-wavy for me.