开发者

Is it easier to register a custom protocol or a MIME-association across OSes?

开发者 https://www.devze.com 2023-02-19 15:27 出处:网络
From a web browser (Win/Mac) I need to launch a desktop application and pass it a response string (e.g. XML) from the webserver. For Windows, as far as I can tell I have two straightforward options:

From a web browser (Win/Mac) I need to launch a desktop application and pass it a response string (e.g. XML) from the webserver. For Windows, as far as I can tell I have two straightforward options:

  1. Set the application as a default program, and respond in a standard way so the browser associates the response with that extension/Content-type. The browser validates the association, stores the response to a temp file and the app opens it.

  2. Register a protocol, which causes the browser to launch the app, passing the URL to it. In this case apparently 开发者_Python百科the string needs to be something like Base64-encoded (yet shorter than the browser's URL length limit). Otherwise I'd store the file on the webserver and the URL would be given to the app to request itself. This seems to be less than ideal, but iTunes uses it (itms://).

Which is generally easier to register by app installers across platforms? What I don't know at the moment is the particular installer framework being used by this app.


I have NO development experience with this but I think it's all about what you are developing and the business model.

Option 1 Would be useful when you create some sort of custom meta data file which can be viewed nicely in an application. Company X has their own XML Schema's. Customers can download their data in that format. Company servers serve these files with their registered/custom content-type. Customer can install an application that handles that content-type. Application development is focused on supporting the XML Schema's and build an interface upon it.

Option 2 Would be useful when you distribute content online. Apple turned their iTunes business model into a protocol. So every channel (web,browser extensions,mobile apps,desktop,mobile sites,company devices,etc) they want market share can use that protocol. Application development is focused on supporting the protocol (business model) and build an interface upon it most fit for the channel.

0

精彩评论

暂无评论...
验证码 换一张
取 消