IOS 和 Android 包名
IOS and Android package name
我在Flutter中创建了demo工程,包名:
iOS : com.example.flutterAppTest
Android : com.example.flutter_app_test
为什么它们不同?他们应该有所不同吗?
跨平台包名的做法是什么?
在 Java package naming conventions 之后 Android 包名称下划线的原因是:
Naming Conventions
Package names are written in all lower case to avoid conflict with the names of classes or interfaces.
对于iOS,很多人用camelCase
。您的 iOS 包 ID 或包名称使用了相同的大小写,但没有严格规定使用哪种大小写。这只是一个约定,不是编译器规则。
有效名称由字母(小写或大写)、数字、下划线组成,并以字母或下划线开头。
它们需要不同吗?
每个平台都遵循自己的惯例,但没有必要有所不同。如前所述 - 您可以根据需要使用字母、数字和下划线重命名包。
跨平台包名的做法是什么?
如果可能 - 您可以使用相同的包名称,但这会违反约定,这是不可取的。
如果不可能(例如项目无法编译)- 遵守规则。
恕我直言,遵循约定(也遵循规则)是最好的解决方案。
您可以在此处找到有关 Java package naming conventions 的更多信息(这是不同的资源)。
我在Flutter中创建了demo工程,包名:
iOS : com.example.flutterAppTest
Android : com.example.flutter_app_test
为什么它们不同?他们应该有所不同吗?
跨平台包名的做法是什么?
在 Java package naming conventions 之后 Android 包名称下划线的原因是:
Naming Conventions
Package names are written in all lower case to avoid conflict with the names of classes or interfaces.
对于iOS,很多人用camelCase
。您的 iOS 包 ID 或包名称使用了相同的大小写,但没有严格规定使用哪种大小写。这只是一个约定,不是编译器规则。
有效名称由字母(小写或大写)、数字、下划线组成,并以字母或下划线开头。
它们需要不同吗?
每个平台都遵循自己的惯例,但没有必要有所不同。如前所述 - 您可以根据需要使用字母、数字和下划线重命名包。
跨平台包名的做法是什么?
如果可能 - 您可以使用相同的包名称,但这会违反约定,这是不可取的。
如果不可能(例如项目无法编译)- 遵守规则。
恕我直言,遵循约定(也遵循规则)是最好的解决方案。
您可以在此处找到有关 Java package naming conventions 的更多信息(这是不同的资源)。