UPDATED
Apr 3, 2024

Golang

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

Golang

22K
13.6K
+ 1
3.3K

Django vs Go: What are the differences?

Django and Go are two popular programming frameworks used for web development. Let's explore the key difference between them.

  1. Language: Django is a Python-based framework, whereas Go is a programming language created by Google. This difference in language impacts the syntax and style of coding for developers working with these frameworks. Python is known for its readability and ease of use, while Go is designed to be a simple and efficient language.

  2. Scalability: Django is well-suited for building large-scale web applications, thanks to its extensive set of libraries and tools. It provides features like object-relational mapping (ORM) and a robust admin interface, making it easier to manage complex database operations. On the other hand, Go is designed to be highly scalable and efficient in handling concurrent requests. It utilizes goroutines and channels, allowing developers to build high-performance applications that handle a large number of users.

  3. Concurrency: Concurrency is an important aspect of web applications that need to handle multiple tasks simultaneously. Django utilizes threading to handle concurrent requests, which can sometimes lead to performance issues. On the other hand, Go has built-in support for concurrency through goroutines and channels. This allows developers to write highly concurrent code without the need for complex synchronization mechanisms.

  4. Development Speed: Django provides a high level of abstraction and comes with a wide range of pre-built features, making development faster. It follows the DRY (Don't Repeat Yourself) principle, which reduces code duplication and increases productivity. Go, on the other hand, has a simpler syntax and fewer dependencies, allowing developers to build applications quickly.

  5. Community Support: Django has a large and active community of developers who contribute to its ecosystem. This results in a wide range of third-party libraries and integrations that can be easily used in Django applications. Go, while gaining popularity, has a smaller community compared to Django. This means that finding ready-made solutions or documentation for specific use cases may be more challenging.

  6. Deployment and Hosting: Django applications are typically hosted on traditional web servers such as Apache or Nginx, with the use of WSGI (Web Server Gateway Interface). Go, on the other hand, has a built-in HTTP server that allows applications to be deployed easily without the need for external servers. Go also offers the flexibility to compile applications as standalone binaries, which can be beneficial for deployment.

In summary, Django is a Python-based framework known for its scalability and extensive set of libraries, while Go is a programming language that offers high-performance and efficient concurrency. Django is a good choice for large-scale applications, while Go is well-suited for building high-performance concurrent applications with simplicity and speed.

Advice on and Golang
Needs advice
on
DjangoDjango
and
SpringSpring

I am a graduate student working as a software engineer in a company. For my personal development, I want to learn web development. I have some experience in Springboot while I was in university. So I want to continue with spring-boot, but I heard about Django. I'm reaching out to the experts here to help me choose a future proof framework. Django or Spring Boot?

Thanks in Advance

See more
Replies (5)
Recommends
on
SpringSpring

Kamrul Hasan, Don't choose dying technologies with small communities. How many startups do you think use Spring and Django? Use Google Trends to compare technologies. Study the StackOverflow developer survey and job websites to see what technologies are wanted. Few teams can afford to train you to get up to their level so be a life-long learner. Embrace the dawn of a new industry and become an expert.

See more
Sulaiman Sanusi
Recommends
on
SpringSpring

I recommend you stick to Java Spring as you already have experience with the technology, i suggest you master this technology and then if Django seam to be very interesting to you, django is a framework you can easily pickup as python is also easy, you have to probably be able to manage the context switching between a static typed language like Java to dynamic language like python

See more
Christoph Becker
Recommends
on
DjangoDjangoSpringSpring

It depends on what you want. Spring is Java-based whereas Django is Python-based. The question rather is Java vs Python. I personally recommend Python as it's shorter and easy to learn. But Java has advantages in really big systems.

See more
Gonzalo Fernández
Recommends

Hi Kamrul,

It really depends on the kind of project and whether you feel more comfortable with Java or Python. Both are excellent frameworks, with a huge community and learning material. I've been working with Spring Boot since I started coding almost and I can assure you it's the perfect combination for Java. The learning curve may be harder that Django, but once you know the basics you're good to go. I can't tell you much about Django but you must now by now that it has a great reputation with Python users. In any case I don't think you can go wrong with any of these two. My advice is, if you are already familiar with the Spring framework, give Spring Boot a try, because you're going to find out that it just makes the whole Spring experience so much easier. Let us know what you chose!

See more
Recommends
on
DjangoDjango

Both are in active development and had huge community support. It really depends on you what you are comfortable with. Both are married to their respective languages. I choose Python over Java because of its simplicity and readability. To develop in java you need to write a lot of code. That's how java is. The best part I love with Django is its synchronization with Databases.

See more
Needs advice
on
DjangoDjangoNestJSNestJS
and
Spring FrameworkSpring Framework

Hi there, I'm deciding the technology to use in my project.

I need to build software that has:

  • Login
  • Register
  • Main View (access to a user account, News, General Info, Business hours, software, and parts section).
  • Account Preferences.
  • Web Shop for Parts (Support, Download Sections, Ticket System).

The most critical functionality is a WebSocket that connects between a car that sends real-time data through serial communication, and a server performs diagnosis on the car and sends the results back to the user.

See more
Replies (4)
Recommends
on
NestJSNestJS

You can use NestJs with microservice architecture.where you can also use socket.io for web socket. you can use MongoDB (For real-time data) & MySQL for customer management.if you don't want to implement websocket.you can use firebase.it gives realtime database & firestore.which can handle millions of connections and scale it up.

See more
Mohammad-Ali A'râbi
Software Engineer at AppTec GmbH · | 5 upvotes · 213.7K views
Recommends
on
NestJSNestJS

I would also go with NestJS. I would say Java is unnecessarily complicated and limited. And Python is not typed. TypeScript is powerful and typed and goes well with NestJS, especially using RxJS.

Django does not enforce backend-frontend separation, which probably was a good thing back in the days, but not anymore. But on the other hand enforces the project structure to you, which I don't like.

See more
Amit Parameshwar
NodeJS Intern at CartRabbit · | 3 upvotes · 569.6K views
Recommends
on
Node.jsNode.js

Just a simple Node.JS app with templating engine for UI can be sufficient for what you want to achieve.

See more
Recommends
on
Spring FrameworkSpring Framework

Spring boot with Spring Security[JWT], Websocket, Thymeleaf or Mustache, and styling with Bootstrap.

See more
Muhammad Shaheer khan
Freelancer at Freelancer.com · | 9 upvotes · 605.2K views
Needs advice
on
DjangoDjangoMagentoMagento
and
Node.jsNode.js

Currently, I am a university student, and it is my second last semester with a major in Computer science. I want to start my career in full-stack web development. I know Python with Django + PHP with Laravel, and my focus is on learning MERN stack. I am a little bit confused as to which technology I should choose: Django or Magento or MERN stack.

#newbie

See more
Replies (2)
Recommends
on
ReactReact

I suggest you to go with MERN Stack (Mongo,express,react,Node). As you know python and django which is a plus point because you can use python and node as your backend and for front-end use react(easy to learn) and database of your choice.(Mongo or SQL)

See more
Moinul Moin
Recommends
on
Node.jsNode.js

GO For MERN Stack... brother

See more
Needs advice
on
ASP.NET CoreASP.NET Core
and
DjangoDjango

As a medium level .Net programmer trying to implementing a website, I decided to go through the Asp.Net Core. I found some tutorials on the web and started learning; however, I faced a problem. Even though I have been working with .Net and C# (mostly with unity game engine, which led to a quite amazing mobile game, published on a Persian app store) for two years or even more, by start learning Asp.Net Core, I found out that I do not know .Net as much as I expected. There were some things I should have learned before.

I searched for other frameworks, and Django was a popular one. Besides, I have planned to learn Python for machine learning. The website I want to make (with a small team) is nearly similar to Khan Academy. (We are going to use React for front-end)

So, What should I do? Continue working on .Net core with its amazing new features, or start getting into the Python and Django?

Your advice accompanied by reasons will be greatly appreciated!

See more
Replies (6)
Recommends
on
DjangoDjango

Having worked with many J2EE database applications in the past, I now turn to Django if I can and the project allows it as it is so quick to get up and running. It has a logical workflow and organized structure and it comes with a high level of security (if you import the appropriate backends). If you are wanting to incorporate python-based data processing (or cython), it is relatively easy to write a backend plugin. I have found it more stable with updates than other frameworks (particularly compared to the NPM world such as React which so often descends into dependency hell when a version of something is updated). One hassle worth mentioning is the database migrations support which can sometimes mess up during development but there are workarounds. With a React frontend, you would be using the Django REST Framework (https://www.django-rest-framework.org/) so you may find that you have to overwrite a lot of the methods here as the defaults are fairly basic CRUD operations which don't really support nested relationships very well. I don't have any experience with .Net so I can't give a comparison except of course, the obvious one, portability, as Python is platform-independent. PS, I would recommend Vue over React also for a well organized front-end.

See more
Recommends
on
DjangoDjango

I find myself in the opposite boat, I have made commercial websites with Django and now find myself learning ASP.NET. My recommendation comes with the following caveats... regardless of direction the learning will happen. Django is a very battery included framework, so the initial process will be painless, I found that documentation and support for more advanced use cases to be fairly easy to get support.

I personally found Django pretty nice to work with.

See more
Recommends
on
ASP.NET CoreASP.NET Core

You can get done what you want with just about any modern framework and language.

Django is fast and easy to learn but as your website grows you will need more and more community apps whose release cycles do not keep up with Django. Unless you are willing to work on the community apps, Django may not be for you.

Compare the active community sizes of Django apps to Ruby on Rails apps and you'll see very active communities with Ruby on Rails and small Django communities. Don't switch to Ruby on Rails though--it is a small, dying community of enthusiasts.

ASP.NET Core is a great backend framework, the community is large and you can always find answers; however, according to the StackOverflow developer survey, it is not desirable for the majority of programmers. I still use it though because my background evolved from C to C++ and then to C#. I also like the Microsoft world.

I've programmed a lot using Angular and some React but am switching to Vue.js which is much easier to learn and faster to code in. Be sure to use TypeScript with Vue.js. Just watch the video on the Vue home page to see how fast he can code using Vue.

But do you really want to code a website from scratch? If not, try WordPress Elementor. It may save you tons of time.

For mobile, use Google Flutter. In my 35 years of professional programming I've never seen anything more elegant, easy to learn, well documented and beautiful than Flutter. From one a single base you can target both Android and IOS and soon Web. You can also develop in Android Studio which means your screen real estate requirements are small so you don't need two monitors.

See more
Recommends
on
ASP.NET CoreASP.NET Core

Go with the ASP.NET Core. It is a very mature technology now and there are tons of documentation, tutorials and support you can find online. Also ASP.NET Core Web API plays quite well with the React. It is easy to implement the entire back-end in .NET Core (APIs, authentication, database access layer...) and if you need any third party package, I'm pretty sure you will find and implement in a form of a NuGet package. Who knows, maybe one day you'll need to create a mobile app and with a fully functional Web API, it would be more-less easy task to build a mobile app on top of it.

See more
Recommends
on
FirebaseFirebase

I recommend you use a framework such as Firebase instead of implementing your own backend server for the website.

I found that Firebase enables me to build websites more quickly since it takes care of the backend for me so most of my development time is building the front-end (using React in your case).

See more
Ilya Lebedev
Recommends
on
DjangoDjango

If you're going to learn Python anyway, Django project will boost your learning process. Since you're going to use React , you only neet to create REST API. Basic API can be created with Django rather easy.

See more
Needs advice
on
DjangoDjango
and
Node.jsNode.js

I have learned both Python and JavaScript. I also tried my hand at Django. But i found it difficult to work with Django, on frontend its Jinja format is very confusing and limited. I have not tried Node.js yet and unsure which tool to go ahead with. I want an internship as soon as possible so please answer keeping that in mind.

See more
Replies (7)
Recommends
on
DjangoDjango

If you are currently not working my first suggestion is to study both the frameworks and get a good grasp of those. If you didn't get confident with Django in the first place you should reconsider going back and study more. Get a video course with some code-along and produce some simple application you can showcase on your interviews. If you already took a course take a different one. Another trainer could be more effective and you could experience something new with different excercises. There are lots of both free and paid courses out there. When you will get confident with Django get your feet wet with Node.js because it surely worth it. Node is very different from Django from some perspective, it looks more like an asynchronous version of Flask to me. Be sure to have a good knowledge of ES6 first, because it will be really useful to understand the Node best practices. Study as much as you can now if you are not working. It will supercharge you for the future...

See more
Max Musing
Founder & CEO at BaseDash · | 10 upvotes · 877.6K views
Recommends
on
Node.jsNode.js
at

From my experience of the early startup world, a majority of companies these days use Node.js. Python and Go are the next biggest languages, but significantly smaller than Node.

However, if you're having trouble with the front end aspect of Django, using Node probably won't make that easier for you. You'll have a lot more options between front end frameworks (React, Vue.js, Angular 2) , but they'll definitely take more time to learn than Django's templating system.

Think about whether you want to focus on front end or back end for now, and make a decision from there.

See more
George Krachtopoulos
Recommends
on
Node.jsNode.js

I had the same question myself a few months ago. I finally chose Node.js, and it was one of the best options I did back then. From when I started programming, I always believed that Python was for me the best language, secure and stable. However, it is not flexible for web development, there are more packages & libraries that are built and work only with JavaScript / TypeScript, and the community, resources & support is much bigger. I was also fascinated by the Django ORM, which I still am, & the admin interface. But those are things, that can be replaces by other tools, such as TypeORM, and the admin interface was not needed at all finally for my case. I know understand that Python is not the language that I should use everywhere and every time, but I can say that it is really good for algorithms, computer science, maths, statistics, analytics & AI. To be honest, I chose TypeScript (TS) with Node.js & Express, because it has auto-completion and "strict" code checking. I hope this helps you, and let you take a look at various aspects of choosing a programming language to work with.

See more
Recommends
on
Node.jsNode.js

I would suggest to go with js, it's the craze now when you enter into the stack it has variety of options and tools that you can adopt , and more than that the demand for js engineers is exponentially increasing and js can do magic in any type of application or architecture.

See more
Yousuf Jawwad
Principal Software Architect at Breu Inc. · | 4 upvotes · 473.7K views
Recommends
on
JinjaJinja

Jinja is a template rendering engine and you will encounter some sort of template rendering engine in each language. Jinja is a pretty standard tool and almost every language has some sort of Jinja equivalent. Ruby has Liquid, Node has Nunjucks, Java has Jinjava, Go's default templating engine is easy to pick up if you know Jinja, Helm charts are easier to pick if know Jinja . So learning Jinja is a good thing.

See more
Recommends
on
DjangoDjango

If you already know some django stuff you should keep that learning path. And for the job if you really want an internship you should learn to make rest APIs using django or nodejs, and a front end that consumes those APIs using some framework

See more
Recommends
on
DjangoDjango

Actually, you could get very good solution with implementing BE and admin panel with Django and FE with React.js or Vue.js. it will provide you a pretty flexible and powerful environment.

See more
Needs advice
on
GolangGolangPythonPython
and
React NativeReact Native

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)
See more
Replies (6)
George Krachtopoulos
Recommends
on
PythonPython

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!

See more
Tony Chong
Principal & Founder at Airwave Tech · | 6 upvotes · 344K views
Recommends
on
FlutterFlutter

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.

See more
Recommends
on
React NativeReact Native

If this is for learning about how to design the system, then pick the tools are you are confortable with.

Often times, I get stuck picking the tools (and trying to learn about them) vs actually trying to design the system itself.

If you are familiar with React (check out Expo) and Django then I would recommend going with that.

For deploying your backend, I would go with a provider like https://zeit.co/ that automates a whole bunch of deployment steps with their cli tools that you might have to do with AWS.

See more
Emmanuel Kayode
Software Engineer at Teamapt Ltd · | 3 upvotes · 340.9K views
Recommends
on
GolangGolang

The above listed tools will do the job, you just need to figure out your architecture(e.g models). How they will all connect. Then you can use a tool you are comfortable with to implement them.

See more
Charles Nelson
Recommends
on
PythonPython

What you need to take a look at is Apache OpenMeetings. It already does what you want, it is open source and well documented and only requires that you design the UI and plumbing required to serve you application.

See more
Adam Ha
Recommends
on
React NativeReact Native

Let's select right tool you feel you are good at. And selecting tools are used by large community to solve your stuck if encounter

See more
Needs advice
on
ASP.NET CoreASP.NET Core
and
DjangoDjango

I have a mission to make a web application for my organization (engineering consultant). With the following bullet points that the new web app has to cover, what is the right tool?

  1. It should be able to display employee data and project data. For example, when searching the name of Mr. Peter Parker, I should be able to click on the name to see his personal profile and also a list of construction projects he is or was a part of. Also, if I click on a project name, say Project ABC building, it should show me the detail of this project (who is the client, who works on this project, where, start-finish dates, etc.)

  2. It should be able to sync with the database from Microsoft Access.

(optional) 3. The user of this web app should be able to propose a rotation of role (Ex. Boss might want Mr. Peter Paker to work in another project next month, he can just drag Peter into XYZ Building.)

See more
Replies (4)
Mohammad Hossein Amri
Chief Technology Officer at Planally · | 8 upvotes · 258.6K views
Recommends
on
ASP.NET CoreASP.NET Core

you can achieve what you want with both. but for me, the obvious choice is Aspnet core. the main reason is being the easiness of writing code in a multi-threading manner & ORM. the Django ORM is ugly as hell that I don't even want to look into its code. I did a couple of projects with Django and I wish I never did it. the amount of nuances was so much that after we delivered the projects I rejected any new Django project. I know people still using that and getting projects done but it's not a clever choice when there are easier choices out there.

moreover, after the latest upgrade, the Aspnet core 3 is the fastest and best of framework in 2020.

See more
George Krachtopoulos
Recommends
on
DjangoDjango

I always use Django on my projects. It is really easy and friendly fro the developer. It also comes with an inbuilt admin panel where you can manage all your models (tables), Django has a great authentication and authorization system, and it provides a great and powerful URL dispatcher, suitable for your needs. Furthermore, you can use a called django-pyodbc that is coded specifically for Microsoft SQL Server, and the SQL dialects for SQL Server ("T-SQL") and Access ("Access SQL"). However, I would not recommend using an Access DataBase with any web application's backend. Of course, it depends if you explicitly have Microsoft as your main tech stack.

Hope I helped you, and good luck with your project!

See more
Paresh Kadam
Software Developer at Tavisca · | 4 upvotes · 258K views
Recommends
on
ASP.NET CoreASP.NET Core

Would recommend Asp.net core with angular, It would integrate fine. I have experienced Django its good for fast, short span projects. But when it comes to speed, maintainability Asp .net is a winner. Though you can use angular/react in both frameworks. Your application consists of crud operations so you can have a choice based upon availability of resource, maintenance and time

See more
Recommends
on
ASP.NET CoreASP.NET Core

Short answer, ASP.NET because of #2. I think the Microsoft stack, now and in the future will be easier to sync with Microsoft Access. I haven't done extensive research but usually Microsoft office apps work well with the MSFT stack. BUT I personally prefer Django.

See more
Needs advice
on
DjangoDjango
and
Node.jsNode.js

Which is better to learn first as a beginner? Is it true that django is going out of the trend?

I was thinking to learn nodejs but after some thoughts I moved to django and learned most of the basics. Should I learn django more deeply or else drop the django learning and start learning nodejs from scratch?

Please help.

See more
Replies (2)
Christopher Wray
Web Developer at Soltech LLC · | 12 upvotes · 237K views
Recommends
on
LaravelLaravel

Hey, I have found Laravel to be a great first web framework for me. Mainly, I would look at what you want to build, and go with the framework that will help you get there. It is not about learning a certain framework, but about building apps that help people solve problems. So you should start with a small project that helps people, and find a framework that can help you build that.

I am sure that others will disagree, but this is my opinion.

See more
Recommends
on
GolangGolang

Don't by trendy, try to learn the basics and learn for future. For beginner Go is a great start, they're having a great documentation. Once you get Go, backend development wouldn't be a problem. I'll suggest you not to use and framework or library at the beginning. Do things from scratch, it may sounds inefficient, but hey! you'll learn more than others. Afterwards you'll be also able to do application development in Go.

See more
Needs advice
on
DjangoDjangoFlaskFlask
and
Node.jsNode.js

I am a front-end guy and in the last month I've been trynig to be learn backend in python. I think python is a great language to but when i start to learn django I didn't like it because everythong is already done for you, you dont need to do much make it works and I like coding thing that take me time. I've been thinking about switching to another programing language or just learn Node js and stick with it. I need to know if django is that easy.

See more
Replies (2)
Klaus Nji
Staff Software Engineer at SailPoint Technologies · | 7 upvotes · 107.6K views
Recommends
on
Node.jsNode.js

I would stick with Node. Both are great frameworks but it appears Node edges over Django on performance and other aspects such as the underlying architecture. Node is also an event driven platform which comes with the added benefit of easily crafting asynchronous code.

I do not see the benefit of learning a new language when your current skill set can get the job done.

See more
Recommends
on
Node.jsNode.js

Hi, So I would give JavaScript (and then Node.js) a chance. Using only 1 language to create BackEnd and FrontEnd is something really powerful. Also, I did not enjoy Django that much, as you mention, it kinda feel like too structured/rigit to me...

See more
George Krachtopoulos
Needs advice
on
DjangoDjangoNode.jsNode.js
and
ReactReact

I would like to build a medium to large scale app, that has real-time operations and a good authentication system and a secure and fast API. Should I use Django with React only? Or maybe use Django for the API, Node.js for real-time operations and React for the frontend? Any suggestions? Which database should I use with those technologies? Should I use both MySQL / PostgreSQL and MongoDB together? Should I use only MongoDB or MySQL / PostgreSQL? Or is it better to go with both MySQL and PostgreSQL at the same time? Should I use also GraphQL?

See more
Replies (2)
Max Saykov
Full-stack developer at Asteria · | 9 upvotes · 72.4K views
Recommends
on
DjangoDjango

Hey, George

TL;DR PostgreSQL + Django + React.js.

A few notes about Django: * Django includes own ORM which is able to work with SQL databases. In this case, you're able to use any SQL storage like a PostgreSQL / MySQL / etc., but you can't use MongoDB. * Django is synchronous web-framework. If you want to use asynchronous operations in the database, you have to choose another tool (aiohttp for Python or fastify.js for Node.js). * Django is stable. You don't need to worry about data consistency, etc. * Django-Rest-Framework is a great library for handling REST API requests. * django-channels is a library for handling WebSocket connections. * GraphQL is a great thing, but it requires additional knowledge for using it. (especially, performance knowledge).

A few notes about Node.js: * You have to choose Node.js web-framework. Node.js includes a lot of web-frameworks like a express.js, hapi.js, fastify.js, etc. * Node.js applications are asynchronous. It can give you additional performance. * You have to know about data consistency inside your own application. * You're able to use MongoDB or any SQL database because npm includes a lot of libraries that can work with databases. * You're able to use GraphQL because Node.js is a better choice for GraphQL. * You don't need to use additional libraries for handling REST and WebSocket connections.

So, my conclusion is using Django + PostgreSQL + React.js. For this stack, you can get more stability. If you need to get more performance, you have to think about some asynchronous languages (like a Node.js).

Take a look at Flask + SQLAlchemy + PostgreSQL + React.js. SQLAlchemy is a better ORM than Django-ORM.

I hope, it's useful for you :)

Best regards, Max

See more
Max Musing
Founder & CEO at BaseDash · | 5 upvotes · 91.5K views
Recommends
on
PostgreSQLPostgreSQL
at

Node.js is a great option for real-time applications, especially in conjunction with Socket.IO.

In terms of databases, I'd go with PostgreSQL. MongoDB has its benefits (schema-less, sharding, map-reduce), but for most CRUD-based apps, it makes sense to store the bulk of your data in a relational database (of which PostgreSQL is the best IMO). You can throw in MongoDB if you have a specific need for it. There's certainly no need to use both MySQL and PostgreSQL.

As for GraphQL, it can be nice to work with since you don't need to predefine specific data endpoints on your backend, instead shifting the power to your frontend in requesting the data it needs. It's also useful for public APIs, when you don't know what data users want (see Github's API). It can be useful at the early stage when you're prototyping and want to be able to fetch data quickly, but certainly isn't necessary.

