swift-nio
swift-protobuf
swift-nio | swift-protobuf | |
---|---|---|
12 | 8 | |
7,767 | 4,461 | |
0.4% | 0.6% | |
9.1 | 0.0 | |
8 days ago | 1 day 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.
swift-nio
-
Is it possible/straightforward to have a webserver baked in to an iOS app?
In addition to what others have said, SwiftNIO is a possible low-level web server framework.
-
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
-
Apple Announces Full Swift Rewrite of the Foundation Framework
You could take a look a swift-nio (https://github.com/apple/swift-nio) which is a pretty high-throughput system. swift-nio does this using some reference-counted GC where it simplifies the code and doesn't affect performance. Otherwise, value-types are used which incur no GC overhead (unless they are copy-on-write, and backed by something that requires reference counting).
-
Are there any examples of major or highly complex software written solely or at-least primarily in Swift?
The UI and the Core are mainly written by Swift. The proxy server is powered by Apple Swift-NIO. Some critical parts (deal with low-level system APIs, high performant JSON Parser, de/compression, protobuf, BoringSSL,...) are written by Objective-C and C. For some parts that deal with Pointer, or C library, I continue using Objective-C since it's easier than using a bunch of Unsafe Swift classes (UnsafePointer, UnsafeMutablePointer, UnsafeRawPointer, etc)
- The Val Object Model: Template for a possible future Swift object model
-
Implementing Parts of the Swift Compiler in Swift
> Why should they? That isn't their target audience.
Because they need it?
Apple discontinued macOS server, i bet they use Linux in some of their servers
All their networking related libs are available and tested for Linux [1, 2]
Let's not forget that they package Swift for Linux, and now also for Windows [3]
Swift is crossplatform language (you not wanting to understand it doesn't change this fact), it's not a macOS framework
[1] - https://github.com/apple/swift-nio
[2] - https://github.com/apple/swift-protobuf/blob/main/.github/wo...
[3] - https://forums.swift.org/t/announcing-swift-5-6-2-for-linux-...
-
What is the simplest way to have local http server in iOS app?
I would look at NIO or something that uses it, like https://diamantidis.github.io/2019/10/27/swift-nio-server-in-an-ios-app
-
Update app from external source (maybe?)
i use swiftnio to spin up http servers. lots of documentation online. your app logic will be the same as ios but without swiftui and uikit.
-
Any tutorials you recommend for URLSession?
Depending on what you need, SwiftNIO might do the trick.
-
Is there a reliable swift package for running a tcp connection from an ios app ?
If you want something a little more robust for a low-level TCP connection, you can also use SwiftNIO.
swift-protobuf
-
Binary Encoder/Decoder between rust and swift
https://docs.rs/prost/latest/prost/ crate lets you encode / decode protobuf messages. You can write a message which represents your struct or whatever data type is, set the fields, and then encode it into bytes. Decoding in swift can be done with something like this https://github.com/apple/swift-protobuf ig.
-
Connect-Swift: You’ll want to use Protobuf on iOS
I’ve used Protobuf in Swift and it was pretty straightforward. Apple already provides a tool chain [1] so using a third party is a hard sell.
[1] https://github.com/apple/swift-protobuf
-
Implementing Parts of the Swift Compiler in Swift
> Why should they? That isn't their target audience.
Because they need it?
Apple discontinued macOS server, i bet they use Linux in some of their servers
All their networking related libs are available and tested for Linux [1, 2]
Let's not forget that they package Swift for Linux, and now also for Windows [3]
Swift is crossplatform language (you not wanting to understand it doesn't change this fact), it's not a macOS framework
[1] - https://github.com/apple/swift-nio
[2] - https://github.com/apple/swift-protobuf/blob/main/.github/wo...
[3] - https://forums.swift.org/t/announcing-swift-5-6-2-for-linux-...
- Google's Swift protobuf library crashes on unknown enums
-
Awesome macOS Libraries List
Swift Protobuf - Plugin and runtime library for using protobuf with Swift. Language: Swift.
-
Google Protocol Buffers Support Idiomatic Kotlin Bindings
I need to explore using Protobuf -> Swift (https://github.com/apple/swift-protobuf) then using the Kotlin Native to Swift interop: https://kotlinlang.org/docs/native-objc-interop.html
- Swift Protobuf JSON enum parsing isn't forwards compatible
-
Starlink (SpaceX.API.Device) Class or .proto file for Swift (iOS)
Thanks. I downloaded and installed https://github.com/apple/swift-protobuf. Is that the tool you are talking about? This creates a blank .proto file and generates .pb.swift files but I am stuck on creating the Starlink .proto file. Do you have a StarLink .proto file? I was successful in creating a protoset file but not a .proto file. Any advice would be greatly appreciated.
What are some alternatives?
SwiftSocket - The easy way to use sockets on Apple platforms
Alamofire - Elegant HTTP Networking in Swift
GCDWebServer - The #1 HTTP server for iOS, macOS & tvOS (also includes web based uploader & WebDAV server)
protobuf-swift - Google ProtocolBuffers for Apple Swift
Zewo - Lightweight library for web server applications in Swift on macOS and Linux powered by coroutines.
CocoaAsyncSocket - Asynchronous socket networking library for Mac and iOS
mongodb-vapor - MongoDB + Vapor integration
Reachability.swift - Replacement for Apple's Reachability re-written in Swift with closures
Swift-Atem - Blackmagic Design Atem network protocol implementation in swift 5.1 using NIO 2
Ciao - Publish and discover services using Bonjour
async-http-client - HTTP client library built on SwiftNIO
APIKit - Type-safe networking abstraction layer that associates request type with response type.