为什么Google Play商店中的应用具有com功能。在开始时?


19

当您从Play商店购买应用程序时,这些应用程序总是以以下格式提供(例如):

play.google.com/store/apps/details?id=com.king.candycrushsaga

我对主URL和应用程序名称都不感兴趣,因此得到:

com.king.candycrushsaga

我知道这是实际的应用程序名称,而不是应用程序抽屉或Play商店中显示的友好名称,但此com.部分总是让我感到困惑。我知道名称(com.PublisherName.AppName)的其他部分是什么,但是com.开头的目的是什么?


Answers:


32

命名约定是从Java标准派生的,可以与URL相提并论,但是相反。这里的关键是它必须是唯一的,这就是为什么它是如此具体的原因。

在您的示例中,com是与顶级域类似的主要类别,也可以是com。接下来是公司名称king,可以将其与域名进行比较,最后是公司名称,可以是candycrushsaga子域。由于名称必须唯一,因此这种命名模式很常见,但有时可以通过在子项目名称末尾添加子名称来进一步划分名称。例如King可以使用名称将游戏与他们创建的其他应用程序分开com.king.games.candycrushsaga

根据Java标准,第一个组件必须是有效的顶级域(com,net,edu,gov,特定于国家/地区),但我记得还看到过不遵守该标准的软件包名称。


3
感谢您的回答-我想我现在就知道了-如果以我的网站GeorgesApps.com为例,如果我制作了一个游戏,Ask Your Friends那就应该是com.GeorgesApps.AskYourFriends
George

是的,就是这样
onik 2014年

6
@GeorgeH,但以小写形式:com.georgesapps.askyourfriends
nhaarman 2014年

3
@Onik我认为还应该指出,使用您不拥有的URL作为包名是非常不好的做法。因此,King将启动应用程序com.king,这是它们的域名。这是软件包名称的第一部分应该是有效的Internet TLD的唯一原因。
Dan Hulme'4

2
@GeorgeH我了解。关键是,这不只是com.publishername,而且选择com也不是任意的:实际上,它应该是发布者拥有的域。我不认为onik的答案很清楚。
Dan Hulme'4
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.