At BaseDash we use Node.js, ExpressJS, Socket.IO, PostgreSQL, and Sequelize to fit our use case of database management and real-time operations.

See more
Decisions about and Golang
William Artero
Senior Platform Engineer at ABN AMRO · | 6 upvotes · 369.5K views

Telegram Messenger has frameworks for most known languages, which makes easier for anyone to integrate with them. I started with Golang and soon found that those frameworks are not up to date, not to mention my experience testing on Golang is also mixed due to how their testing tool works. The natural runner-up was JS, which I'm ditching in favor of TS to make a strongly typed code, proper tests and documentation for broader usage. TypeScript allows fast prototyping and can prevent problems during code phase, given that your IDE of choice has support for a language server, and build phase. Pairing it with lint tools also allows honing code before it even hits the repositories.

See more
awesomebanana2018

1. Type safety and inferred types

Go is type safe by default, which allows you to right more reliable code and have better developer tooling, plus with the := operator, you can initialize a variable without having to define its type because it automatically gets its type from the initial value.

2. Performance

There isn't much to be said here, but on most counts go beats both Python and Node.js on performance.

3. Documentation

I'm not talking about the Go language itself, although it does have good docs. I'm talking about Go's auto generated documentation tool, which allows people to document their packages easily and works amazingly with Go's type system.

