我试图开始学习 Firefox OS 上的编程,我听说它是用 JavaScript 和 HTML5 编程的,它使用相同的 Web 应用程序结构。说,我正在做一个关于网络开发的Udacity课程(我是初学者),它谈到了如何使用谷歌应用引擎(我们刚刚在网上建立了自己的网站,使用python和一些结构GAE),我试图与我在 Firefox 网站上看到的内容建立一些关系,但我什么也想不通。
4 回答
Google App Engine 是网络应用程序的“平台即服务模型”。你不需要的是关键。你不需要:
- 数据库管理员
- 网络技术员
- 备份管理员(您仍然需要备份您的应用程序和数据,但不需要备份您的网络配置文件等...)
- 贵公司的硬件
- ISP 服务水平协议
- 谷歌在其他平台即服务业务上还专门提供了更多内容。
谷歌会为您解决这个问题。您只需编写 webapp(并备份它以备不时之需)
至于 Firefox OS,正如您所写,您使用 HTML5、CSS3 和 JavaScript 构建应用程序:只有 Web 技术。这些是您为在 Firefox OS 设备甚至浏览器中运行而构建的 Web 应用程序,具体取决于您使用的 API。您构建的应用程序https://developer.mozilla.org/en-US/Apps可以托管在您自己的服务器上,或者如果您将其打包,则可以在 Firefox OS 市场https://marketplace.firefox.com/上托管.
我还想补充一点,Google App Engine 归根结底是一个 PaaS。因此,虽然从技术上讲,可以说任何 Web 应用程序都应该运行,但情况并非总是如此。
如果您使用的是 PaaS,无论是 Google App Engine 还是 Heroku、CloudFoundry 等任何其他引擎 - 您必须了解它在其支持的不同平台中提供的各种服务和 API。例如,使用 Google App Engine,您可以选择 Java、Python 或 PHP 来编写和托管您的 Web 应用程序。但是,您必须使用它的一些服务,例如 Datastore 等。
将您编写的任何 Web 应用程序迁移到 PaaS 并不总是那么简单。除了打印“Hello World”的最简单的应用程序之外,您至少有机会做以下事情:
- 迁移部分应用程序以利用平台服务/API
- 重新架构应用程序的某些部分,以最大限度地利用云,即多租户、扩展等。
您可以将 Google App Engine (GAE) 视为具有特定 Web 框架(python 或 java)的 Web 服务器托管,它可以托管任何普通的 Web 应用程序。
Firefox OS webapps 是用普通的 web 技能编写的。因此,您可以使用 GAE 来“托管”Firefox 网络应用程序。(GAE 也被称为 Mozilla 开发者网络 https://developer.mozilla.org/en-US/docs/Trash/Publishing_the_app的托管场所之一)
邪恶的细节是 Firefox webapp 需要一个额外的“manifest.webapp”文件,该文件需要额外的 MIME 主机设置
self.response.headers['Content-Type'] = 'application/x-web-app-manifest+json'
https://developer.mozilla.org/en-US/Apps/Developing/Manifest#Serving_manifests
然后你就可以在 GAE 上托管 Firefox Webapp 了:)