prolink-connect
Oat++
prolink-connect | Oat++ | |
---|---|---|
1 | 21 | |
57 | 7,448 | |
- | 1.0% | |
4.1 | 8.4 | |
4 months ago | 1 day ago | |
TypeScript | C++ | |
MIT License | 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.
prolink-connect
-
Ask HN: What Are You Working On?
example overlay: https://www.youtube.com/watch?v=4rvdzTYK29E
Technically the software covers a _lot_ of the stack
* Reverse engineered Pioneer DJ gear's proprietary low-level network protocol to masquerade as one and receive state updates from the physical DJ gear on the network. The implementation is a typescript library [0].
* Implements a NFS client in typescript to download the music metadata database off of the USB drives DJs plug into the DJ gear.
* Uses kaitai-struct [01 to generate parsing code for the (very old) DeviceSQL database files that the music database use.
* The application is built as an electron app, react + emotion (styled-components) + framer-motion (animated components), and mobx with serializr to handle IPC between the main thread and renderer.
* Uses websockets with the same serialization driver to communicate updates to the overlay browser window which is rendered in OBS (or another livestreaming studio software)
I've just started working on an API backend for it as well, where the same serialization backend is used to publish users app store to a central server which will be useful for features like "Live user track voting", where you pick a playlist on your gear to expose to users, and they can vote on tracks.
[0]: https://github.com/EvanPurkhiser/prolink-connect
Oat++
-
Experience using crow as web server
I looked at oatpp and drogon, which are both great, but feel too high-level for my purposes. I tried drogon and got something working, but it feels like too much for my requirements, as in particular I'd like to slot in my choice of Json and message-body handling. C.f. the simple approach in Crow, which I easily understand and build on.
-
What isn't cpp used on web servers as much as other languages?
With the right libraries, C++ could be a good fit for applications that want to expose a fast web API to things that need lots of compute (simulators, for instance) or I/O (interactive editing of large datasets). Projects like Oat++ and Crow give me hope that we might see such an ecosystem develop.
-
REST APIs using C++. (Is this even done much?)
Lots of other options have been mentioned, but I'll throw Oat++ into the mix. I used it for this purpose and it was reasonably painless.
- C/C++ framework for REST API implementation
-
People talking about C++ and Java as bad languages. Let me introduce to you: Java++
https://github.com/oatpp/oatpp +WASM ;)
-
Server with oat++. Installation. CmakeLists.txt
cd "some/temp/path/for/repositories" git clone https://github.com/oatpp/oatpp.git cd oatpp mkdir build && cd build cmake .. (sudo) make install
-
How to use C++ as the backend for web dev?
Maybe use something like https://oatpp.io to create a REST API: C++ in the backend with this library to create a REST server, and the JavaScript/TypeScript frontend to ask for the information.
-
making a web server in c++?
I've used OATPP ( https://github.com/oatpp/oatpp ) which worked nicely for setting up simple rest interfaces. Supports things like swagger & websockets out of the box. It's also on Conan which is nice if you use cmake. I can't speak to it's performance but it has about a 1mb binary size footprint.
- Not mine but the pain of c++
-
learning c++: looking for structured project tutorial (web app/api? or other?)
As for your web problem, I have only used https://oatpp.io/ in the past but I'm sure there are more frameworks like that on the internet.
What are some alternatives?
cratetorrent - A BitTorrent V1 engine library for Rust (and currently Linux)
drogon - Drogon: A C++14/17 based HTTP web application framework running on Linux/macOS/Unix/Windows [Moved to: https://github.com/drogonframework/drogon]
tuneup-prime - NO LONGER MAINTAINED - A library management toolkit for Denon Engine PRIME 🎧
Crow - Crow is very fast and easy to use C++ micro web framework (inspired by Python Flask)
Joplin - Joplin - the secure note taking and to-do app with synchronisation capabilities for Windows, macOS, Linux, Android and iOS.
Pistache - A high-performance REST toolkit written in C++
mapbox-gl-js - Interactive, thoroughly customizable maps in the browser, powered by vector tiles and WebGL
Boost.Asio - Asio C++ Library
procedural-gl-js - Mobile-first 3D mapping engine with emphasis on user experience
Crow - A Fast and Easy to use microframework for the web.
Papercups - Open-source live customer chat
Wt - Wt, C++ Web Toolkit