4. Compiles to binary

If you are making a local program for somebody and they don't want to download the Go compiler, you can make Go into a native binary.

5. Built for the web

Go has built in Http libraries to rival Express.js and has a HTML/Text templating system.

6. Great Concurrency

Go utilizes Goroutines to help developers utilize multiple threads easily.

Conclusion

Go is an excellent choice for any system code, especially http networking and web backends.

See more
Chose
RailsRails
over
DjangoDjango

I have used both the tools . Both of them are super awesome , very reliable and their learning curve is also super easy. But, the reason I choose Ruby on Rails over Django is the fact that the dependency injection is super easy in Rails than Django. What I mean is the fact that, Django requires a lot of import statement to do a lot of work, which remembering is not so easy and even after that you may need to write a lot of code. But Ruby on Rails uses gem to add addition feature or dependency in the project. Which requires just copying the gem statement from github and pasting it in the Gemfile, then running bundle install(these days just bundle works super fine). And there you are with the new feature in your app. You can see this with the example of Authentication, where in Django you require several steps like adding class based views and many more, but in rails it's just as easy as installing the 'devise' gem . And if you want to make it beautiful use bootstrap_template gem to make it look prettier. Now with Rails 6 , Rails is a total developer's fervent friend because it has come up with features like Action Mail and Action Text.

