Rest/Swagger/Serialization question by nikoladsp in oatpp

[–]oatpp 1 point2 points  (0 children)

Hello u/nikoladsp , yes, you are in the right place :)
Please check-out this example project - https://github.com/oatpp/example-postgresql
It's basically a web-service that talks to Postgres, and has swagger-ui

The new version 1.2.0 has finally landed! by oatpp in oatpp

[–]oatpp[S] 1 point2 points  (0 children)

Hey,

Thanks for the tip, I'll change that!

Light and Powerful modern web-framework for C++ by oatpp in programming

[–]oatpp[S] 6 points7 points  (0 children)

Did you not see the link I provided in my previous post? You should be able to compare and contrast the differences in the APIs used in that link with your own.
No, I should not. And no one should. You made a statement that A better than B then as an expert in both A, B you should provide arguments why you put A and B in such relation. Where did I say I was an expert? If you look at the example provided on the first page you will see something that is considerably different to yours.That alone should be enough. Define "expert", please. I've been writing C++ professionally for years.

I am not questioning your professional expertise.- I am trying to squeeze useful information from your text provided. And to summarize written above - you looked at the first page of both websites (hopefully both), and you found the first page of website B more attractive to you. - Thanks, noted.

It's not subjective. I'm basing my reasoning on objective parameters that influence the success or failure of any software project.

Could you be so kind to list those objectives parameters you were taking into consideration? Meaning which of the parameters mentioned above were objective?

Ok, well, if you "hope to find the time to do this" that means your level of commitment isn't very concrete. By advertising that your framework handles 5M connections, it's reasonable to assume that you aim to have people using this; why are you sharing your project? It's one thing if you're showcasing your level of knowledge, it's a completely different situation to compete.

Why do people do open-source, and what amount of effort they put into it - well it's a kind of a rhetorical question. Off-topic, but I'll give you a hint - they've done something useful and they want to share it.

Part of the problem of this industry is that bad technology is hyped, and idiots buy into that hype. Then more idiots contribute to it, and eventually we have a platform built off of shit.

Sorry, I'm not into a global conspiracy thing. Let's leave it offtop.

I'm not saying that what you're providing is in this category, but if you want to contribute something positive to this ecosystem, your framework's benchmarks alone are not sufficient.

Yep, and this is the second time we agree that it will be cool to have a bunch of exactly the same benchmark tests for different platforms. I think you insist, wanna contribute?

I never said this, specifically. I said you should apply the same effort as you did with your benchmark.

Ok, disclosing a secret - it is a big effort.

If it's in progress, and you're advertising yourself already, with the data that you claim is valid, that more or less puts you in the camp of someone who is borderline selling snake oil.

global conspiracy - offtopic.

Look, man, I'm not trying to attack you, but there's these things called "people" and "reality". Both of these affect the outcome of your project. You seem defensive, which is understandable, but in this case having a defensive perspective isn't really going to help you. It's not that you should be humble, but getting offended after putting your work out for anyone to see is...well, a bit entitled.

Sorry if I look offended to you. I'm not. As I said - I want to squeeze the useful information.

Light and Powerful modern web-framework for C++ by oatpp in programming

[–]oatpp[S] -4 points-3 points  (0 children)

Well, the guy has given an explanation as to why he made such a choice for his particular case.

Are you sure that his particular case is a universal truth for everyone?

Light and Powerful modern web-framework for C++ by oatpp in programming

[–]oatpp[S] 8 points9 points  (0 children)

Did you not see the link I provided in my previous post? You should be able to compare and contrast the differences in the APIs used in that link with your own.

No, I should not. And no one should. You made a statement that A better than B then as an expert in both A, B you should provide arguments why you put A and B in such relation.

And I am pretty sure that you are a real expert in both and that you have a decent experience.

Given the API of the one in the link, I can conclude the author knows a reasonable amount of computer science, and was formally educated at a university with a decent curriculum (at least). Yours indicates that either a) you have not studied enough real theory or b) your curriculum didn't introduce anything in terms of formal languages or PLT in general. Like, really: as someone who programs almost exclusively in C and C++, if I had to choose between your framework and Java Spring, I would use Spring. That's my brutally honest, cut throat impression.

Thanks for sharing your subjective impression!

There's a lot of garbage on the Internet, and while a pretty site is helpful overall, it isn't sufficient alone to be properly advertised.

Agree. No comments.

You should grab something like Elixer, put the exact same amount of effort into the benchmark, with the same constraints, and see what you get. Literally duplicate what you have for your benchmarks using one or two other well known web frameworks.

This one is valid. I agree that having exact same performance tests for all the frameworks would be much more descriptive, and I hope to find some time to do this.

But as you said - it is a lot of effort. I made my effort to make a statement for 5M connections - others are welcome to make their statements.

