Package:Elementary
A modern and efficient HTML rendering library - inspired by SwiftUI, built for the web.
Reason for nomination:
I wrote about what drove me to create this package in this forum post, and I continue to be enamored by the possibilities of Swift + HTMX. I hope that more people will give building web apps with Swift a try.
It's time for another rotation of featured packages for the month. Please reply to this thread with your nominations of either your own or (preferably) someone else's packages that you think are noteworthy enough to be featured on Swift.org.
Here's a template for the post that makes it a little easier for me to organise things:
> - **Package:** [Awesome Package](https://swiftpackageindex.com/owner/repo)
> - **Reason for nomination:** This package is amazing and I use it all the time.
Reason for nomination:
OpenAPI is a very easy to create YAML file for recording and iterating API specs. While this is very important already, most power comes from the ecosystem around it - which the OpenAPI Generator for Swift is one.
The OpenAPI Generator generates Swift types for all OpenAPI types specified. In addition, it lays out protocol definitions for the server to implement - ensuring that any implementation in Swift is spec-compliant to the OpenAPI specification.
Finally, it also generates a client implementation, so you can download an existing OpenAPI spec and get up and running with the push of a button.
All this makes it very easy and reliable to connect to- or create an API.
I'd like to self-nominate one package we use heavily for high-performance unique identifier generation;
It is half the size (64 bytes) and usually significantly higher performance for generation than using UUID:s.
It is likely overkill for most casual users who would be fine with UUID:s, but for certain use cases where memory costs and generation performance matters it can be very useful.
There are some caveats noted in the documentation (specifically, for distributed systems a generator identifier must be assigned to each producer to guarantee uniqueness).
Package: Swift-Crypto Reason for nomination: Cryptography is an essential component in various different systems, ranging from password hashing all the way to implementations such as Double-Ratchet and (D)TLS. Its prevalence all around us makes this library very essential on all platforms (CryptoKit on apple OSes).
I've found the library design of extremely high quality in my various implementations with it. While in cryptography, hashes, symmetric keys and many other data forms are represented as [UInt8], the design of this Crypto library makes it so that these types are explicitly defined for their purposed and not confused.
While there has been discussion lately aiming at defining the way forward, I think that stands as a testament to how essential is has already become.
It's time to gather the nominations for November's Community Showcase. If you came across anything interesting this month, please nominate it below. It doesn't need to be something you use every day, just interesting enough that you believe other people should check it out.
Let's hear your nominations for the December Community Showcase!
Have you developed anything new this month that people might be interested in? Maybe you saw a useful package developed by someone else for the first time this month? Maybe you think there's a package that just needs a bit more attention.
Please nominate it below, here's a template to make it a little easier:
> - **Package:** [Awesome Package](https://swiftpackageindex.com/owner/repo)
> - **Reason for nomination:** This package is amazing and I use it all the time.
Looks like @finestructure hasn't nominated anything from his package picks on the last podcast, I'll nominate a couple of his for him so that we have something to vote on
In case anyone looks at this thread and thinks this is all very nepotistic with almost all the package nominations coming from Swift Package Indexing or iOS Dev Weekly. It's only out of necessity. I would really love not to need to make any nominations, but we'd need significantly more nominations coming from other people the community for that to be possible.
Also, just to note something else that I did say previously. Because I organise these updates and make the commits to the repository, I do not vote and have never voted on them.
As a reminder, a nomination here doesn't need to be something you ruminate on for weeks. Any package you see that's interesting qualifies. New or not, written by someone else or by you, whether you've used it or just read the README. It just needs to have something that caught your attention.
TL;DR Please nominate interesting packages you find