Hampton Catlin 是 Sass、Haml、Wikipedia Mobile、Tritium 和 Moovweb 的创建者。他也是《Pragmatic Guide to Sass》的作者,并且是 libsass 项目的创始人。
他以轻松、幽默、自嘲的风格而闻名——混合了非常强烈的观点、粗俗的语言以及对构建打破传统(并成功)的技术的热衷。
在即将到来的 All Things Open 会议之前,我有机会与 Hampton 进行了交谈,他将在会上发表演讲。请阅读本次访谈以了解更多信息。
请介绍一下您的背景。
我可能最出名的是作为 Sass 的发明者,Sass 是一种用于创建强大 CSS 的语言。我也是 Haml 标记语言的创建者,并花了几年时间构建和扩展 m.wikipedia.org (维基百科移动版)。今天,我是 Moovweb 的首席技术官,扩展我们的响应式交付平台,并帮助公司从 7 人发展到 100 多人。您也可以在 Twitter 上关注我。
从您在维基百科移动版上的工作来看,我们是否应该怀疑桌面时代的即将结束?
你知道,我经常被问到这个问题。就我个人而言,我不认为桌面电脑、笔记本电脑、平板电脑和移动设备之间的关系有什么对抗性。它们都在推动我们更加互联互通,而且共同的创新远多于不同之处。
至于“桌面时代”是唯一的平台,那在史蒂夫·乔布斯走上舞台并推出 iPhone 的那一刻就结束了。但是,桌面机器绝不是过时的。我在 Moovweb 的工作,以及普遍倡导响应式交付,都是为了以务实有效的方式统一 Web 资源。当然,我过去五年的职业生涯一直在应对移动设备带来的新挑战,并将这些经验教训也带到桌面端!
维基百科移动版是否为更大的维基百科人社区收集数据和丰富数据打开了大门?
例如,维基百科爱古迹 活动现在将变得轻而易举,因为我们可以直接用手机摄像头拍摄图像,并使用维基百科移动界面上传它们。
你知道,我真的很讨厌我在维基媒体基金会工作期间从未有机会参与像这样的项目。当我刚到那里时,Brion Vibber 是首席技术官,他真正看到了移动浪潮的到来,并安排我帮助为维基百科创建一个很棒的移动应用程序。
然而,我首先想推出移动 Web 版本。我认为如果我从 Web 开始,然后再转向原生应用程序,我可以更快地覆盖更多语言的更多设备。我在那里的三年里,花了大量时间试图扩展服务器和语言,仅仅专注于阅读,以至于我从没时间真正使产品具有互动性。幸运的是,Tomasz Finc 现在是基金会的 移动主管,他真的带来了这些很棒的互动式和附加的移动功能。他们正在做一些非常令人印象深刻的工作。
分享您与维基百科人合作的经验。
维基百科人是一些最努力工作、最理想主义、诚实、友好和充满热情的人,您可能会与之合作。我需要的任何东西,志愿者都会很乐意帮忙!
唯一的缺点是在基金会工作意味着您处于某种程度的显微镜下。我必须学会非常小心我的言论,以确保没有歧义或可能的误解。我从几次经历中吸取了教训!但是,维基百科人的巨大力量和热情使这种小小的让步非常值得。知道在从事这样的项目时,有成千上万的人在背后支持您,这真是太好了。
Sass 使我们能够创建比 CSS 更简洁的文件。是否可以说 Sass 之于 CSS 就像 C++ 之于 C?
哈!我宁愿把它看作是 Ruby 或 Python 之于 C,但任何这样的比喻都让我脸红。Sass 最初是 Haml 的一个激情项目。我当时与一位非常有才华的设计师和 CSS 开发人员——Anthony Watts——合作,我看到他为了用 CSS 做正确的事情而多么努力。也就是说,遵循最佳实践并制作出色的语义标记;他真的必须做很多繁琐的工作。然后我劝说 Nathan Weizenbaum 在 2007 年的 RailsConf 上为它构建了解释器,他在过去六年里一直致力于这个项目。它已经发展成比我预期的要疯狂得多的东西。我以为它会是一个晦涩难懂的工具,只有我和我的团队会使用,永远不会受到关注。我非常非常错误。
什么是响应式交付?
许多公司都在尝试仅使用媒体查询来构建纯响应式 Web 设计网站,我看到其中许多公司都在苦苦挣扎。对于新的小型项目来说效果很好的技术,对于大型现有 Web 资产来说并不相同。仅靠 CSS,很难在所有设备上交付完全相同的 HTML 和设计引人入胜的体验。
响应式交付是一种将响应式 Web 设计技术与服务器端组件相结合的方法,使前端工程师能够独立于后端团队彻底更改、设计、自定义和扩展体验。在 Moovweb,我构建了一个框架和平台,使大型团队可以非常轻松地为所有不同类型的设备构建出色的 Web 体验,并将现有 Web 堆栈升级到使用最新的前端技术,而无需完全重写所有业务逻辑。
对于对进入移动领域感到兴奋的开发人员,您会建议他们走 Web 道路吗?
当然。我认为今天 Web 比以往任何时候都更加重要。它是将一切联系在一起的粘合剂。当然,原生应用程序很棒,它们一直都很有趣。但是,Web 在我的职业生涯中确实已经成熟。现在您可以在浏览器中构建大多数应用程序,这在过去是完全不可想象的。
分享一些您从围绕开源构建 Moovweb 业务中学到的经验教训?
我们如何帮助更多的开源开发人员以企业家的角度思考?
是的,Moovweb 是使用 100% 开源应用程序构建的,我们赞助了很多开源项目。这只是我们运营业务方式的一部分。
该平台的想法来自于我在维基媒体的工作。我编写了数千行代码来构建移动站点,并且有大量的代码重复。我知道像维基媒体基金会这样拥有优秀工程文化的组织在支持多种设备方面遇到困难,我挑战自己如何构建一个平台,直接解决我假设其他企业正在遇到的那些问题。事实证明,我非常非常正确。
您在 Haml 上的工作倡导了编码中美观和优雅的重要性。编程中是否存在客观的优雅?
正如我在 Haml 中学到的那样,美在于情人眼里。人们以如此多种不同的方式解释 Haml,并且这些解释通常取决于人们认为我构建它时的意图是什么。
这非常有趣。
人们对他们认为 Haml 旨在最大化的目标差异很大。至于客观的优雅,这是不可能的。我的理念始终是强烈挑战似乎是普遍存在的现有假设,并构建一些您可以引以为豪的东西。 我构建的每一件东西都惹恼了一些人,我对此感到非常自豪。即使是 Moovweb,尽管它拥有大型机构客户,但在很多方面也持非常逆反的观点。而且,在我看来,唯一能够非常正确的方法就是愿意非常错误。
Web 框架是否太多了?
(我们几乎跟不上)。
哈!哦,天哪,框架太多了?语言呢!
我无法停止创造语言!我最新的语言是 Tritium,一种类似于 Javascript 的语言,它取代了 XSLT,因为我讨厌 XSLT 的工作方式,但喜欢它试图做的事情。如果 XSLT 不是那么糟糕,我认为 Web 的发展会大不相同。
所以,我不禁创造了一种新语言。应该有人阻止我!但是,是的,有很多 Web 框架,因为有很多固执己见的人。技术进步的唯一方法是人们制造大量的东西,其中一些最终会变得非常出色。这就是我们继续前进的方式。所以,我说,如果你有一个逆反的想法,那就去做吧!
在不过多透露的情况下,告诉我们我们可以从您在 All Things Open 会议上的演讲中期待什么。
我将要谈论如何构建正确的东西。我将谈论我对产品设计、软件的一些想法,以及如何知道您是否在正确的轨道上进行一个想法或项目。这是一个非常有趣的演讲,我对此感到兴奋。
评论已关闭。