Of course, you have one product because you have shared parts, that means you have shared resources, scope and other objectives, therefore, they would have a strong relationship with each other. So the best practice in your case is to have one backlog and one working process for all your tasks.
To differ them, you can:
- Have a prefix in the name of the task, for example [Desktop]
- Have a tag for the task
- Have a color label for the task
You can create sub-backlogs too, but I don't recommend this because it depends on your working process, so you should answer those questions for decision making:
- Will you duplicate tasks or just move them from the main backlog after, for example, grooming meeting?
- Will different parts of the team work properly if tasks placed on different backlogs?