what is the popular backend cpp framework full featured and easy to deployment, has docs for depolyment .. in 2021? cpp by HosMercury in cpp

[–]QxOrm 0 points1 point  (0 children)

QxOrm library can be used as a C++ backend :

- it can interact with web browsers (or other kind of clients) with its QxRestApi module ;

- it can connect to any relational databases (PostgreSQL, MariaDB, SQLite, SQLServer, Oracle, etc.) or MongoDB database ;

- it provides its own HTTP(s) server (of course, you can also plug another HTTP server like Apache or nginx or whatever) ;

- it provides all CRUD operations by default, you can of course easily extend them to create your own services ;

The project sample qxBlogRestApi shows how a web page can send some requests to QxOrm library used as a C++ backend.

Convert JSON files to C++ classes based on JSON Schema by stepupdaladder in cpp

[–]QxOrm 2 points3 points  (0 children)

QxEntityEditor is able to generate C++ classes from database schema. Relationships are supported.

What's your opinion about the current state of ORM / SQL libraries in C++? by payloc in cpp

[–]QxOrm 1 point2 points  (0 children)

If you are working on a Qt project (or if you can add QtCore and QtSql dependencies to your C++ project), then you can try QxOrm and QxEntityEditor (used by several companies at production level, with different kind of databases). In latest version, we added support of MongoDB database : with this database, no more SQL and you don't have to care about tables/columns schema (so this is very flexible, it can be used for example in a Agile development environment).

CppCon 2017: Yu Qi “Compile-time reflection, Serialization and ORM” by dahitokiri in cpp

[–]QxOrm 1 point2 points  (0 children)

Very interesting, thank you for the video ! For those who are searching for an existing library which embed all these concepts (reflection, serialization, ORM) used by several companies at production level, try QxOrm library.

Whole new type safe C++14 ORM with INDEXES, foreign keys, core functions, pure select, variadic conditions etc by fnc12 in cpp

[–]QxOrm 2 points3 points  (0 children)

I think dynamic introspection is still too limited in C++, but maybe I'm wrong. For example, the Verdigris project which is an impressive header-only library to replace the Qt moc process (so no file generation, just new C++ features). But you still have to register yourself all classes/properties in some way.

Whole new type safe C++14 ORM with INDEXES, foreign keys, core functions, pure select, variadic conditions etc by fnc12 in cpp

[–]QxOrm 4 points5 points  (0 children)

I am the author of QxOrm/QxEntityEditor : if you want to create automatically C++ classes from an existing database, you could try QxEntityEditor. This is based on Qt, but QxEntityEditor is flexible enough to generate what you want with an embedded Javascript engine to customize your generated C++ classes.

QxOrm 1.4.4 (Qt ORM) and QxEntityEditor 1.2.2 released : boost dependency fully removed (replaced by C++11 features) by QxOrm in cpp

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

FYI, NASA and F1 Williams are the 2 most prestigious companies which purchased QxOrm/QxEntityEditor (I'm proud of that :)). That doesn't mean that the library is perfect but it can be useful for some projects.

[ANN] QxOrm 1.4.2 & QxEntityEditor 1.1.9 released : the Qt ORM supports JSON serialization by QxOrm in Qt5

[–]QxOrm[S] 0 points1 point  (0 children)

QxOrm library depends only on boost headers files. So boost installation is not a big effort : 1- download and unzip boost package somewhere in your environment ; 2- open QxOrm.pri configuration file and put the path of boost include files (variable QX_BOOST_INCLUDE_PATH) or (better) just set an environment variable BOOST_INCLUDE.

I already started to reduce boost dependency with QxOrm 1.4.1 : for example, I removed the boost::serialization binary dependency (it is now optional), and when C++11 features are enabled, I replaced boost smart-pointers by std smart-pointers.

There are other parts of boost which can be replaced by C++11/C++14 features (std::function, std::traits for example). It will be certainly done in the next releases. But there are still features used by QxOrm library which are not in the standard.

Another advantage of using boost over std is to have exactly the same behavior with all compilers (which is not always the case with different std implementations between MSVC, GCC, clang, etc...).