paint-brush
Why Front End Developers Going Full Stack Should Choose Goby@jeremymorgan
1,046 reads
1,046 reads

Why Front End Developers Going Full Stack Should Choose Go

by jeremymorganAugust 17th, 2020
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

Front-end developers should choose Go as their jumping in point when going to full stack. Go is a language that offers the great performance of a language like C++ with the simplicity of Python. Go works identically on all of these platforms: Mac, Windows, Linux, Mac, Mac OSX, Linux. It’s easy to get a lot done with a small amount of code in Go. The Go language doesn’t force good code but certainly encourages it. Built-in tools like fmt help clean up your formatting, and testing is built right in.

People Mentioned

Mention Thumbnail

Company Mentioned

Mention Thumbnail

Coin Mentioned

Mention Thumbnail
featured image - Why Front End Developers Going Full Stack Should Choose Go
jeremymorgan HackerNoon profile picture

So you’re a front end developer, and you want to learn some backend stuff. You want to become a full stack developer someday, so where do you start? Google’s Go language is an excellent place.

For instance, let’s say you want to build a RESTful API to test the calls from your React Application. You could use JSONPlaceholderReqres, or even SoapUI. All excellent options.

Or you could spend an evening take  A Tour of Go and follow a tutorial like this one to build a local API that does exactly what you want, and mocks whatever you want. Right on your local machine!

Here are some reasons front end developers should choose Go as their jumping in point when going to full stack.

1. Go Is Cross-Platform

Where do you develop applications? Likely Mac, Windows, or Linux. Go works identically on all of these platforms. You can build Go applications in whatever environment you’d like, and push them to whatever environment you choose.

I like to “Jump around” operating systems when I’m working, and I’ve found the experience to be similar across all the platforms.

2. The Learning Curve

Go is a programmer-friendly language. If you’re familiar with JavaScript, it isn’t a far leap to learn Go.

sum := 0

for i := 1; i < 5; i++ {
sum += i
}
fmt.Println(sum)

It’s very similar to C, and although it’s a compiled language, it’s not as finicky as C or C++. As you get more advanced, you’ll see many differences from JavaScript. But when you’re starting, much of it will be very intuitive.

3. Web Applications Are First Class with Go

If you’re a front-end developer, obviously web applications will be a big concern for you. The Go ecosystem stacks up very well in this respect.

You can build REST or GraphQL APIs in Go several ways. You could do it with the Go Standard Librarynet/http, or use one of the many mature, excellent frameworks for Go:

Gin Gonic

Sinatra

Gorilla

Beego

If you want to build robust, stable web applications in Go, you have some great options.

4. Clean Code

The Go language doesn’t force good code but certainly encourages it. The compiler is opinionated and requires some conventions that ensures your code looks consistent. Built-in tools like fmt help clean up your formatting, and testing is built right in.

5. Get a Lot Done Quickly

Go is a language that offers the great performance of a language like C++ with the simplicity of a language like Python. It’s easy to get a lot done with a small amount of code in Go. You won’t find yourself doing a ton of low-level stuff that takes thousands of lines of code to complete. While some view this simplicity as hampering, it’s great when you’re starting out.

6. Abundant Learning Resources

There are so many places you can learn Go, it’s difficult to choose where to start. Here’s your answer: A Tour of Go. This is the first stop for learning.

Once you start looking for resources to learn more, there are a ton of great places to go.

Go.dev - A one stop center for Go Resources

Go Core Language - Courses from beginner to expert

Introducing Go - An amazing Go book for beginners

The Go Programming Language - A deeper dive for learning the Go language

The Go Bootcamp

Also, here are 10 places to Learn GoLang.

7. Performance

Ok, so most of the “why you should use Go” articles start with performance. This is because Go is screaming fast. I didn’t mention it first because if you’re a front end dev just getting your toes in the water, it doesn’t matter how fast your todo backend app is while you’re learning.

However, as you gain proficiency and start building real applications, Go scales up nicely. Whether it’s a small microservice or an extensive enterprise application, Go offers superior performance. Go features:

  • Concurrency
  • No virtual runtime
  • Efficient value storage
  • Compiler optimizations
  • Non-blocking I/O

If you’re going to take the leap to the backend, why not hitch your wagon to something fast and powerful?

Summary

If you’re a front-end developer and curious about “making the jump” to full stack, you should give Go a look. It’s easy to create basic applications to get started and easy to build out something “real” fast.

If you decide to jump into Go, let me know what you think!. I’ll help you out in any way I can. Till then, Go build some cool stuff!!