编者注:Appeio 现已下架,Harold 目前专注于他的 咨询业务.
上个月,我们在 Firefox for Android 的 Aurora 通道上发布了 Firefox Marketplace。这次发布为开发者提供了机会,让他们开始建立早期用户的基础,并随着 Marketplace 的发展获得对应用程序的反馈。
Harold Fudge 是一位加拿大的网页开发者,他很高兴能参与到 Android 版 Firefox Marketplace 的第一波应用程序开发中。他的设备响应式跨平台 app.net 客户端 Appeio 是 Firefox Marketplace 中首个此类应用程序。我们有兴趣与 Harold 交谈,了解更多关于他构建开放式网页应用程序的方法。以下是我们的邮件对话:
HAROLD: 我一直对技术很感兴趣。我被计算机吸引,部分原因是纯粹的创造乐趣,也因为它们对个人和群体之间交流的影响。我在 1980 年代在一个岛屿中心的偏远小镇长大,出于兴趣,我为自己创建了一些简单的应用程序。当我高中毕业后不久,互联网突然成为大众的工具。我清楚地认识到,互联网拥有计算机的所有功能,但规模无限扩大。我决心成为其中的一部分。我开始学习 HTML,以及成为一名网页开发者意味着什么。您可以在 hxf148.com 上查看我构建和正在进行的一些项目。
Q:是什么促使您为 Marketplace 开发 Appeio,一款 app.net 客户端?
8 月中旬,App.net 获得了初始资金,出于对技术的兴趣,我立即注册了。我不怯于尝试不同的东西,或支持一个刚起步的想法,但与我研究的普通项目不同,App.net 作为 API 服务 对我有着直接的吸引力。我非常喜欢在线构建东西,而 App.net 提供了一种开放且成本低廉的方式来构建应用程序,它拥有强大的通信后端和积极的早期采用者群体。这个核心概念吸引了我,我很快决定,如果可能的话,我只想通过自己的代码与 ADN(App Dot Net)进行交互,以此迫使自己学习其方法和潜力。
我研究了各种选择,虽然我曾涉足 iOS 和 Android 编程,但我认为自己无法在已经竞争激烈的构建 app.net 客户端的比赛中快速胜出。然后,我转向了自己的优势。我决定挑战自己,构建一个功能齐全的 HTML5 应用程序,这将扩展和提升我自己的技能和知识,同时为所有拥有网页浏览器的设备提供可靠的客户端。
我一直关注着 Marketplace 项目,它似乎很适合 Appeio。虽然出现在其他应用商店可能会导致混淆,但 Marketplace 及其对 HTML5 和其他基于浏览器的技术的关注是我想要支持和参与的一部分。从我开始学习 HTML 的早期开始,我就觉得未来属于那些能够在任何底层硬件、软件或特定公司政策下运行应用程序的技术。
Q:您在移动应用程序开发方面做了很多工作,您认为 HTML5 开发面临的最大挑战是什么?
仅仅说您在使用 HTML5 进行开发,这是一个有点问题的说法。它实际上意味着的是一组杂乱无章的工具和技术。当您坐下来开发一个应用程序时,特别是对于 iOS,您会得到一块画布,以及一些预定义的控件、方法和样式。您可以忽略所有这些,但如果您刚起步,它会为您提供一个强大的桥梁,将您的想法发展成人们想要使用的实际应用程序。
创建一个针对所有设备上所有输入方法的浏览器的应用程序,这是一个有趣的挑战。CSS、HTML 和 JavaScript 在提供出色的用户体验方面拥有强大的能力,但它们隐藏在学习曲线背后,充满了陷阱和技术干扰。因此,对我来说,构建网页应用程序的最大挑战往往不是展示想法是否好,而是决定如何开发它。
从头开始通常不是像我这样的小型网页开发商店的选择,因此我们转向工具包、IDE 和框架来构建应用程序。如果选择不慎,想法/应用程序/项目很容易被自身基础的重量拖垮。至关重要的是,要决定哪些外部依赖项将有助于实现您的应用程序。有些工具有助于构建软件,但最终会导致不可持续的局面。
我在面对这一挑战时的目标是遵循 KISS 原则。我尽量选择知名度高、支持良好的工具,这些工具构建良好,并且没有过度设计/工程。这些工具可能因项目而异,但我目前使用的组合包括前端的 Bootstrap、JQuery 和 CSS3,以及后端所需的 PHP/mySQL,这些组合符合我为尽可能多的设备快速构建良好且轻量级应用程序的个人目标。
Q:您对那些精通 HTML5、JavaScript 和 CSS3 但不熟悉移动开发领域的网页开发者的建议是什么?
构建所有内容以适应屏幕大小,移动端会自动成为您技术支持的一部分。我们从四面八方听到,移动端是未来,但当一切都是移动端时,并不意味着一切都很小。目前已经很明显,我们正走向一个世界,在这个世界里,所有大小的连接移动屏幕无处不在,从可穿戴设备到台式便携设备。而您基于网页的属性应该在所有这些设备上正常运行。
这不仅仅是考虑按钮大小、手指友好型导航以及实际演示如何重新流向不同的屏幕尺寸。移动设备的内存和处理能力较低,通常在台式机上运行良好的网页应用程序对于移动浏览器来说太大了。这需要一些计划和大量的测试。几乎所有应用程序都可以在运行良好的用户体验下在所有设备上运行,这需要找到一个平衡点。
不要将移动端视为一个需要单独剥离版本的特殊案例,每个人都不喜欢这样,而且这样做是徒劳的。从一开始就将移动端作为您应用程序的基本组成部分,许多在大型屏幕上优先考虑的应用程序中发现的问题会开始消失。构建一个完全响应屏幕的 HTML5 应用程序并不容易,但它更好。
Q:您对 HTML5 应用程序开发感到兴奋的原因是什么?您认为像您这样的独立开发者有哪些机会?
HTML5 和网页开发真正令人兴奋的地方在于它还没有完成。
它可能永远不会完成,但它保持开放,并不断发展,与专有的原生应用程序系统保持合理的同步。苹果、谷歌、微软、RIM 和其他公司的技术可能会并且将拥有良好的长期运行,但在某些时候,这些公司需要做出下一步,而下一步并不总是与他们之前的步骤兼容。随着设备变得越来越便宜、越来越普及,随着操作系统继续变得更加多样化和透明,他们将拥有的一个不变因素是网页。
关于一个构建良好的应用程序能够良好地运行到下一个版本的想法,存在着一种基本吸引力。事物会发生变化,补丁会发布,但网页规范的原则应该意味着,只要您愿意,您的应用程序就可以加载并运行,而不会出现太多问题。
没有人真正能说出 10 年或 20 年后计算机将是什么样子,但它们很可能会有一个浏览器来查看我们现在正在构建的所有应用程序和网站。许多早期网站在发布近 20 年后仍然存在。我相信这种情况还会再次发生。
许多五年前发布的设备现在无法运行其操作系统的最新版本,更不用说其最新版本的应用程序了。相反,大多数在同一时期构建的网页应用程序可以继续运行,或者只需要进行很小的调整。如果网页应用程序需要修复,只需进行修复即可,无需用户更新,也无需等待批准。对我来说,不受这些限制,无论短期收益如何,都更加有趣和令人兴奋。
最后一点让我感到兴奋的是,未来两到四年将是网页开发的重要发展阶段,因为规范将最终确定,而网页应用程序在 WebGL、存储和其他硬件交互方面的能力将飞速发展。
Q:目前,您是否计划将您其他任何移动应用程序移植到 Firefox Marketplace?
今年我大部分时间都花在了重新规划职业方向和重新学习网络开发技能上。回顾我的工作和未来的计划,Marketplace 是其中重要的一部分。我认为在这个领域有许多令人兴奋和有趣的挑战,而 Marketplace 将对吸引更多用户至关重要。在 Mozilla 的支持下,提供高质量的 HTML5 应用给一批精通技术的用户,这是一件很棒的事情。
问:您如何使您的应用能够离线正常工作?
到目前为止,我几乎只专注于联网应用。不过我一直关注客户端存储方面的进展,并预计它很快就会成为我工作中的重要方面。例如,在 Appeio 中,使用客户端存储来存储和存档帖子将非常棒,这样可以提高 UI 速度并减少 API 调用次数。
问:您对 Firefox OS 或 Android Web Runtime 上的开发者体验有什么反馈想与我们的 Apps & Marketplace 团队分享吗?
我非常喜欢你们在这里所做的事情。这对开发者和用户来说意义重大,因为他们可以从这些应用的访问和整理中获益。
作为一个小型开发者,对我来说,拥有这样的平台非常重要。让它快速、稳定,应用将赋予它生命并使其充满乐趣。
问:您是否试用过 Firefox OS 模拟器?
我已经试用过它,并且定期在我的应用中进行测试。它为我们提供了一个未来设备和操作系统如何呈现给用户的洞察,非常有趣。我感谢这个工具,并将其视为一个更开放、更互联的网络的未来。
6 条评论