Dartboard Introduction

Oct 10, 2019 · 2 minutes read

Dartboard is an Eclipse project that aims at making Dart development possible in the Eclipse IDE.

The Dart Language

The Dart™ programming language is a relatively new programming language. Originally proposed by a team at Google in 2010, one of its main objectives was to be an alternative to JavaScript on the web. While it is still possible to write Dart code and transpile it into optimized JavaScript nowadays there is a new main purpose of Dart: The Flutter™ project.

The Flutter project, also from Google aims at allowing cross-platform mobile app development. While the project's internals are primarly written in C++, most of its API is written in Dart. Developers using the framework write Dart code.

Currently Dart development is mostly done in Visual Studio Code and Android Studio (IntelliJ). Technically it's also possible to develop Dart apps just with a console and a texteditor.

However, there is a Dart language server available. Which means we can utilize the LSP4E project to connect the Eclipse IDE to the language server.

Dartboard

The Eclipse IDE was once heavily used for Android development. But with the addition of Android Studio, Eclipse is no longer the preferred choice for Android development.

The Dartboard project now aims at bringing the ability of mobile app development back to the Eclipse IDE.

As part of Google Summer of Code I will be developing new features over the next 3 months to improve the project. The current status of the project is available on GitHub.

What's Working?

I will be continuously updating this list with new features.

Syntax Highlighting and Error Reporting

Dart syntax is highlighted in Dart source files and errors are underlined and reported on the side as well as the problems view.

Dart Syntax highlight

Quick Fixes for Errors

Quick fixes for errors are available from the language server.

Quick fixes

Dart Console

Dart programs can be launched from a launch configuration. Any output is shown in a dedicated console view.

Dart console

What's Planned?

Support for Bootstrapping Projects with Stagehand

Stagehand is a CLI tool, written in Dart, that allows to easily bootstrap new Dart project from a template. There are multiple templates available. For example console-full which generates the base for a console application.

The goal is to add the ability to bootstrap new projects using a wizard. In the process a template can be selected and the new project is automatically set up after creation.

Support for the Pub Package Manager

Pub is the package manager for Dart projects. It allows to include packages from the pub registry in any Dart project.

The goal is to automatically sync a projects dependencies upon import of the project or when a new dependency is added to pubspec.yaml.

Final Words

If you are interested in the project please subscribe to the Dartboard mailing list

Development happens in the GitHub repository.

Links

Dart and the related logo are trademarks of Google LLC. We are not endorsed by or affiliated with Google LLC.

Flutter and the related logo are trademarks of Google LLC. We are not endorsed by or affiliated with Google LLC.