Native vs cross-platform development: comparison and stack selection