See more
washie mugo
Chose
DjangoDjango
over
LaravelLaravel

i find python quite resourceful. given the bulk of libraries that python has and the trends of the tech i find django which runs on python to be the framework of choice to the upcoming web services and application. Laravel on the other hand which is powered by PHP is also quite resourceful and great for startups and common web applications.

See more

Since I came from python I had two choices: #django or #flask. It felt like it was a better idea to go for #django considering I was building a blogging platform, this is kind of what #django was made for. On the other hand, #rails seems to be a fantastic framework to get things done. Although I do not regret any of my time spent on developing with #django I want to give #rails a try some day in the future for the sake of curiosity.

See more
Ing. Alvaro Rodríguez Scelza
Software Systems Engineer at Ripio · | 9 upvotes · 478K views

Decided to change all my stack to microsoft technologies for they behave just great together. It is very easy to set up and deploy projects using visual studio and azure. Visual studio is also an amazing IDE, if not the best, when used for C#, it allows you to work in every aspect of your software.

Visual studio templates for ASP.NET MVC are the best I've found compared to django, rails, laravel, and others.

See more
Erik Ralston
Chief Architect at LiveTiles · | 14 upvotes · 550.8K views

C# and .Net were obvious choices for us at LiveTiles given our investment in the Microsoft ecosystem. It enabled us to harness of the .Net framework to build ASP.Net MVC, WebAPI, and Serverless applications very easily. Coupled with the high productivity of Visual Studio, it's the native tongue of Microsoft technology.

