Go

Application and Data / Languages & Frameworks / Languages
Sr. Doodad Imagineer at Russtopia Labs·
Shared insights

Got frustrated with the complexities of heavyweight build automation/continuous integration tools like Jenkins, Concourse or Buildbot so I built my own in Go . https://gogs.blitter.com/Russtopia/bacillus. Well under 1K SLOC, no JVM or containers required. Config nearly 100% in the launch script itself.

Go is a lean, powerful language that takes a lot of cognitive load off of the developer with rich data manipulation functions and easy to use HTTP/net libs and concurrency. Combined with gopherjs this old-timey embedded programmer finally found a sensible language for both front- and back-end web development.

READ MORE
4 upvotes·23.5K views
CTO at Uilicious·
Migrated
from
Node.js
npm
to
Go
at

Our CLI was originally written Node.js with npm , 2 years ago. We have now migrated to Go !

It was something we quickly hacked together at the early beginnings of Uilicious when our focus was to move fast and iterate the product quickly. We wanted to roll out the CLI ASAP, so that users with a CI/CD can hook up their tests to their front-end deployment pipeline.

However after 2 years, with NPM dependency hell pains - We decided to migrate our CLI toolchain to Go for

  • Zero deployment dependencies
  • Single file distribution (and backwards compatible with NPM)

Happy with how it is : article covers the decision in much deeper details

https://dev.to/uilicious/why-we-migrated-our-cli-from-nodejs-to-golang-1ol8

READ MORE
Why we migrated our CLI from NodeJS to GoLang 💻 - DEV Community 👩‍💻👨‍💻 (dev.to)
16 upvotes·47.4K views
Sr. Doodad Imagineer at Russtopia Labs·
Shared insights

