Comments (7)
This is what I went with in the end:
If there is no version tag that is a semantic version:
If the latest version is stable, or if there is only a beta version and no stable version has ever been released:
If there is a beta version, but a stable version has been previously released:
The metadata below the version is from the latest commit on the default branch right now, but that's next on my list. I also came up with a way to make the search results look good with two sets of metadata so your wish may come true @jshier!
This is now live on the site.
from packagelist.
Also transferring this comment from @jshier:
I'll report this as feedback as well, Xcode should really show you both too. Reported as FB6961625.
from packagelist.
I've done some work on this today and I am now scraping both beta versions and stable versions from the git repository. The big question now comes down to how to best display it all.
There are four cases to consider:
- Where none of the tags in the git repository are valid semantic versions.
- Where the latest tagged semantic version is also the latest version of the package.
- Where the package has never had a stable release, only beta releases.
- Where the latest semantic version is a beta, but there is also a stable version.
I think the answers to the first two cases are fairly obvious, and the last two are less so.
Where none of the tags in the git repository are valid semantic versions
I think this is obvious, and it should look just like it does right now with no version displayed. Like this:
Where the latest tagged semantic version is also the latest version of the package.
I think this is also fairly obvious, and it should look just like it does right now. Like this:
Where the package has never had a stable release, only beta releases.
This is where things get a little bit interesting. In this situation we are dealing with repositories that have no stable versions at all. So, the only tags that are valid semantic versions have pre
tags.
Xcode always selects the latest stable version when adding a package, so there's an argument to have some kind of visual difference to this in the search results. Maybe something like this?
It could be something else, but dimming the version number is an idea.
Where the latest semantic version is a beta, but there is also a stable version.
This is where things get really interesting. When there is a package that has in the past had a stable version, but that is now under development of a beta version.
When there is any stable version, Xcode will recommend and default to that version when you use it to add the package. You have to manually type in the beta version number if you want it.
Maybe it should look something like this?
I have all of the server side logic already implemented and this screenshot is actually from my local development version of the site, but I'd really love some opinions before deploying it.
Thanks!
from packagelist.
One important thing to keep in mind is that the latest and stable versions, whatever they may be, may also have different minimum OS and Swift levels. For instance, Alamofire 4 still supports iOS 8+ and Swift 3.2+, which is far lower than Alamofire 5. So it seems that, if those are different (however you're detecting that), that all information from both should be displayed. In that case, perhaps vertical display would be better?
from packagelist.
One important thing to keep in mind is that the latest and stable versions, whatever they may be, may also have different minimum OS and Swift levels.
Yes, but there are a couple of problems with this. First, I have yet to implement per version metadata π It's on the list but it's not yet implemented.
Second, these search results are already getting really visually busy. I'm not sure I can get all of that metadata to be displayed in a visually clear way.
from packagelist.
Then I think I like the last UI, as at least then it could be somewhat clear the metadata is for the latest version and not the stable one, but there will likely always be confusion. Perhaps being able to select between the two?
from packagelist.
The last UI is the best, and I think it provides the most useful information. By that point, people searching will have enough information about what the library does to make a judgment on whether to click through to the details page.
from packagelist.
Related Issues (20)
- Add CompoundPredicate HOT 1
- Wabi Foundation: Kraken (the free and open source metaversal creation suite). HOT 3
- SwiftUserDefaults HOT 2
- πππππAAChartKit-Swift-Pro is a professional version of AAChartKit-Swift, it is an elegant and friendly chart framework for iOS, iPadOS, macOS. AAChartKit-Swift-Pro is a more powerful data visualization framework that supports more types beautiful chart like bellcurve, bullet, columnpyramid, cylinder, dependencywheel, heatmap, histogram, networkgraph, organization, packedbubble, pareto, sankey, series, solidgauge, streamgraph, sunburst, tilemap, timeline, treemap, variablepie, variwide, vector, venn, windbarb, wordcloud, xrange charts and so on. HOT 2
- Mangopay Checkout SDK HOT 2
- Add Mangopay Vault SDK HOT 2
- Add Extra HOT 2
- Add SwiftyCrop HOT 2
- Add libprisma HOT 2
- Add MeecoHolderWalletApiSdk HOT 2
- PrivacyManifestUtil HOT 2
- DPTabBar HOT 2
- Add HelpfulKit HOT 2
- Add nkeys.swift HOT 2
- Add Async-Channels HOT 1
- Add nats.swift HOT 2
- Add Fastis HOT 2
- JSONHTTPClient HOT 1
- Add swift-sls-adapter and Breeze HOT 2
- Remove swift-sls-adapter and Breeze HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from packagelist.