Hacks 博客读者可能还记得 Marco Castelluccio。早在 3 月份,我们在 Marco 的一次访谈 中,报道了他凭借 eLibri 和 FileSystemDB 在 IndexedDB Dev Derby 中获得第一名和第二名。
从那时起,Marco 通过一个 Google Summer of Code 项目,为 Ubuntu 上的 Firefox 构建 Web 运行时支持,从而增加了对 Mozilla 和开放 Web 的贡献。Mozilla 的开放 Web 应用栈现已适用于 Linux 用户。访问 Firefox Nightly 频道 下载 Firefox 16,然后您可以在 Ubuntu 上的浏览器中 运行、安装和单独管理 Web 应用。
我们很高兴了解到他的项目,并决定再次进行核实。以下是 Marco 本人的话。
Marco,很高兴再次联系到你。请简单介绍一下自己:你住在哪里,你在做什么,你对什么充满热情?
我住在那不勒斯,在费德里科二世大学学习计算机科学工程。我对计算机科学充满热情——我喜欢尝试新的解决方案和技术,并且我喜欢开发对人们有用的东西。这就是我决定开始为 Mozilla 项目做贡献的原因。
我其他的兴趣爱好是阅读和电影。我喜欢经典作品(“经典作品是一本书,它永远不会停止阐述它想要表达的内容”)和科幻小说。
你可以在上面的照片中看到我的另一个爱好。
你是如何参与到为 Mozilla 做贡献中的?你是如何开始参与 Dev Derby 的?
我开始做贡献,特别是因为我相信 Mozilla 是少数几个能够为 Web 上的用户自由而奋斗的基金会之一。当然,也是为了满足我的黑客渴望。我从去年开始做贡献,但只是做一些简单的修复等等。最近几个月,我开始更加认真地参与。
我认为 Dev Derbies 是学习新 Web API 的一个绝佳机会,所以我一开始只是为了学习目的。遗憾的是,我错过了最近的三四次比赛,但我将来会重新开始参加。
是什么激励你致力于将 Mozilla Web 应用栈引入 Ubuntu?
开放 Web 应用项目对于许多方面(对开发者和用户而言)都非常重要。特别是,它为 Linux(一个有时被开发者忽视的平台)带来了额外的价值。借助开放 Web 应用,应用程序天生就是跨平台的。
我认为,将来,操作系统的意义会逐渐降低。应用程序运行的环境不再是操作系统,而是浏览器。这就是为什么像这样的项目对于 Mozilla 的使命非常重要的原因。
跟我们讲讲你开发过程中使用的开发工具和工作环境吧?
我使用 Linux,因为它提供了真正有用、易于安装且最重要的是功能强大的开发工具。我使用 GCC 编译器、GDB 进行调试(使用 GDB 可以做很多很棒的事情),并且我使用虚拟机在不同的发行版和桌面环境中测试我的工作。顺便说一句,Linux 上的编译性能非常出色,在编译过程中节省时间可以让你有更多时间进行有效的开发。
我听说你正在将此作为 Google Summer of Code 项目进行,是这样吗?你能告诉我们更多关于这个项目是如何开始的吗?
是的,最初我提出了两个项目:这个项目和一个电子书阅读器应用程序的开发。我认为,GSoC 是开源项目吸引新贡献者的一大机会。(尽管有些人只是为了钱,但很多人都是怀着热情工作。例如,我甚至还没有激活 Google 信用卡……)
你已经在这个项目上工作多久了?这个项目的下一步计划是什么?
GSoC 的开发工作于 5 月 21 日正式开始。但我此前已经开始了一些工作,即使我认为自己无法在 Firefox 15 发布之前完成部分工作。然而,该项目显然尚未完成。我们需要在多个发行版和桌面环境上进行大量测试,因为 Linux 最大的优点也是其最大的缺点:无限的个性化可能性。标准很少,而且并不总是被严格遵守。因此,您可能会遇到很多问题。
除了测试之外,下一步是实现应用程序的卸载功能(目前是手动的)。卸载可以通过桌面操作和 Firefox 特定页面进行。
我认为我们还会尝试改进与应用程序的系统集成。也许我们可以通过为最常用的发行版开发插件来解决这个问题(代码过于特定于发行版,无法包含在 Firefox 中)。例如,我们可以将 Web 应用卸载功能集成到 Ubuntu 软件中心中。实际上,我的想法是开发一个骨架插件,发行版可以简单地修改它。
另一个亮点是,我开发的实现,无意中也适用于其他 Unix 平台。
你是如何与开放 Web 应用开发团队合作来提交你的代码的?你有什么想分享的经验吗?
我与我的导师 Felipe Gomes 紧密合作。当遇到问题或需要知道谁是解决特定问题的合适人选时,我经常联系他。他经常主动联系我,确保我没有遇到任何问题(总之,他非常友善)。但是,一旦你认识了团队中的其他开发人员,你就可以更快地工作。所以,如果你开始做贡献,不要害怕提出问题。
你完成学业后的计划是什么?
我还没有具体的计划,但我真的很想为 Mozilla 工作或从事研究工作。我认为明年(我大学三年级)我会申请 Mozilla 的实习。无论如何,我一定会继续为 Mozilla 做志愿者工作。我也很想开发一些移动应用程序(显然是使用 Web 技术),看看它们是否能够取得成功。
你有没有想过开发 HTML 5 应用?(你已经在开发应用了吗?)
我有很多想法。Mozilla 的新 Web API 使开发具有与原生应用相同功能的 Web 应用成为可能。
我还没有开始,但我希望开发一个点对点即时通讯应用程序(我正在等待 WebRTC,因为我想尝试一下)。我有一个电子书阅读器应用程序的想法(这是 GSoC 的另一个机会),我希望它可以集成到 B2G 中。(如果我没记错的话,B2G 手机需要这样的东西)。我还有其他一些简单的应用程序想法。
由于我也对 Web 游戏很感兴趣,所以我认为我会开发一个框架来简化和加速 2D 游戏的开发。
你最喜欢的应用或游戏有哪些?
我非常喜欢电子游戏,我对 BananaBread 或其他可以通过 Emscripten 移植到 JavaScript 的游戏的概念感到非常兴奋。我也非常喜欢 Gladius 引擎。它有点像我想到的 2D 游戏框架。
关于应用程序,我对 pdf.js 印象深刻。我认为它是 JavaScript 应用程序的最佳示例之一。而且,正如我解释的那样,我将使用它(以及我将为其他格式开发的其他库)来开发一个电子书阅读器应用程序。