See more
Brent Maxwell

Node.js has been growing in popularity, and the ability to access the global pool of Javascript developers is great. There is a decreased amount of effort for people to work across the frontend and backend, and the language itself is easy and works well for many common use cases.

Go was the other serious candidate, but it just hasn't been implemented in as many Production systems yet, and the best Go engineers I've known have been hackers, whereas we're building a robust analytics platform that requires more caution. Type safety is easily added with TypeScript, and NPM is awesomely handy.

See more
Chose
GolangGolang
over
JavaJava

When developing a new blockchain, we as a team chose Go lang over Java and other candidates, due to Go being (a) natively suited to concurrency - there are primitives in the language itself (goroutines, channels) that really help with reasoning about concurrency (b) super fast - build time, running, testing are all much faster that Java, this gives a far superior developer experience (c) shorter and stricter than Java - code is much shorter (less verbose), and there is usually one good way to do things, and even the code formatter that is bundled with Go is very opinionated - over a short time this makes reading other people's code far smoother than having to deal with different styles.

You should be aware that Go presently (v1.13) lacks Generics.

See more
Roman Glushko
Machine Learning, Software Engineering and Life · | 3 upvotes · 341.5K views

I chose Golang as a language to write Tango because it's super easy to get started with. I also considered Rust, but learning curve of it is much higher than in Golang. I felt like I would need to spend an endless amount of time to even get the hello world app working in Rust. While easy to learn, Golang still shows good performance, multithreading out of the box and fun to implement.

