pushpin
Vapor
pushpin | Vapor | |
---|---|---|
11 | 57 | |
3,576 | 23,810 | |
0.3% | 0.4% | |
9.5 | 8.3 | |
7 days ago | 1 day ago | |
Rust | 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.
pushpin
- Pushpin: Proxy server that pins connections open to build realtime API endpoints
-
Building a privacy-friendly, self-hosted application architecture with SvelteKit
For realtime, I used Pushpin with Server Sent Events. (It supports WebSocket as well).
-
Ask HN: How do you handle WebSocket connections reconnect problem?
Instead of letting clients directly interface with your services over websockets, consider using Pushpin [1], which allows you to completely isolate realtime communication from your services.
As a bonus, it also provides you the ability to cycle (redeploy/restart) your services without your clients having to reconnect (that's where the name comes from). And as you can imagine - because communication with your services is entirely stateless it scales like crazy.
[1] https://pushpin.org/
- Help !!! websocket and sveltekit
-
Ask HN: Hunting for a Framework
Vapor[0] based on Swift. Advantage of this is that you don't have to evaluate multiple frameworks for Swift and suffer paralysis by analysis. All the Swift community is behind one framework.
The next is Actix[1] based on Rust. There are many frameworks in Rust and most of them have not reached 1.0 And which framework will survive becomes a question.
Other not so well-known is Wt[2] based on C++. This actually is created for programmers who are not web developers. The development experience is similar to desktop app development like Qt.
If that is not acceptable then Django[3], based on Python, is the one that will be good for you.
For the front-end I would recommend Flutter[4]. As much as I dislike getting tied to a single company for whom the framework is not their bread-and-butter, I don't see any other viable options to Flutter that will cover all web, mobile and desktop out of the box.
For databases, I would recommend BedrockDB[5], if you are not averse to SQLite. Or FoundationDB[6], if you want NoSQL. But if you are not concerned about horizontal scalability or okay with self-managing database availability, then PostgreSQL[7] is a very good option.
For push notifications, PushPin[8] is a good option.
[0] https://vapor.codes
[1] https://actix.rs
[2] https://webtoolkit.eu
[3] https://www.djangoproject.com
[4] https://flutter.dev
[5] https://bedrockdb.com
[6] https://www.foundationdb.org
[7] https://postgresql.org
[8] https://pushpin.org
-
Thoughts on this AWS deployment architecture? (Main web app + lambda microservices)
There is also the option of running a proxy which handles the stateful nature of websockets (i.e. https://pushpin.org/), and then handle the rest in a stateless way with lambdas or similar.
-
Ask HN: Is realtime functionality of Firebase and Supabase DBs any useful?
This may not be what you are looking for, but why not use a combination of Postgres listen/notify and PushPin[0] to support push notifications?
[0] https://pushpin.org
-
Mark Nottingham: Server-Sent Events, WebSockets, and HTTP
Could use pushpin[1] and have several fallbacks, like SSE -> Websocket -> polling.
[1]https://pushpin.org/
- Show HN: Pushpin – a proxy server for adding push to your API
- Pushpin: Reverse proxy for realtime web services
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?
Mercure - 🪽 An open, easy, fast, reliable and battery-efficient solution for real-time communications
Perfect - Server-side Swift. The Perfect core toolset and framework for Swift Developers. (For mobile back-end development, website and API development, and more…)
IP-ESP32-CAM - "IP Camera" based on ESP32-CAM
Alamofire - Elegant HTTP Networking in Swift
canonic - QML web browser
Kitura - A Swift web framework and HTTP server.
rsocket-java - Java implementation of RSocket
hummingbird - Lightweight, flexible HTTP server framework written in Swift
eventhub - A high performance pub/sub over WebSocket server written in modern C++.
swifter - Tiny http server engine written in Swift programming language.
styx - Simple, high-performance event streaming broker
GCDWebServer - The #1 HTTP server for iOS, macOS & tvOS (also includes web based uploader & WebDAV server)