Live data from Hacker News

Ask HN: Which web stack should I learn for personal projects?

news.ycombinator.com

31–40 of 51 posts

Re: Ask HN: Which web stack should I learn for personal projects?

#32

So, if you already know javascript then I would look at node.js. 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…

> if you already know javascript then I would look at node.js. I would recommend the polar opposite, actually: use a framework that has nothing in common with anything that you already know. After all, half (or more) of the point of personal projects is to learn new things, right?

Huh, that's actually a pretty valid point.

So one detail that I left off was that I actually also teach programming to complete novices in short time frames. It's kind of like a bootcamp but different in a lot of ways. We teach them node because it fits better with our tight schedule.

But if you're not too terribly rushed then sure, that does sound like a good idea.

Re: Ask HN: Which web stack should I learn for personal projects?

#33

So, if you already know javascript then I would look at node.js. 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…

How easy is it to build a full web app with Golang (I'm talking backend + views here)? I have used Go for some small projects where I only built a REST API using Go's default http library but never for something bigger.

Not bad at all honestly. Golang comes with a built-in templating engine that was easy enough to convince me not to look for a better one. Routing is simple, especially if you're using the Gorilla toolkit's mux package. Figuring out how to work with database calls were tricky when I first started out because I was used to Django abstracting that part away from me, but eventually I really got the hang of it.

I would argue that the tricky part is session's and middleware. When I first attempted to build a golang web app that required session cookies I got so discouraged that I just swore them off and went with JSON web tokens instead. It also took me a while to wrap my head around the concept of clean middleware.

I would say it was rewarding in the end though, because I learned about some low-level concepts typically abstracted away by the framework I was working with. It's fun to know about these things.

Re: Ask HN: Which web stack should I learn for personal projects?

#35
You can take a look at Elixir [1] (and Phoenix framework [2]).

Elixir's documentation is pretty neat and getting started with it is relatively easy.

Phoenix framework is entirely optional, Elixir comes with something called "Plug" which is all you would need to launch simple applications.

[1] http://elixir-lang.org/

[2] http://www.phoenixframework.org/

Re: Ask HN: Which web stack should I learn for personal projects?

#36

So, if you already know javascript then I would look at node.js. 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…

How easy is it to build a full web app with Golang (I'm talking backend + views here)? I have used Go for some small projects where I only built a REST API using Go's default http library but never for something bigger.

I've been writing our in house extranet with it, and the built in templating is very easy once you get the hang of it. The context addition makes it very easy to authenticate and pass that through to the endpoints.

The https stuff is done via Caddy server that automatically serves and updates the cert via LetsEncrypt - requests are then forwarded to the go app.

Re: Ask HN: Which web stack should I learn for personal projects?

#37
Since you're fairly experienced with Java I'd stick with that for the back-end. Since you're still learning JavaScript I would recommend doing most UI rendering on the server side, and using JavaScript to add interactivity (e.g. with JQuery). For that approach you could consider Sprint Boot and Play Framework on the server side.

The other alternative would be doing all UI rendering on the browser, via a single-page JavaScript application. A popular choice for that is the React framework. In this case you could use the Dropwizard framework on the server side (although Spring Boot and Play would also work).

Re: Ask HN: Which web stack should I learn for personal projects?

#38
www.learnphoenix.io is a great book on React, Phoenix and Elixir. The book covers many more modern programming concepts and are explained in a clear and coherent way. Not only is Elixir exciting as far as the future of functional programming goes, but the content that breaks down React and all of the pieces consisting of front-end architecture is detailed from the build system to CSS modules. Anyways, just a thought, but it's a nice jumpstart into a new full-stack that's going to gain a lot of traction in the coming years.

Re: Ask HN: Which web stack should I learn for personal projects?

#39
post #4

Check out Flask[0], which is a microframework for Python. Pretty easy to start with plus you will be learning Python down the road. [0] http://flask.pocoo.org/

I'm working on a Flask deployment starter that makes it easy to get a production environment up and running on the likes of Digital Ocean / AWS Lightsail / OVH (i.e. cheap VPS environments). I haven't written documentation for it yet, but the code is up https://github.com/johnwheeler/flask-live-starter It includes tasks to provision a full Debian box with Gunicorn and Postgres, deploy your app, provision a letsencryp…

looks good, thanks for posting

Re: Ask HN: Which web stack should I learn for personal projects?

#40

Since you're fairly experienced with Java I'd stick with that for the back-end. Since you're still learning JavaScript I would recommend doing most UI rendering on the server side, and using JavaScript to add interactivity (e.g. with JQuery). For that approach you could consider Sprint Boot and Play Framework on the server side. The other alternative would be doing all UI rendering on the browser, via a single-page J…

Thank you, I'm definitely going back/forth between sticking with what I'm familiar with and learning something new (because that feels more fun?) hah
Post reply on HN