Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Go
Go

6K
4.3K
+ 1
2.5K
Next.js
Next.js

730
360
+ 1
59
Add tool

Go vs Next.js: What are the differences?

Go: An open source programming language that makes it easy to build simple, reliable, and efficient software. Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language; Next.js: *A small framework for server-rendered universal JavaScript apps *. Next.js is a minimalistic framework for server-rendered React applications.

Go belongs to "Languages" category of the tech stack, while Next.js can be primarily classified under "Frameworks (Full Stack)".

"High-performance" is the top reason why over 439 developers like Go, while over 9 developers mention "Automatic server rendering and code splitting" as the leading cause for choosing Next.js.

Go and Next.js are both open source tools. It seems that Go with 59.6K GitHub stars and 8.25K forks on GitHub has more adoption than Next.js with 38.2K GitHub stars and 4.6K GitHub forks.

Slack, Lyft, and Shopify are some of the popular companies that use Go, whereas Next.js is used by Avocode, OverCode Solutions, and CybrHome. Go has a broader approval, being mentioned in 892 company stacks & 589 developers stacks; compared to Next.js, which is listed in 79 company stacks and 66 developer stacks.

What is Go?

Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language.

What is Next.js?

Next.js is a minimalistic framework for server-rendered React applications.
Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Why do developers choose Go?
Why do developers choose Next.js?

