unobin
Oat++
unobin | Oat++ | |
---|---|---|
1 | 21 | |
5 | 7,433 | |
- | 1.0% | |
4.2 | 8.4 | |
over 2 years ago | 8 days ago | |
Go | 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.
unobin
-
Ask HN: What Are You Working On?
I'm working on tool called Unobin that lets you write Ansible-esque playbooks and compile them to a standalone binary with all of the templates and files baked in.
I'm trying to solve the "works on my machine" problem that's very prevalent in the devops world. One person's playbook (or Terraform module or Chef cookbook or whatever) works fine on the developer's machine due to assumptions made during the development. But transfer that code to another machine and it's a whole 'nother story. There is often a lack of rigor around dependency management and versioning, along with hidden dependencies such as programs that need to exist on the machine where the playbook is run. I want to make it possible to include all of the dependencies directly in the binary, so you truly need just one binary (unobin) to download and run.
I've made a lot of progress and have what I feel is a solid POC at this point. It lacks many modules but I'm just writing them as I need them. Right now I'm working on a reference playbook to build a Concourse CI stack, and that's giving me solid feedback to myself about what's missing.
https://github.com/cloudboss/unobin
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?
maplibre-gl-js - MapLibre GL JS - Interactive vector tile maps in WebGL2
drogon - Drogon: A C++14/17 based HTTP web application framework running on Linux/macOS/Unix/Windows [Moved to: https://github.com/drogonframework/drogon]
mapbox-gl-js - Interactive, thoroughly customizable maps in the browser, powered by vector tiles and WebGL
Crow - Crow is very fast and easy to use C++ micro web framework (inspired by Python Flask)
pg-mem - An in memory postgres DB instance for your unit tests
Pistache - A high-performance REST toolkit written in C++
procedural-gl-js - Mobile-first 3D mapping engine with emphasis on user experience
Boost.Asio - Asio C++ Library
cratetorrent - A BitTorrent V1 engine library for Rust (and currently Linux)
Crow - A Fast and Easy to use microframework for the web.
LIPS - Scheme based powerful lisp interpreter in JavaScript
Wt - Wt, C++ Web Toolkit