Thanks for posting queries in PSC.
Declare exp will work whenever input change, it will update the target property accordingly by running an activity whenever defined property changes .
Declare Trigger will run activity whenever defined properties commited to DB.
So you can apply both .
when you say "You can do it. But it is preferable to configure trigger activities to run in background" does it mean configure activity type from "Trigger" to "aynchronous"
is it achieved by setting Execute value to activity run:
"In Background on Copy — The activity executes in a new requestor, outside of the context of forward chaining. The activity should include a Commit method. (This activity cannot use Obj-Save with Write Now checked, but can use all other methods."
else how to achieve this Behavior if we have to leave activity type as "Trigger"