网络服务的目的是什么?
允许使用网络技术轻松使用服务?我的意思是,你可以潜在地编写你的应用程序来完成浏览器所做的事情(这就是过去已经完成了多少个 stackoverflow 应用程序)
问题是:
这比使用 API 困难得多
由于没有 API,网站中的更改确实会使您的应用程序崩溃(而负责任的 API 将允许您使用旧版本)
我的意思是不是所有的 Web 应用程序都是 Web 服务吗?
一点也不。 Web 应用程序是设计用于 Web 浏览器(Firefox、Chrome 等)的特定应用程序,而 Web 服务旨在供其他应用程序使用。
您几乎可以使用任何编程语言使用 Web 服务。
还有人为什么要创建 API Web 服务?是让开发者使用网站的功能吗?有点像 facebook 和 youtube?
不是网站功能,而是允许他们创建使用该网站某些功能的自己的应用程序。
例如,YouTube 允许您使用其 API 上传视频,否则您将不得不“模拟”可能有问题的 HTTP 帖子。
这样,一些工具提供了直接从应用“上传”视频的功能。
是否可以为 Web 服务制作 API,您可以使用 C++ 或 VB 来使用这些功能?
这就是其他编程语言的重点。
因此,有人可以根据您的 Web 应用程序的 API 制作桌面应用程序吗?
没错!!!
这是我用于 Twitter (tweetie http://www.atebits.com/tweetie-mac/) 的 Object-C 应用程序示例
(来源:cachefly.net)
如何创建网络服务 API 和网络服务?*
这与为内部框架/产品/库创建 API 没有太大区别。
你必须定义你要提供什么(你的公共界面,你的服务)
创建输入/输出参数和交换格式列表(XML、json、text/plain、YAML 等)
最后在 web 中提供和端点(或者为什么不是 Intranet)
Web 服务可能比常规 API 更难控制,您必须检查安全问题、工作负载等。
要查看有效的 API,请参阅 Nathan here 提到的 API