DEV Community

Cover image for Dart for backend: pros and cons
Pedro Massango
Pedro Massango

Posted on

Dart for backend: pros and cons

Dart is an object-oriented, class-based, garbage-collected programming language developed by Google. Initially designed for client-side development, Dart has evolved to become a full-stack language that can run on the backend as well. This short article explores the benefits and drawbacks of using Dart for backend development.

Advantages of using Dart for Backend Development:

  • Single Language for Full-Stack Development (specially when using Flutter for front-end)
  • Speed and Performance
  • Scalability
  • Built-in Support for Asynchronous Programming
  • Strong Typing

Disadvantages of using Dart for Backend Development:

  • Lack of Third-Party Libraries
  • Limited Community Support
  • Lack of Maturity

Those are very important things to consider, specially if you 're new to Dart and want a fast solution to build and deliver your project as it is likely that you will have to build some third-party libraries yourself.

Dart is a great option for backend development, particularly for developers who already use it for front-end development. Its speed, scalability, and support for asynchronous programming make it an attractive choice. However, it's important to consider the potential drawbacks, such as the limited third-party library support and smaller community. Despite these challenges, Google's continued investment in Dart suggests that it will continue to grow and evolve over time.

It is relatively easy to learn Dart so if time is not against you, then it is definitely worth a try.

Top comments (3)

Collapse
 
kristiformilchev profile image
K.Milchev

I lead a team at work with dart, and why i do like the language, i would personally not use it for backend at all. It's primarily designed to server as the backbone of flutter and it works great for building applications, handles complex business logic really well, and overall it's a simple language to get going with.

However, there are a lot of cases to consider when we are picking a technology for backend, first what is the support around the language, second, what does the market look like and last but not least what is the talent pool around.

Simply put, there the talent pool around dart unfortunately, is mostly people that are new to programming, some of which struggle to understand basic programming principles. I know this because i help people all the time with trivial stuff, that shouldn't be a question in the first place.

The lack of good talent pool is normal as the language is not mature enough but that leads us to the biggest issue, how are you going to find people that are good enough to support the system once you're done with it?

Is it going to be as easy as reaching for the talent pool in a language like GO which is primarily orientated around building web services and CLIs?

For 12 years i haven't had the bliss to understand why people want to use the same language across the frontend of their solution and the backend, it's not like frontend developers know how to write backend and yes there is this mythic beast of fullstack developer company, but then again, you're going to put a developer that has the potential to solve complex problems, pay him a salary to solve complex problems and leave him to draw squares on the display all day because our tech stack works on both places.

Doesn't seem like the most efficient spending from a company perspective, the truth is that it's better off to have 1 language for the frontend, 1 for the backend. These days it doesn't really matter which one you use because there is GO, kidding, you can use whatever, in 89% of the cases your bottleneck wont be go, dart, c#,f#,scala,ruby, or god forbid node.js, it will most likely be the database or some other storage that you're going to wait for.

So pick whatever, but consider the implications of finding people to support it, and in worst case, someone to take over the ship while it's being built as it's common for people to just leave nowadays without a notice and then you're with a stack that you know nothing about looking for someone to finish off what was started by someone else.

Collapse
 
france00mf profile image
France

nice article.

Collapse
 
brayanceron profile image
Brayan Ceron

I personally love the syntax of Dart, I think it is the most versatile language I have ever known.