hummingbird
APNSwift
Our great sponsors
hummingbird | APNSwift | |
---|---|---|
9 | - | |
744 | 644 | |
14.2% | 4.0% | |
9.3 | 5.7 | |
3 days ago | 9 days ago | |
Swift | Swift | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
hummingbird
-
An aborted experiment with server Swift
Such a shame. Swift has many beautiful language features.
I give swift a try every once in a while.
Problems of my last attempt:
- The Swift REPL (lldb to be precise) depends on libpython-dev (v3.8). WSL (ubuntu 22.04) comes with 2.7 and 3.10, so the lldb dependency depends on an old python version. The fix was to copy the 3.10 binary to the directory where lldb expects it, and rename it to libpython3.8.so. It seems that it's backwards compatible so it worked on my machine.
- I tried to compile and statically link a hummingbird (web framework, more light weight than vapot, https://github.com/hummingbird-project/hummingbird) hello-world example. I had a liking error. Luckilly someone in the swift forums helped me. The problem was that my package.swift file had the "-static-stdlib" flag only as a swiftSettings. It needed to be also a linkerSetting.
In the end I was able to build my example. But at this point I already spent multiple days debugging problems that are unrelated to my applicationn or the Swift language.
It's a shame because I see its potential. Fixing the (linux/windows) tooling problems would probably only take "some" developers. Apple has near infinite money and could sponsor them if they wanted to., but they gain little by it. Besides them, not many are invested in it.
- What to choose next? My company wants me to learn new stack. iOS Dev with 8 years of exp.
-
Swift outside the Apple ecosystem
Also look at: Hummingbird https://github.com/hummingbird-project/hummingbird Smoke https://github.com/amzn/smoke-framework Swift NIO https://github.com/apple/swift-nio
- Hummingbird, the Swift server framework, hits v1.0
-
What is the backend of apps?
Hummingbird is probably the fastest/lightest backend. You can switch to it after mastering Vapor's Fluent ORM.
-
Suggestions for a back-end service
I'm using Hummingbird hooked up to MongoDB with Vapor Fluent. I declared input/output structs that I share to the client code via a library. All my core business logic sits on the server. I can cache the structs client side on sqlite.
-
vapor and react integration
If you don't need all the features of vapor, you can just use Fluent's ORM and Hummingbird. The documentation and code examples are more up to date.
-
Alchemy - Elegant, batteries included web framework for Swift!
Another Devil's Advocate: Why would I choose it over Hummingbird? https://github.com/hummingbird-project/hummingbird
APNSwift
We haven't tracked posts mentioning APNSwift yet.
Tracking mentions began in Dec 2020.
What are some alternatives?
Vapor - 💧 A server-side Swift HTTP web framework.
async-http-client - HTTP client library built on SwiftNIO
open-source-ios-apps - :iphone: Collaborative List of Open-Source iOS Apps
alchemy - Modern, batteries included web framework for Swift.
soto - Swift SDK for AWS that works on Linux, macOS and iOS
swift-collections - Commonly used data structures for Swift
Alamofire - Elegant HTTP Networking in Swift
NoMansCanvas - Jyväskylä University project - A clone of /r/place
smoke-framework - A light-weight server-side service framework written in the Swift programming language.
APNs2 - ⚡ HTTP/2 Apple Push Notification Service (APNs) push provider for Go — Send push notifications to iOS, tvOS, Safari and OSX apps, using the APNs HTTP/2 protocol.