我在Flutter中创建了演示项目,包名为: iOS : com.example.flutterAppTest Android : com.example.flutter_app_test 它们为什么不同?它们需要不同吗? 跨平台包名称的惯例是什么?
根据Java包命名约定,Android包名称使用下划线的原因是:命名约定为避免与类或接口的名称冲突,包名采用全小写字母编写。对于iOS,许多人使用camelCase。iOS bundle ID或包名使用相同的大小写,但没有严格的规则来确定使用哪种大小写。这只是一种惯例,而不是编译器规则。有效的名称由字母(小写或大写)、数字、下划线组成,并以字母或下划线开头。它们需要不同吗?每个平台都遵循自己的约定,但它们没有必要不同。如上所述 - 您可以使用字母、数字和下划线随意重命名包。跨平台包名称的实践是什么?如果可能-您可以使用相同的包名称,但这将违反约定,这是不可取的。如果不可能(例如项目无法编译)-请遵循规则。 在我看来,遵循惯例(因为惯例也是规则)是最好的解决方案。 您可以在此处找到有关Java包命名惯例的更多信息(这是不同的资源)。