fsharp / fsharp.github.io

F# Core Engineering Group
http://fsharp.github.io
45 stars 53 forks source link

Proper Second Level Namespace for client development libraries #16

Closed ReedCopsey closed 9 years ago

ReedCopsey commented 9 years ago

The recent update to the open engineering guidelines suggests to use "existing second-level namespaces" for projects.

I'm considering renaming my client development libraries, but don't think there is a good fit among the existing 2nd level namespaces for this. I would like to propose deciding, as a community, on a new appropriate 2nd level namespace to add to the guidelines.

In my case, there are two libraries in question, both are geared towards client app development. One is fully cross platform today (pure PCL, intended for use with WPF, Windows Store, Xamarin Forms, etc) - the second has goals to be cross platform (supporting WPF and Xamarin Forms, so Windows Desktop, iOS, Android, Windows Phone).

The only similar project out there at the moment is @dmitry-a-morozov 's FSharp.Desktop.UI. That project is specific to WPF (Windows Desktop), and the name wasn't a community decision. In this case, I don't think "Desktop" is appropriate for my libraries in any case, as they also work on other client devices like phones.

I asked on twitter, and a few suggestions made included:

I personally think FSharp.Client.* makes the most sense, but would like to get other opinions, and would suggest updating the guidelines to include the new namespace once chosen.

dmitry-a-morozov commented 9 years ago

The library was given this particular name after discussion with Don, Tomas and Gustavo. //cc @fsgit @ovatsus @tpetricek

ReedCopsey commented 9 years ago

Ahh, my mistake :) Didn't realize that. I don't think, in this case, that .Desktop is necessarily appropriate for cross platform client libs, though.

dmitry-a-morozov commented 9 years ago

Agree. But FSharp.Desktop.UI targets specifically WPF. To be honest I don't think it's a great name either but I didn't want to linger on it for too long.

dsyme commented 9 years ago

Perhaps FSharp.Client.* is best. Tricky, because eweb clients probably go under FSharp.Web.*

ReedCopsey commented 9 years ago

This is addressed in PR #17