How to monitor balance for addresses other than by using importAddress? Is there any way, other than importaddress, to watch balances of specific addresses?

If not, how it is possible for wallets and explorers to give information (balance, transactions) about specific addresses even though importaddress takes some time?  Because we have to rescan sooner or later.
Is there any way, other than importaddress, to watch balances of specific addresses?


No, creating a watch-only address is the way to do this using a wallet such as Bitcoin-core.


  how it is possible for wallets and explorers to give information ... even though importaddress takes some time?


Once the blockchain has been initially scanned for transactions involving an imported address, the wallet need only check new blocks for mentions of that address as it receives the new blocks, there should be no need to rescan the blockchain.

Blockchain explorers can maintain an index per address and continuously keep track of balances for all addresses. They don't need to recompute this from scratch for every new enquiry.