swift-server / guides

Guides for building, debugging and deploying Swift Server applications
257 stars 21 forks source link

Create server-frameworks.md #27

Closed hassila closed 3 years ago

hassila commented 3 years ago

Adding a list of server frameworks that are useful as a starting point.

ktoso commented 3 years ago

Hmmm I think the list is awesome but I think this will soon be better served by package collections etc?

Not sure about a parallel list of libs that are not the "SSWG endorsed ones" hm...

On the other hand, such list can be super useful and I love it hmm... not sure, wdyt @tomerd ?

hassila commented 3 years ago

Yes, I saw the package collections (nice!) - it misses things like e.g. flatbuffers that don't have a SPM though, but one could live with that. Perhaps when that rolls out this page could be split out into a .json with the packages on the list instead, but could start curating the list until then?

In the best of worlds, I would love to see the Swift package index and packagecollections have a relationship:

The analogy would be that the package index is the 'iTunes store' while the package index is a representation of a curated playlist.

The dream would be to allow for analogous functionality where people could curate a set of packages and there would be a list of curated lists available from the package index instead of just searching. This should both be viewable and accessible in the .json format expected by SPM.

That would give some synergy between these two complementing technologies - and give an easy way how to share / build package index 'playlists'. @daveverwer and @finestructure - something you think would make sense?

I think then 'influencers' and blog writes would simply use the swift package index to generate package collections and drive traffic there while leveraging the SPM infrastructure now in place.

finestructure commented 3 years ago

Hi @hassila , great to see you're thinking of the Swift Package Index in this context :)

Package collections are definitely something we're going to support...

https://github.com/SwiftPackageIndex/SwiftPackageIndex-Server/blob/main/Sources/App/Core/PackageCollection%2Bgenerate.swift

:)

The "entry points" you've listed (i.e. how are collections going to be created) aren't quite fleshed out yet but we're definitely interested in driving that and becoming a source for package collections!

hassila commented 3 years ago

Hi @hassila , great to see you're thinking of the Swift Package Index in this context :)

Package collections are definitely something we're going to support...

https://github.com/SwiftPackageIndex/SwiftPackageIndex-Server/blob/main/Sources/App/Core/PackageCollection%2Bgenerate.swift

:)

The "entry points" you've listed (i.e. how are collections going to be created) aren't quite fleshed out yet but we're definitely interested in driving that and becoming a source for package collections!

Awesome, thanks @finestructure - if we'd be able to curate such a collection and get a permalink to it, we could easily use that in this context - I think it would be great discoverability for the swift package index in the future to provide collections as the top entry point in addition to pure searching (search requires that you know what you are looking for, collections allows for browsing).

In the meantime while waiting for that to materialise, perhaps we could start curating a candidate list of useful frameworks here? I think the bar would be different than the SSWG (e.g. I don't think XML/JSON/YAML parsing necessarily will go through SSWG incubation, but they'd definitely be useful to get pointers to for someone starting with server side Swift).

daveverwer commented 3 years ago

Awesome, thanks @finestructure - if we'd be able to curate such a collection and get a permalink to it, we could easily use that in this context - I think it would be great discoverability for the swift package index in the future to provide collections as the top entry point in addition to pure searching (search requires that you know what you are looking for, collections allows for browsing).

Just to be clear on what we’re currently working on for package collection support. Initially, the SPI will support author collections, a collection listing all packages by a specific author. We’ve not yet decided how manual curation is going to work.

You’re right that this could be a great feature for discovery, that’s how I’m thinking about it too. But I just wanted to set expectations that manual curation isn’t imminent.

hassila commented 3 years ago

Just to be clear on what we’re currently working on for package collection support. Initially, the SPI will support author collections, a collection listing all packages by a specific author. We’ve not yet decided how manual curation is going to work.

You’re right that this could be a great feature for discovery, that’s how I’m thinking about it too. But I just wanted to set expectations that manual curation isn’t imminent.

Thanks @daveverwer - one possible suggestion for manual curation could be to have a swift package which simply references all the swift packages that should be in the list in its dependencies. Then the way for someone to submit a curated list, would be to simply submit such a 'metapackage' to the package index. Just might make it easier to get started as you already seem to have a fairly extensive infrastructure for parsing swift packages. Then it would primarily be a matter of knowing that its a metapackage and parse/display the data.

ktoso commented 3 years ago

Thanks folks!

Do we think we can close this PR for the time being? This topic will be addressed by collections.