What are the different ways to build cardano transactions?

I am aware that I can build and submit transactions to the cardano node by running my own node and using cardano-cli. But using bash might not be the best way to build and submit transactions in apps. So I want to know of any SDKs which I can find in different programming languages to build transactions and submit them for my own applications. Also prefer solutions which are provided and maintained by say Cardano Foundation or IOG over third party ones.

I hope I get something as clear and easy to use as the cardano cli instead of a shitstorm like the cardano serialization lib

Probably Lucid is the most used library, here you can see some examples: lucid/src/examples/always_succeeds.ts at 457c156e74ef49ce35823aa2bca91b3bbc585221 · spacebudz/lucid · GitHub

Another one is PyCardano, if you prefer Python: pycardano/examples/tx_builder.py at main · Python-Cardano/pycardano · GitHub

A problem which I face is that a lot of these libraries use primitives which I am unable to find documentation for, do you know where I can access the meaning of all those primitives and how all of these things come together in the cardano network.

Thanks