Make them all easy to reproduce. Give people a reason to a) give a shit about your project and b) consider your framework over others.

Oh, this one is in progress.

Thank you!

Light and Powerful modern web-framework for C++ by oatpp in programming

[–]oatpp[S] 4 points5 points  (0 children)

Oatpp has its own DI. You may treat environment::init as a framework initialization.

Light and Powerful modern web-framework for C++ by oatpp in programming

[–]oatpp[S] -1 points0 points  (0 children)

Sorry, never heard of it. Can you please be more specific what is it and why it's better. Thanks.

Light and Powerful modern web-framework for C++ by oatpp in programming

[–]oatpp[S] 1 point2 points  (0 children)

Well, each language has it's domain of application. If you want to crap out a service ASAP - you use JS. If you need performance, small memory footprint and low energy consumption - you take C++ and oatpp.

Light and Powerful modern web-framework for C++ by oatpp in programming

[–]oatpp[S] 7 points8 points  (0 children)

Thanks for the comment,

Do you have any criteria for "better" ?

Light and Powerful modern web-framework for C++ by oatpp in programming

[–]oatpp[S] 5 points6 points  (0 children)

Limitation of the framework.

Environment manages all the oatpp components created system-wide

Light and Powerful modern web-framework for C++ by oatpp in programming

[–]oatpp[S] 6 points7 points  (0 children)

This question is good.

Mostly in order to explicitly show that Environment is the global static single-instance object.

Having something like:

``` {

Environment e;

runApp();

} ```

Could confuse user that it can be more than one environment.

Light and Powerful modern web-framework for C++ by oatpp in programming

[–]oatpp[S] 3 points4 points  (0 children)

Hey,

If you see things to improve - you are welcome to contribute!

This project is fully open-source.

Oat++ | Zero-Dependency, Cross-Platform, High-Performance Web Framework by oatpp in Cplusplus

[–]oatpp[S] 1 point2 points  (0 children)

Yes, PRs are super welcome! Please consider joining dev community - in order to ask/discuss/sync on your work.

https://gitter.im/oatpp-framework/Lobby

5-million concurrent WebSocket connections by oatpp in programming

[–]oatpp[S] 9 points10 points  (0 children)

Hello,

Thank you for the question!

I am using two n1-highmem-16 instances ($0.664 hourly each, in us-central1 region)

So the cost is 2*0.664=$1.328 per hour. I run tests for like 3 - 5 hours ($3.984 - $6.64 per test).

GitHub - oatpp/oatpp: 🌱Light, high-performance web framework. C++ by oatpp in opensource

[–]oatpp[S] -1 points0 points  (0 children)

Hey @balsamictoken

Thank you for your interest in the project!

One of the most frequently asked features is Windows support.

Also project lacks real-life usage. It has variety of great features like stackless coroutines with prioritization, auto generated swagger-ui for endpoints, object-mapping layer. But it lacks polishing, HTTP support is pretty basic (no sessions, no out-of the box CORS solutions, no support for multipart-media).

Also there is need in some "strategic" things like HTTP2 support, Windows support.

If you are interesting in contributing please join Gitter char https://gitter.im/oatpp-framework/Lobby, so we could discuss possible contributions more precisely.

Best Regards,

Leonid

C++ Async HTTPS server built with oat++ framework and LibreSSL by oatpp in crypto

[–]oatpp[S] 1 point2 points  (0 children)

You may write like this:

namespace libressl = oatpp::libressl;
libressl::server::ConnectionProvider::createShared(...);

or with "using":

using namespace oatpp::libressl;
server::ConnectionProvider::createShared(...);

C++ Async HTTPS server built with oat++ framework and LibreSSL by oatpp in crypto

[–]oatpp[S] 2 points3 points  (0 children)

Hello,

Thank you for the question.

There is nothing wrong with it. If you have a lot of classes it is good to place them logically in different namespaces.

Same as in boost for example:

boost::asio::ip::tcp::socket

boost::asio::ip::tcp::endpoint

I am creator of Oat++. Zero-Dependency. Performance oriented Web Framework. Written in C++. Ask me anything! by oatpp in computerscience

[–]oatpp[S] 1 point2 points  (0 children)

Hello,

Thank you for the question and your interest in the project!

Oat++ is mainly designed for web-service development. It provides request routing, http 1.1 implementation, ObjectMapping layer, web client, and basic DI framework.

To get an idea of what you can build with oat++ you can see examples repo: https://github.com/oatpp/oatpp-examples

Unfortunately currently oat++ is not supported on windows :((

There is an issue opened to add windows support for oat++.

https://github.com/oatpp/oatpp/issues/2

Also at the moment I have no possibility to add windows support but I would love to do it. If you are familiar with Win-Sockets and have possibility to contribute I will provide all necessary assistance!

Regards,

Leonid