If neither of your developers has mastered software development, it doesn't matter which you pick - they're both going to need a lot of training and handholding.
If they have both mastered software development, then you may as well pick the specialist if you have a specialised task, or the generalist if you have a general task.
The point is that someone's ability to add business value (or practical value if you aren't in a buisiness, maybe artistic value in some settings) isn't a function of their programming languages and platform experience.
Realistically, nobody has mastered programming because they 'know X platforms'. All that experience guarentees is that they can reach their skill cap really quickly in any setting. This means nothing. It might even be a negative value-add if their skill cap is low enough. More information is needed to say if they are good programmers.