Code:
Is it possible to tell the client the domain, lshost and lsport in some other way? I do not want to hardcode them in the code? Or i have to deal with it in my way, for example before my widget is created to query db for config, look in some application context or something?
domain host and port are used client side so the way to configure them IS the javascript code, and so, yes, you need to find a way to configure and send the necessary values in your gwt code.

And are these Metadata adapters from the demo enough goood for real project?
If you are referring to the metadata adpters that are inside the ls-generic-adapters.jar file (i.e.: LiteralBasedProvider and FileBasedProvider) yes them are. Of course only the basic functionalities are implemented in those metadata adapters (btw you can tweak them a little through their configurations parameters, check out LS_HOME/DOCS-SDKs/sdk_adapter_java/examples/Reusable_MetadataAdapters/README.TXT).
On the contrary the MixedMetadataAdapter class is tightly coupled with the deployed demos, so it can't be generally reused.

HTH