I also could choose PHP and create a phar-based tool, but I was not sure that it would be a good choice as I want to scale to be able to process Gbs of access log data

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Golang
  • 548
    High-performance
  • 395
    Simple, minimal syntax
  • 363
    Fun to write
  • 301
    Easy concurrency support via goroutines
  • 273
    Fast compilation times
  • 193
    Goroutines
  • 180
    Statically linked binaries that are simple to deploy
  • 150
    Simple compile build/run procedures
  • 136
    Backed by google
  • 136
    Great community
  • 53
    Garbage collection built-in
  • 45
    Built-in Testing
  • 44
    Excellent tools - gofmt, godoc etc
  • 39
    Elegant and concise like Python, fast like C
  • 37
    Awesome to Develop
  • 26
    Used for Docker
  • 25
    Flexible interface system
  • 24
    Deploy as executable
  • 24
    Great concurrency pattern
  • 20
    Open-source Integration
  • 18
    Easy to read
  • 17
    Fun to write and so many feature out of the box
  • 16
    Go is God
  • 14
    Easy to deploy
  • 14
    Powerful and simple
  • 14
    Its Simple and Heavy duty
  • 13
    Best language for concurrency
  • 13
    Concurrency
  • 11
    Rich standard library
  • 11
    Safe GOTOs
  • 10
    Clean code, high performance
  • 10
    Easy setup
  • 9
    High performance
  • 9
    Simplicity, Concurrency, Performance
  • 8
    Hassle free deployment
  • 8
    Single binary avoids library dependency issues
  • 7
    Gofmt
  • 7
    Cross compiling
  • 7
    Simple, powerful, and great performance
  • 7
    Used by Giants of the industry
  • 6
    Garbage Collection
  • 5
    Very sophisticated syntax
  • 5
    Excellent tooling
  • 5
    WYSIWYG
  • 4
    Keep it simple and stupid
  • 4
    Widely used
  • 4
    Kubernetes written on Go
  • 2
    No generics
  • 1
    Operator goto
  • 1
    Looks not fancy, but promoting pragmatic idioms