Sign up to add, upvote and see more prosMake informed product decisions

    Be the first to leave a con

    Sign up to add, upvote and see more consMake informed product decisions

    What companies use Go?
    What companies use Next.js?

    Sign up to get full access to all the companiesMake informed product decisions

    What tools integrate with Go?
    What tools integrate with Next.js?

    Sign up to get full access to all the tool integrationsMake informed product decisions

    What are some alternatives to Go and Next.js?
    Python
    Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.
    Rust
    Rust is a systems programming language that combines strong compile-time correctness guarantees with fast performance. It improves upon the ideas of other systems languages like C++ by providing guaranteed memory safety (no crashes, no data races) and complete control over the lifecycle of memory.
    Java
    Java is a programming language and computing platform first released by Sun Microsystems in 1995. There are lots of applications and websites that will not work unless you have Java installed, and more are created every day. Java is fast, secure, and reliable. From laptops to datacenters, game consoles to scientific supercomputers, cell phones to the Internet, Java is everywhere!
    Node.js
    Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
    PHP
    Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.
    See all alternatives
    Decisions about Go and Next.js
    Antonio Sanchez
    Antonio Sanchez
    CEO at Kokoen GmbH · | 11 upvotes · 88.1K views
    atKokoen GmbHKokoen GmbH
    ExpressJS
    ExpressJS
    Node.js
    Node.js
    JavaScript
    JavaScript
    MongoDB
    MongoDB
    Go
    Go
    MySQL
    MySQL
    Laravel
    Laravel
    PHP
    PHP

    Back at the start of 2017, we decided to create a web-based tool for the SEO OnPage analysis of our clients' websites. We had over 2.000 websites to analyze, so we had to perform thousands of requests to get every single page from those websites, process the information and save the big amounts of data somewhere.

    Very soon we realized that the initial chosen script language and database, PHP, Laravel and MySQL, was not going to be able to cope efficiently with such a task.

    By that time, we were doing some experiments for other projects with a language we had recently get to know, Go , so we decided to get a try and code the crawler using it. It was fantastic, we could process much more data with way less CPU power and in less time. By using the concurrency abilites that the language has to offers, we could also do more Http requests in less time.

    Unfortunately, I have no comparison numbers to show about the performance differences between Go and PHP since the difference was so clear from the beginning and that we didn't feel the need to do further comparison tests nor document it. We just switched fully to Go.

    There was still a problem: despite the big amount of Data we were generating, MySQL was performing very well, but as we were adding more and more features to the software and with those features more and more different type of data to save, it was a nightmare for the database architects to structure everything correctly on the database, so it was clear what we had to do next: switch to a NoSQL database. So we switched to MongoDB, and it was also fantastic: we were expending almost zero time in thinking how to structure the Database and the performance also seemed to be better, but again, I have no comparison numbers to show due to the lack of time.

    We also decided to switch the website from PHP and Laravel to JavaScript and Node.js and ExpressJS since working with the JSON Data that we were saving now in the Database would be easier.

    As of now, we don't only use the tool intern but we also opened it for everyone to use for free: https://tool-seo.com

    See more
    Nitzan Shapira
    Nitzan Shapira
    at Epsagon · | 11 upvotes · 108.6K views
    atEpsagonEpsagon
    AWS Lambda
    AWS Lambda
    GitHub
    GitHub
    Java
    Java
    Go
    Go
    Node.js
    Node.js
    npm
    npm
    Serverless
    Serverless
    Python
    Python

    At Epsagon, we use hundreds of AWS Lambda functions, most of them are written in Python, and the Serverless Framework to pack and deploy them. One of the issues we've encountered is the difficulty to package external libraries into the Lambda environment using the Serverless Framework. This limitation is probably by design since the external code your Lambda needs can be usually included with a package manager.

    In order to overcome this issue, we've developed a tool, which we also published as open-source (see link below), which automatically packs these libraries using a simple npm package and a YAML configuration file. Support for Node.js, Go, and Java will be available soon.

    The GitHub respoitory: https://github.com/epsagon/serverless-package-external

    See more
    Omar Mehilba
    Omar Mehilba
    Co-Founder and COO at Magalix · | 13 upvotes · 50.7K views
    atMagalixMagalix
    Python
    Python
    Go
    Go
    Amazon EC2
    Amazon EC2
    Google Kubernetes Engine
    Google Kubernetes Engine
    Microsoft Azure
    Microsoft Azure
    Kubernetes
    Kubernetes
    #Autopilot

    We are hardcore Kubernetes users and contributors. We loved the automation it provides. However, as our team grew and added more clusters and microservices, capacity and resources management becomes a massive pain to us. We started suffering from a lot of outages and unexpected behavior as we promote our code from dev to production environments. Luckily we were working on our AI-powered tools to understand different dependencies, predict usage, and calculate the right resources and configurations that should be applied to our infrastructure and microservices. We dogfooded our agent (http://github.com/magalixcorp/magalix-agent) and were able to stabilize as the #autopilot continuously recovered any miscalculations we made or because of unexpected changes in workloads. We are open sourcing our agent in a few days. Check it out and let us know what you think! We run workloads on Microsoft Azure Google Kubernetes Engine and Amazon EC2 and we're all about Go and Python!

    See more
    Conor Myhrvold
    Conor Myhrvold
    Tech Brand Mgr, Office of CTO at Uber · | 16 upvotes · 726.7K views
    atUber TechnologiesUber Technologies
    Apache Spark
    Apache Spark
    C#
    C#
    OpenShift
    OpenShift
    JavaScript
    JavaScript
    Kubernetes
    Kubernetes
    C++
    C++
    Go
    Go
    Node.js
    Node.js
    Java
    Java
    Python
    Python
    Jaeger
    Jaeger

    How Uber developed the open source, end-to-end distributed tracing Jaeger , now a CNCF project:

    Distributed tracing is quickly becoming a must-have component in the tools that organizations use to monitor their complex, microservice-based architectures. At Uber, our open source distributed tracing system Jaeger saw large-scale internal adoption throughout 2016, integrated into hundreds of microservices and now recording thousands of traces every second.

    Here is the story of how we got here, from investigating off-the-shelf solutions like Zipkin, to why we switched from pull to push architecture, and how distributed tracing will continue to evolve:

    https://eng.uber.com/distributed-tracing/

    (GitHub Pages : https://www.jaegertracing.io/, GitHub: https://github.com/jaegertracing/jaeger)

    Bindings/Operator: Python Java Node.js Go C++ Kubernetes JavaScript OpenShift C# Apache Spark

    See more
    Go
    Go
    Lua
    Lua
    OpenResty
    OpenResty
    nginx
    nginx
    Logstash
    Logstash
    Prometheus
    Prometheus

    At Kong while building an internal tool, we struggled to route metrics to Prometheus and logs to Logstash without incurring too much latency in our metrics collection.

    We replaced nginx with OpenResty on the edge of our tool which allowed us to use the lua-nginx-module to run Lua code that captures metrics and records telemetry data during every request’s log phase. Our code then pushes the metrics to a local aggregator process (written in Go) which in turn exposes them in Prometheus Exposition Format for consumption by Prometheus. This solution reduced the number of components we needed to maintain and is fast thanks to NGINX and LuaJIT.

    See more
    StackShare Editors
    StackShare Editors
    Kubernetes
    Kubernetes
    Go
    Go
    Python
    Python

    Following its migration from vanilla instances with autoscaling groups to Kubernetes, Postmates began facing challenges while “migrating workloads that needed to scale up very quickly.”

    The built-in Horizontal Pod Autoscaler (HPA) automatically scales the number of pods in a replication controller, deployment or replica set based on observed CPU utilization. But the challenges for Postmates is that there’s no way to configure the scale velocity of one particular cluster with an HPA.

    For Postmates, which runs at least three different types of applications with distinct performance and scaling characteristics, this proved problematic.

    To overcome these challenges, the team created and open sourced the Configurable Horizontal Pod Autoscaler, which allows for fine-grained tuning on a per-HPA object basis. The result is that “you can configure critical services to scale down very slowly, while every other service could be configured to scale down instantly to reduce costs.”

    See more
    Divine Bawa
    Divine Bawa
    at PayHub Ghana Limited · | 13 upvotes · 102.3K views
    Apollo
    Apollo
    Next.js
    Next.js
    styled-components
    styled-components
    React
    React
    graphql-yoga
    graphql-yoga
    Prisma
    Prisma
    MySQL
    MySQL
    GraphQL
    GraphQL
    Node.js
    Node.js

    I just finished a web app meant for a business that offers training programs for certain professional courses. I chose this stack to test out my skills in graphql and react. I used Node.js , GraphQL , MySQL for the #Backend utilizing Prisma as a database interface for MySQL to provide CRUD APIs and graphql-yoga as a server. For the #frontend I chose React, styled-components for styling, Next.js for routing and SSR and Apollo for data management. I really liked the outcome and I will definitely use this stack in future projects.

    See more
    David Ritsema
    David Ritsema
    Frontend Architect at Herman Miller · | 7 upvotes · 20K views
    atHerman MillerHerman Miller
    prismic.io
    prismic.io
    Next.js
    Next.js
    React
    React
    Node.js
    Node.js

    When we started thinking about technology options for our own Design System, we wanted to focus on two primary goals

    1. Build a design system site using design system components - a living prototype
    2. Explore new ways of working to position our technical capabilities for the future

    We have a small team of developers responsible for the initial build so we knew that we couldn’t spend too much time maintaining infrastructure on the Backend. We also wanted freedom to make decisions on the Frontend with the ability to adapt over time.

    For this first iteration we decided to use Node.js, React, and Next.js. Content will be managed via headless CMS in prismic.io.

    1. Next.js so that we can run React serverside without worrying about server code.
    2. prismic.io so that our content is accessible via API and our frontend is fully independent.
    See more
    Git
    Git
    Docker
    Docker
    NATS
    NATS
    JavaScript
    JavaScript
    TypeScript
    TypeScript
    PostgreSQL
    PostgreSQL
    Python
    Python
    Go
    Go

    Go is a high performance language with simple syntax / semantics. Although it is not as expressive as some other languages, it's still a great language for backend development.

    Python is expressive and battery-included, and pre-installed in most linux distros, making it a great language for scripting.

    PostgreSQL: Rock-solid RDBMS with NoSQL support.

    TypeScript saves you from all nonsense semantics of JavaScript , LOL.

    NATS: fast message queue and easy to deploy / maintain.

    Docker makes deployment painless.

    Git essential tool for collaboration and source management.

    See more
    Vishwa Bhat
    Vishwa Bhat
    Fullstack Developer at Sequoia · | 10 upvotes · 4.4K views
    atSequoia Consulting GroupSequoia Consulting Group
    Java
    Java
    Go
    Go
    Node.js
    Node.js

    Our new backend micro services are primarily written in Node.js and Go and legacy systems are written in Java. For our new stack decision, we aimed to achieve greater developer productivity, low IO latency and good community so we had couple of technologies in hand to choose but finally we concluded to go for Node.js for API layer and Go for CPU/IO intensive tasks. Currently the inter-services communication is happening via REST but soon to be moved to RPC-based communication.

    See more
    Robert Zuber
    Robert Zuber
    CTO at CircleCI · | 4 upvotes · 8.7K views
    atCircleCICircleCI
    Slack
    Slack
    Go
    Go
    Hubot
    Hubot
    CoffeeScript
    CoffeeScript

    We have added very little to the CoffeeScript Hubot application – just enough to allow it to talk to our Hubot workers. The Hubot workers implement our operational management functionality and expose it to Hubot so we can get chat integration for free. We’ve also tailored the authentication and authorization code of Hubot to meet the needs of roles within our team.

    For larger tasks, we’ve got an internal #CLI written in Go that talks to the same #API as Hubot, giving access to the same functionality we have in Slack, with the addition of scripting, piping, and all of our favorite #Unix tools. When the Hubot worker recognizes the CLI is in use, it logs the commands to Slack to maintain visibility of operational changes.

    See more
    Martin Johannesson
    Martin Johannesson
    Senior Software Developer at IT Minds · | 10 upvotes · 15.5K views
    atIT MindsIT Minds
    AMP
    AMP
    PWA
    PWA
    React
    React
    MongoDB
    MongoDB
    Next.js
    Next.js
    GraphQL
    GraphQL
    Apollo
    Apollo
    PostgreSQL
    PostgreSQL
    TypeORM
    TypeORM
    Node.js
    Node.js
    TypeScript
    TypeScript
    #B2B
    #Backend
    #Serverless

    At IT Minds we create customized internal or #B2B web and mobile apps. I have a go to stack that I pitch to our customers consisting of 3 core areas. 1) A data core #backend . 2) A micro #serverless #backend. 3) A user client #frontend.

    For the Data Core I create a backend using TypeScript Node.js and with TypeORM connecting to a PostgreSQL Exposing an action based api with Apollo GraphQL

    For the micro serverless backend, which purpose is verification for authentication, autorization, logins and the likes. It is created with Next.js api pages. Using MongoDB to store essential information, caching etc.

    Finally the frontend is built with React using Next.js , TypeScript and @Apollo. We create the frontend as a PWA and have a AMP landing page by default.

    See more
    Michael Mota
    Michael Mota
    CEO & Founder at AlterEstate · | 4 upvotes · 950 views
    Next.js
    Next.js
    Graphene
    Graphene
    GraphQL
    GraphQL
    Django
    Django

    I've been using Django for quite a long time and in my opinion I would never switch from it. My company is currently using Django with REST framework and a part in GraphQL using Graphene. On the frontend we use Next.js and so far everything has been running quite good. I've found limitations but manage to solve it.

    As someone mentioned before, if you are comfortable with Django, don't switch. There's no need since with django you can basically achieve anything. Of course this will depend on the project you want to build, but the scalability and flexibility django can offer it's just out of this world. (Don't want to sound like a fan boy haha but it really is).

    See more
    John Datserakis
    John Datserakis
    Node.js
    Node.js
    PHP
    PHP
    Go
    Go

    For the backend of https://www.rsvpkeeper.com I went with Go.

    My past few project have been built with Go and I'm really loving it. It was my first statically typed language after many years with PHP and Node.js - and honestly I couldn't be happier to have made the switch.

    The biggest thing for me, is that with the forced declaration of types - it's made me feel like I've made a more solid backend. Sometimes with PHP I felt like a stiff breeze could knock the whole thing down. I know that's an exaggeration - but it's kinda how it feels.

    Anyways, everyone knows that it almost doesn't even matter what an app is actually made with - what really matters are the design decisions you make a long the way.

    See more
    Dan Larsen
    Dan Larsen
    CTO at FlowStack · | 7 upvotes · 28.7K views
    atFlowStack ApSFlowStack ApS
    C++
    C++
    C
    C
    Rust
    Rust
    Go
    Go

    At FlowStack we write most of our backend in Go. Go is a well thought out language, with all the right compromises for speedy development of speedy and robust software. It's tooling is part of what makes Go such a great language. Testing and benchmarking is built into the language, in a way that makes it easy to ensure correctness and high performance. In most cases you can get more performance out of Rust and C or C++, but getting everything right is more cumbersome.

    See more
    Interest over time
    Reviews of Go and Next.js
    Avatar of tschellenbach
    CEO at Stream
    Review ofGoGo

    Go has been a joy to work with. Performance is often 30x of what we used to see with Python. It's a performant and productive programming language: https://getstream.io/blog/switched-python-go/

    How developers use Go and Next.js
    Avatar of Karma
    Karma uses GoGo

    The first time I actually started using Go was for software on our devices. So on our hotspots we have some custom software running in the firmware. For the first device, that was actually completely built by our manufacturer. But for the second generation most of the parts are built by us in-house and we needed a way to quickly develop software for the device. But we don't have any C programmers in-house, so we were actually looking for something that basically sits in between the friendliness of Ruby, but the performance and the ability to be deployed on an embedded system which you get with C. That's basically what led us to Go and it's been awesome for that. It works so well and so great. Since it works so great, it pushed us into looking into whether we should start using this for some backend services as well.

    Avatar of Flutter Health Inc.
    Flutter Health Inc. uses GoGo

    The following basic API endpoints are implemented on the server written in Go:

    • Authorization (Sign Up, Sign In)
    • Update user profile
    • Community: add post, like post, add comment, delete post, add reply to comment
    • Self-diagnosis: send data from the app to the server
    • Journal: send user data from the app to the server
    • Add groups of community
    • Report post, report comment, report reply
    • Block user
    Avatar of Zinc
    Zinc uses GoGo

    We wrote our own image processing, resizing, and snapshotting service in Go to allow our clients to send photos and GIFs to each other. Files are stored in S3, resized on the fly using OpenCV, and then cached in GroupCache before being served to clients.

    Go allows it all to be quite fast and efficient, and entirely non-blocking on uploads!

    Avatar of Diggernaut LLC
    Diggernaut LLC uses GoGo

    Our main web scraping engine is built usign Golang because of the way how efficiently and fast this language is. Also out compilation facility let people who dont know Golang build fast as flash scrapers to run ourside of our platform without any knowledge in programming in Golang.

    Avatar of Refractal
    Refractal uses GoGo

    For some of our more taxing parts of our applications, something able to handle high I/O load quickly and with fast processing is needed. Go has completely filled that gap, allowing us to break down walls that would've been completely impossible with other languages.

    How much does Go cost?
    How much does Next.js cost?
    Pricing unavailable
    Pricing unavailable
    News about Next.js
    More news