To learn about how to build BApp using Klaytn SDK, see Tutorials.
Also, check the porting guidelines from web3.js and from web3j. Because the syntactic of caver-js and caver-java are very similar to web3.js and web3j, porting should be minimal and very straightforward. But, no, you can not use web3.js or web3j to make a request against Klaytn.
Must I install and run an EN (Endpoint Node) to use Klaytn?
Yes and No. Endpoint node validates the blocks and exposes RPC APIs to the outer world. EN is always needed for your application to interact with the Klaytn network. For those who simply want to try Klaytn APIs, you can try KAS (Klaytn API Service). KAS provides Klaytn Node API service that exposes RPC APIs of Klaytn networks (both Baobab and Cypress) as well as other useful API services. Note that KAS serves free API requests after user registration. For pricing plans, please refer to KAS pricing page.
I am running an EN, and node data sync is too slow.
Sending a transaction with multiple signer gives a good explanation about two different ways of collecting signatures. Relevant caver-js APIs are as follows. Take a look at the code examples in the API description.