I installed Gogs after a few repos I planned to use on GitHub disappeared without explanation, and after Microsoft's acquisition of same, it made me think about the over-centralization of community-developed software. A self-hosted solution that enables easy point-and-click mirroring of important repositories for my projects, both in-house and 3rd-party, ensures I won't be bitten by upstream catastrophes. (So far, Microsoft's stewardship has been fine, but always be prepared). It's also a very nice way to host one's own private repos before they're ready for prime-time on github.

Gogs is written in Go and is easy to install and configure, IMHO much more so than GitLab, though it's of course less feature-rich; the only major feature I wish Gogs had is an integrated code review tool, but the web plugin hypothes.is https://stackshare.io/hypothes-is/hypothes-is is quite suitable as a code review tool. Set up a group for each code review, and just highlight lines to add comments in pull request pages of Gogs.

READ MORE
DangerRuss Things: Export Go Packages via 'go get' From Your Own Server (dangerruss-things.blogspot.com)
5 upvotes·110.4K views
Software Engineer at DoorDash·
Shared insights
at

When I was building ATGATT as a solo founder, I was primarily concerned about the cost required to deploy the app to production, along with speed of development. Given this requirement, I landed on Go because of its minimal memory usage, allowing me to run the entire site on the cheapest possible EC2 VM (free tier!). Even with 1000 concurrent users active at the same time, I never see more than 20% memory usage or 10% CPU usage in production. Go is also an extremely simple language to work with in terms of features and syntax, while still maintaining type safety, an important characteristic when the codebase grows in size.

READ MORE
3 upvotes·12.7K views
Node.js Software Engineer ·

In our company we have think a lot about languages that we're willing to use, there we have considering Java, Python and C++ . All of there languages are old and well developed at fact but that's not ideology of araclx. We've choose a edge technologies such as Node.js , Rust , Kotlin and Go as our programming languages which is some kind of fun. Node.js is one of biggest trends of 2019, same for Go. We want to grow in our company with growth of languages we have choose, and probably when we would choose Java that would be almost impossible because larger languages move on today's market slower, and cannot have big changes.

READ MORE
17 upvotes·1 comment·195.2K views
max budnick
max budnick
·
July 9th 2020 at 3:29AM

thank you for sharing.

·
Reply
Needs advice
on
React Native
Python
and
Go

I've been juggling with an app idea and am clueless about how to build it.

A little about the app:

  • Social network type app ,
  • Users can create different directories, in those directories post images and/or text that'll be shared on a public dashboard .

Directory creation is the main point of this app. Besides there'll be rooms(groups),chatting system, search operations similar to instagram,push notifications

I have two options:

  1. React Native, Python, AWS stack or
  2. Flutter, Go ( I don't know what stack or tools to use)
READ MORE
10 upvotes·301.8K views
Replies (6)
Recommends
Python

Currently, I have decided to use Python and JavaScript (especially React and Node.js) for any of my projects. Well, I have used Python with Django for a lot of things, and I would certainly recommend Django to anyone, due to its high secure authentication and authorization inbuilt system, a ready to use admin platform, template tags, and many more. Well, I guess that you would like to use Python to create the backend of your application, an API, and React Native for the frontend. Python and JavaScript (React) are on the trend these days and have a huge community, so there are many resources, tutorials, great documentation. I have not really heard anyone using Flutter and Go for applications these days, so I would not recommend it to you, it would make your life much more difficult.

Hope that helps, and good luck with your project!

READ MORE
8 upvotes·1 comment·58.8K views
monkhaus
monkhaus
·
April 12th 2020 at 11:14AM

I haven't used it personally but http://skulpt.org/ let's you do Python on client-side. Might be good if you're using Django back-end.

·
Reply
Principal & Founder at Airwave Tech·
Recommends
Flutter

I'm typically agnostic when it comes to picking languages. Whatever gets the job done, but, in this case, to figure out what's involved with what you want to do, it's going to be much more than just picking programming languages for your client and backend interfaces.

So, I'm recommending you use Flutter+Firebase as a way to figure out what you need to get done. It supports both iOS and Android out of the box, introduces you to a bunch of components you will need to think about in the future (whether you stick with Firebase or not), and the key here, is that there are tons of articles, youtube videos, and other courses you can take to pick it up pretty quickly. You could even clone an Instagram knockoff from github. Guess what else, it's all free. You might not need to worry as much about the backend since there are client libraries for Flutter/Dart for Firebase.

Some might have different opinions, and like I said, I'm usually agnostic, but in this case, you have a lot to consider. Where are you going to store the data? Are people going to need to login? Will there but customized settings the will save even if I close the app? Yeah, that's just a few questions.

Those are just a few. Lots to consider, so if you want to get something in your hand as soon as possible, try a search for flutter + firebase + chat + Instagram or something like that and have a look.

READ MORE
6 upvotes·58.7K views
View all (6)
Needs advice
on
PostgreSQL
Node.js
and
Go

Hi everyone! I just joined this site today and I need a little help...

So I'm a little bit new to webapp developing and I'm trying to think of the tech stack needed for my class project. The project idea is basically a forum system and I believe the main components are the following: (1) The front end (2) The backend (3-ish) The database

For the front end I'm thinking React, not too much difficulty here. The main issues for me are thinking about the backend and the database. I really like the idea of using Go to create the backend server, but then again I have little to no experience in Golang. Is it a good idea to give it a try for an eight week long project or default to Node.js?

Regarding the database, I'm thinking of using PostgreSQL, but I'm not sure how to setup these sorts of sql servers. I also don't know how I would host golang servers.

Please send any suggestions or tips to me, thanks!

READ MORE
5 upvotes·14K views
Replies (6)
CTO at Nugen Computer & I.T. Services·
Recommends
Node.js

Hi Jjx003, I will recommend you to go for Node.js with Mongodb. I have been working with the both from long time. Node.js is very good for implementing things which require fast I/O system. I have developed the whole inventory system in React Node.js MongoDB and it is working very fine even after the product database has been so heavy. Apart from this, it will be easy for you to go for one language while developing the frontend and backend i.e. Javascript.

READ MORE
8 upvotes·4 comments·2.9K views
Jjx003
Jjx003
·
April 9th 2020 at 6:38AM

Really appreciate your advice! I'm going to use Node.js for sure. I just have a few questions regarding MongoDB:

-Do you think this service would work well for a sort of forum-based web app? Where there's going to be a lot of text and organization?

-How high is the learning curve for MongoDB?

Thanks.

·
Reply
Varun Sharma
Varun Sharma
·
April 9th 2020 at 11:55AM

Sure mongodb will be best for forum-based web app as it is going to have so many threads and mongodb queries are dead simple to traverse all the threads. About the learning curve you have asked. You have to dig deep in the beginning. It won't take long to start the app. Just start with introduction of Javascript/Json in the beginning. Afterwards, let me know if you need any help. I try my level best to help you to the point.

·
Reply
Alistair Smith
Alistair Smith
·
April 9th 2020 at 1:00PM

I second this. You can use `mongoose` to make your MongoDB experience 10 times easier!

·
Reply
Varun Sharma
Varun Sharma
·
April 10th 2020 at 7:25AM

absolutely right

·
Reply
Principal & Founder at Airwave Tech·
Recommends
Node.js

For an 8 week project, pick what you know. If node.js is what you know, just do that. Do you know how to use docker? If you know how to use docker, you can get any SQL database running on your machine pretty quickly without having to know how to manage the database server itself. Think of it as a database as a service for your local setup.

In production, I wouldn't pick node.js as a backend language. I'm sure it can be performant, but I personally have not seen node scale well in the backend. Go is performant. They have widely adopted libraries, SQL drivers in your case. You can build slim docker containers, and also js doesn't have type safety.

READ MORE
4 upvotes·855 views
View all (6)
Needs advice
on
Symfony
Node.js
and
Go

I'm about to begin working on an API, for which I plan to add GraphQL connectivity for processing data. The data processed will mainly be audio files being downloaded/uploaded with some user messaging & authentication.

I don't mind the difficulty in any service since I've used C++ (for data structures & algorithms at least) and would also say I am patient and can learn fairly quickly. My main concerns would be their performance, libraries/community, and job marketability.

Why I'm stuck between these three...

Symfony: I've programmed in PHP for back-end in a previous internship and may do so again in a few months.

Node.js: It's newer than PHP, and it's JavaScript where my front-end stack will be React and (likely) React Native.

Go: It's newer than PHP, I've heard of its good performance, and it would be nice to learn a new (growing) language.

READ MORE
5 upvotes·73.4K views
Replies (1)
Founder & CEO at BaseDash·
Recommends
Node.js
at

Go with Node.js. There's something really satisfying about being able to use a single language across your entire tech stack. Especially once you integrate GraphQL, which is effectively JSON.

Your second best option is Go, but the ecosystem around Node.js is quite a bit stronger. This will play a big factor when you start building functionality like file management, messaging (especially in real-time), and authentication. The libraries and documentation are just stronger for Node.

READ MORE
6 upvotes·2 comments·25.4K views
Fabian Gonzalez
Fabian Gonzalez
·
May 6th 2020 at 7:41PM

Awesome! Thank you for this recommendation!

·
Reply
Max Musing
Max Musing
·
May 6th 2020 at 7:57PM

You're welcome, good luck!

·
Reply
Needs advice
on
Node.js
Go
and
Flask

Flask vs Go vs Node.js which is better for making SAAS application. Need Help!! please provide roadmap of learning for Developing SAAS Applications.

READ MORE
1 upvote·211 views
Needs advice
on
Go
and
ASP.NET Core

I am going to build a backend which will serve my React site. It will need to interact with a PostgreSQL database where it will store and read users and create and use JSON Web Token for authenticating HTTP requests. I know EF core has good migration tooling, can Go provide the same or better? I am a one man team and I'll be hosting this either on Heroku or DigitalOcean.

READ MORE
4 upvotes·107.8K views
Replies (2)
Recommends
C#

I'm a dotnet developer, and recently enjoyed building cli apps in golang, it's been a fun experience. The main reason for me using golang will be its resource consumption, Small cross-platform executables. What I did notice though, building more complex applications, those benefits starts to erode quickly. And the latest articles about dotnet core single executables and AOT compile modes does suggest a much smaller footprint for dotnet apps going forward.

Either way, I like both languages

READ MORE
6 upvotes·1.2K views
Director New Technology at i22 Digitalagentur GmbH·
Recommends
Next.js

From your question I gather that you don't have any specific requirements with regards to performance or technology: both PostgreSQL and JWT are well-supported in both ecosystems and so my recommendation would be to go with whatever you're most familiar with already which seems to be ASP.NET if I interpret the wording correctly.

Although there are very good frameworks and libraries for Go, you'll be looking forward to doing a lot of things manually. Although this can potentially lead to very optimized and high quality software, it can just as well slow you down because you're dealing with low-level stuff that doesn't actually add business value to your application.

The point in favour of Go would be that you can easily deploy it to Heroku, which (afaik) doesn't support ASP.NET.

As you're a one-man team, you might even want to reconsider the decision to have separate codebases and languages for back-end and front-end. You're going to need to be very focused on adding business value to your application without getting distracted by some low-level technical detail or context switch. With React being your chosen front-end technology, I'll throw Next.js in the ring. (It'll deploy on Heroku nicely, too).

In the end: choose the technology that will support your flow the most.

READ MORE
6 upvotes·1 comment·1.2K views
G\ C\
G\ C\
·
January 12th 2021 at 9:58PM

Thanks, next.js is my selection for the website / web panel! As you say, Go can be overkill for a one man team and I will be using nodejs with express js for most backend APIs. I also replaced Postges with MongoDB and I'm happy I did DX-wise.

·
Reply