Cons of Golang
  • 42
    You waste time in plumbing code catching errors
  • 25
    Verbose
  • 23
    Packages and their path dependencies are braindead
  • 16
    Google's documentations aren't beginer friendly
  • 15
    Dependency management when working on multiple projects
  • 10
    Automatic garbage collection overheads
  • 8
    Uncommon syntax
  • 7
    Type system is lacking (no generics, etc)
  • 5
    Collection framework is lacking (list, set, map)
  • 3
    Best programming language
  • 1
    A failed experiment to combine c and python

What is Golang?

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.

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

What companies use Golang?
See which teams inside your own company are using undefined or Golang.
Sign up for StackShare EnterpriseLearn More

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

What tools integrate with Golang?

Blog Posts

Dec 8 2020 at 5:50PM

DigitalOcean

GitHubMySQLPostgreSQL+11
2
2355
Nov 20 2019 at 3:38AM

OneSignal

PostgreSQLRedisRuby+8
9
4639
Oct 3 2019 at 7:13PM

Ably Realtime

JavaScriptPythonNode.js+8
5
3822
Jun 26 2018 at 3:26AM

Twilio SendGrid

GitHubDockerKafka+10
11
9947
What are some alternatives to and Golang?
Flask
Flask is intended for getting started very quickly and was developed with best intentions in mind.
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.
Rails
Rails is a web-application framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern.
Laravel
It is a web application framework with expressive, elegant syntax. It attempts to take the pain out of development by easing common tasks used in the majority of web projects, such as authentication, routing, sessions, and caching.
PHP
Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.