Skip to content

Dart GSoC 2023 Project Ideas

Daco Harkes edited this page Jan 31, 2023 · 20 revisions

A list of Google Summer of Code project ideas for Dart.

For GSoC related discussions please use the dart-gsoc group.

Potential mentors

TODO: Finish this page.

GOgen

  • Possible Mentor(s): [email protected]
  • Difficulty: Hard
  • Project size: / Large (350 hours)
  • Skills: Dart, Go

Description: Package FFIgen makes interop with C and Objective-C seamless, and the (experimental) package JNIgen does the same for Java and Kotlin. However, what about Go?

In this project we would parse Go files and generate C wrappers and Dart bindings to those C wrappers so that developers can easily interop with Go from Dart.

  1. Design a way to interop with Go. We can explore cgo, is this at the right abstraction level for interop? Or would we want a more high level interaction? For example, since Go is garbage collected, can we have handles to Go data structures from Dart that prevent them from being Garbage collected?
  2. Design an approach to get the right information from a Go API. This will likely involve a Go parser and static analysis tool. That data structure then needs to be made accessible in Dart (either serialization such as in JNIgen or with direct FFI as in FFIgen).
  3. Generate the code that does 1 and 2.
  4. Profit!

(Alternatively, we could also do this project for another language. IDL, C++, Rust, …)

Good Sample Project: (1) Build a small sample project where you interop with a Go library. (2) Build a prototype for generating the bindings for that library, and (3) use a Go parser to generate those bindings.


Idea: TODO

  • Possible Mentor(s): TODO
  • Difficulty: Hard / Easy
  • Project size: Medium (175 hours) / Large (350 hours)
  • Skills: Dart, TODO

Description: TODO

Good Sample Project: TODO

Clone this wiki locally