swift-nio
Vapor
swift-nio | Vapor | |
---|---|---|
12 | 57 | |
7,767 | 23,810 | |
0.4% | 0.4% | |
9.1 | 8.3 | |
8 days ago | 3 days ago | |
Swift | Swift | |
Apache License 2.0 | MIT License |
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.
Vapor
-
Swiftly Chatting: Building Chatbots with Botter
Botter works in tandem with Vapor, which handles the server-side functions of your project. This powerful combination allows you to focus on what matters most - creating an engaging and effective chatbot.
-
Issue with Vapor Server
// swift-tools-version: 5.8 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription let package = Package( name: "MyServer", platforms: [.macOS("12.0")], products: [ // Products define the executables and libraries a package produces, and make them visible to other packages. .executable( name: "MyServer", targets: ["MyServer"]), ], dependencies: [ .package(url: "https://github.com/vapor/vapor.git", .upToNextMajor(from: "4.70.0")), // Dependencies declare other packages that this package depends on. // .package(url: /* package url */, from: "1.0.0"), ], targets: [ // Targets are the basic building blocks of a package. A target can define a module or a test suite. // Targets can depend on other targets in this package, and on products in packages this package depends on. .executableTarget( name: "MyServer", dependencies: [ .product(name: "Vapor", package: "vapor") ]), .testTarget( name: "MyServerTests", dependencies: ["MyServer"]), ] )
-
Is it possible/straightforward to have a webserver baked in to an iOS app?
Otherwise there's https://github.com/vapor/vapor
- A Look at the Crystal Programming Language for Humans
-
Most effective approach for building a client/server application (MacOS)
The Swift/Vapor project is a relatively easy way to do it.
-
First contract, how much should I charge?
Opening this webpage (https://vapor.codes) cranks my CPU (5800x3d) to 100% instantly. Why?
-
Swift outside the Apple ecosystem
Vapor is the most popular non-Apple-ecosystem Swift project. There have been a few others, but none particularly popular.
-
Idea for small project? (without touching any UI)
Server-side apps (typically via Vapor)
-
Why I selected Elixir and Phoenix as my main stack
My first option other than PHP was using Swift and Vapor. I have made some projects with iOS and Objective-C, maybe I could also learn Swift and create both native iOS apps and backends with the same language.
-
I've just released my new app which allows you to use your iPhone as a webcam when livestreaming
StreamCam is written 100% in Swift, SwiftUI & Combine. The serverside is handled with Vapor.
What are some alternatives?
SwiftSocket - The easy way to use sockets on Apple platforms
Perfect - Server-side Swift. The Perfect core toolset and framework for Swift Developers. (For mobile back-end development, website and API development, and more…)
GCDWebServer - The #1 HTTP server for iOS, macOS & tvOS (also includes web based uploader & WebDAV server)
Alamofire - Elegant HTTP Networking in Swift
Zewo - Lightweight library for web server applications in Swift on macOS and Linux powered by coroutines.
Kitura - A Swift web framework and HTTP server.
mongodb-vapor - MongoDB + Vapor integration
hummingbird - Lightweight, flexible HTTP server framework written in Swift
Swift-Atem - Blackmagic Design Atem network protocol implementation in swift 5.1 using NIO 2
swifter - Tiny http server engine written in Swift programming language.
async-http-client - HTTP client library built on SwiftNIO