For my final year project at university (for next year), I was thinking of starting a project in which I would design a music player with a UI (e.g. iTunes but smaller scale) in OCaml.
I have looked around on the internet at UI libraries, and I was wondering if there was a way for me to create a custom framework in OCaml, how easy that would be and what I should look into/start from.
Bear in mind that I am not an OCaml expert, I have done two years of it at university and I am aware that this task would probably require me to do a lot of research. I just wanted to get some information on the subject before I actually delve into my final year.
That said, this desire (to write GUI apps in OCaml) is pretty widespread, and there’s relatively little out there which is well documented and production worthy. But we all know that.
And it’s been pretty pleasant so far. Because of the incrementally of incr_dom things stay pretty fast. It does get a bit hairy when having to do certain native JS things because Js_of_ocaml’s API is a bit verbose. So maybe something to investigate if it fits your constraints.
Note, there is also lablgtk3 - be sure to use the ‘lablgtk3’ branch. CoqIDE, Frama-C, and few other projects use it. So it is kind of “production quality”.
I would not advise this for only getting your degree, of course, because bogue is not production ready; but if you want to get involved in the development of a GUI, it could be interesting.