问问自称黑客、道德服装公司Kotn的联合创始人本杰明•塞尔(Benjamin Sehl),你是否应该无头上阵,他会直截了当地告诉你没有.“然后,如果他们真的坚持,我会请你告诉我原因,因为大多数时候,人们对它的含义有一点误解。”
“有些人认为这是为了提高速度或提高转化率。我认为有很多迷思你必须先破除。对Kotn来说,这真的归结为可能性的界限。”
为小事操心
Kotn的电子商务网站一开始并不是无OB欧宝娱乐APP头的。它最初的在线商店是为了响欧宝体育官网入口首页应本在2014年的一个伟大想法而创建的。那是纽约一个特别炎热的夏天,他发现自己要把白天穿的廉价白t恤换成晚上外出穿的昂贵得多的白t恤。衬衫之间的区别很明显:便宜的衬衫质量较差,而昂贵的衬衫质量较高。于是本杰明开始思考怎样才OB欧宝娱乐APP能以合理的价格生产出更好、高质量的t恤。
他与当时的女友、现在的妻子麦肯齐·耶茨(Mackenzie Yeates)和他的朋友、现在的商业伙伴拉米·赫拉利(Rami Helali)分享了自己的想法,后者有时尚设计背景。赫拉利的祖父住在一个种植埃及棉花的社区。为了解决做一件更好的衬衫的问题,三个人决定去找根源。他们飞到埃及,在农场和工厂呆了一段时间,与整个供应链的人们一起工作。很明显,这条链缺乏透明度和可追溯性,造成了廉价衬衫和昂贵衬衫的二分法。
这一发现巩固了Kotn哲学的基石:为有意识的创造和消费设定标准。
纸牌屋
在加拿大,Kotn的库存有500件t恤,对做工精良的产品充满热情,于是他推出了自己的液体动力Shopify商店,店内的主题是Ben精心设计的。作为一名自学成才的开发人员,他对设计的眼光使他在21世纪初学习了CSS和HTML,这样他就可以让自己的MySpace页面看起来很酷。当Kotn推出第一个产品页面时,他已经知道jQuery很危险,已经建立了几个WordPress网站,并想从头开始。
“当我们开始做ShOB欧宝娱乐APPopify的时候,”Ben说,“有一件事让我非常兴奋,那就是liquid——不需要做wp配置文件,所有这些疯狂的PHP挂钩,以及所有这些额外的东西,就像wordpress一样——它就像一股新鲜空气。”
他很欣赏这种简洁的模板语言,以及在不破坏任何东西的情况下发布的能力,因为在Ben推出更改之前,Shopify CLI会显示错误。
作为Kotn产品供应和客户需求不断增长,本学习和黑客一路上:一个自定义的一块,使用图像上的所有标签,以匹配颜色选择器堆叠在另一个自定义的一块,堆叠在另一个。对于电子商务商家来说,管理内容变得越来越麻烦,他们聘请了新的工程师来管理日常运营。有两个不同的Shopify商店支持多种货币,但只有一个内容网站是建立在Jekyll上并使用林业CMS。在经历了一些小的代码重构,大量堆积的技术债务,以及为客户构建独特的定制交互的冲动之后,是时候以不同的方式思考未来5年或10年的构建了。
发展Kotn的技术堆栈
Ben聘请了Rares Crisan作为工程总监,白手起家。OB欧宝娱乐APP由于希望完全控制网站的设计,需要一个熟悉的开发环境,以及对服务器控制的兴趣,Ben和Rares开始设想一个构建,它也允许购物体验符合客户的心理模型。他们决定使用storefront API来构建他们的定制店面。事情很多,而且不是一下子发生的。
首先,他们使用Storefront API替换了产品页面,并解决了使用alt标签将图像颜色与颜色选择器UI匹配的问题。主题和林业内容站点保持不变。接下来,林业网站被一个名为Sanity的CMS取代,以支持内容,而主题和两个店面保持不变。然后,在将两个多货币商店合并为一个的最后阶段之前替换集合页面,重写产品页面,并一次构建购物车和结帐。
Ben说:“然后我们开始了一种完全无头的构建,我们可以松散地结合在一起,在我们前进的过程中有一些自由,但在任何一个领域都不会太深。”“这是渐进式的。我认为它实际上降低了很多风险,让我们能够更快地发布产品,更快地获得见解。”
随着更多的控制权在他们的指尖上,应用管理的重点和创造解决方法从老黑客转移到内部构建和依赖API feed。在无头化之前,要真正增强网站的用户体验,需要安装多个自定义应用程序来促进所有不同的用例。但是作为一个无头的构建,他们甚至可以定制和控制网站体验的最小方面。例如,包括一个与页面外观和感觉相匹配的产品评论模块,同时仍然执行,就像连接api并控制它一样简单。
强大的社区,强大的工具
Kotn决定去无头化的另一个重要方面是使用React的机会。现在,内部开发人员可以构建可重用的组件,这些组件不仅面向消费者,而且可以扩展到内部应用程序的其余部分。根据Rares的说法,使用和支持React的强大开发者社区在采用该技术的决定中发挥了作用。
Rares表示:“当你选择一项技术,并且拥有一个需要非常灵活地移动的小团队时,你需要查看正在使用该特定技术的项目的人数。”“这个社区可以帮助你加快解决方案的速度,因为有很多示例应用程序。有些人已经构建了一些你正在尝试构建的东西,以一种可能不适合你的方式,但你可以查看代码并扩展它以适合你。这就是我们选择React的原因。我们将这种想法扩展到我们希望使用的所有其他类型的技术上。”
Rares带领团队在他们的技术栈中添加了一些工具,这些工具已经得到了开发者社区的支持。他们选择了Redis,这是一个很容易理解的工具,可以与键值存储一起工作,用于缓存。他们使用Docker来创建和部署不可变映像,使用Kubernetes来支持他们在站点流量过高时对多个站点的潜在需求。Rares认为,完善的社区是优秀工具和优秀构建的组成部分。
他说:“这些工具都是非常成熟的,有非常广泛的领域,你可以与开发人员交谈,找到现有的东西,并在它们的基础上进行构建。”
而且你有这种可靠性——社区和可靠性在构建可扩展、一致和可靠的应用程序方面有很长的路要走。”
围绕Shopify的Storefront API的社区和它的强大文档是Rares决定将其用于Kotn的无头构建的核心。技术栈中的另一个工具,与Storefront API一起工作,大大加快了开发速度,这要感谢Rares和他的工程师可以利用的强大文档,如代码示例和编写实际端点的示例。开发人员和Shopify工程师的社区论坛使提问、获得帮助和找到挑战的解决方案变得容易,而不必在线搜索或查看Stack Overflow。
我曾使用过来自不同类型供应商或第三方应用程序的许多api, Shopify的api可能是迄今为止我使用过的最好的api之一。”
“使用api的最大挑战是在遇到困难时找到所需的信息。有时候文档只会让你完成四分之三的工作,然后你就会被困在最后的四分之一上。你试图找到一些论坛或一些晦涩的文章,有人写了关于它。当你使用Shopify API时,这不是你必须做的事情,因为它写得很好,记录也很好。”
对于Ben来说,Storefront API的强大之处不仅在于社区对它的支持,还在于它促进内部操作的能力。他说:“我们已经使用Shopify API来做商业智能之类的事情,以及构建内部工具。”“这是一个有趣的例子,说明你可以使用Storefront API为客户创造各种体验,但你还可以为与你的web界面交互的其他角色做很多事情,他们可能不是你的最终消费者,但仍然可以为内部事物提供很多生产力提升。内部工具是我的特别爱好。”
美好的,艰难的,充满挑战的
和所有的旅程一样,改变路线需要勇气。决定为Kotn构建一个无头架构加快了团队的发布能力。这让Ben和Rares创造了一个理想的环境,让他们的工程师能够茁壮成长。开发人员可以使用熟悉的工具和模式,在他们习惯的媒介中编写代码。但它并非没有挑战。采用无头框架意味着失去Shopify平台的一些内在优势。
“在Shopify上,有些事情你不必考虑,比如你加载产品的速度有多快,你的分页是如何工作的,你的收藏是如何组织的,”Rares说。
加载内容并呈现给用户有一个非常重要的速度元素。当你在Shopify上时,你不会考虑这些,因为这些都是为你处理的。当你无头时,你会忘记这是怎么回事。”
设计一个加载时间的解决方案是团队面临的一个直接挑战,因为站点性能开始对用户体验产生负面影响。OB欧宝娱乐APP当产品页面加载速度不够快时,客户就会跳出来。该团队构建了一个缓存架构,这样他们就可以更快地预先加载产品,而无需每次用户导航到产品时都积极地ping Storefront API。解决方案的另一部分是建立一个集中的商店,用户可以从这个商店下载产品,这个商店与Shopify接口,以保持性能。Rares战略性地将团队重点放在解决性能和扩展问题上,以确保客户能够以一种有意义的方式访问他们想要的产品,这些产品实际上存在于库存中——相信Kotn所坐的基础设施将会处理其他问题。
Ben对无头游戏的想法与Rares的想法相呼应,Rares意识到要重做基础,以确保基础是坚实的。Ben说:“在进行转换之前,我希望知道有多少前期工作要做,特别是关于查询的所有事情。”“有一件事最初让我对Liquid非常兴奋,我不知道我当时是否完全欣赏它,那就是所有的查询数据都可以像Liquid中的对象一样使用。所以你可以说product。然后看看你的标题以及之后的一些过滤器。为我们所有的查询铺设所有的基础设施需要重新做很多基础的工作。我们花了大约500个小时来设置查询和模式,然后才真正能够提高效率并加快速度。”
地平线上有什么
随着基础设施的建立,团队现在完全专注于制作一款独特的,差异化的电子商务经验这有助于人们找到他们想要的东西,并发现新事物。他们并没有试图重塑网络,改变人们使用服务器的方式,或者编写新的方式来编码网站。采用新的创新,无论是新的框架、语言还是托管应用程序的方式,都意味着Rares要考虑的问题少了一个。
“你可以花一整天的时间试图解决每一个问题,因为没有短缺,”Rares说。“这里或那里总是有一些小事情。但是你真的只想为你想解决的问题写代码。您不希望为所有事情编写代码,否则您做得太多了。但我们希望成为一家专注于优秀在线体验的公司。我们只关注这个问题。因此,你为其他问题写的代码越少,你为你想要解决的问题写的代码就越有效。”
Ben对此表示赞同:“Shopify满足了我们80%的需求,我认为这在所有商家中都很普遍。接下来的20%是我们真正花时间的地方。我们试图做的是让Shopify处理他们做得很好的东西,我们可以专注于让我们与众不同的东西。这就是我们关于无头化的想法。”
如果说专注就是一切,而时间又有限,那么Ben和Rares都对Kotn的下一个目标很有想法。他们的无头的架构让他们有了更大的想法,有了坚实的基础设施,他们可以在上面发展。本表示,他对电子商务的未来感到兴奋:“未来五年将会有很多令人兴奋的事情出现——移动应用、语音、增强现实、虚拟现实——我想做好准备,这样我们才能真正占据优势。”
无论未来如何,Kotn将比以往任何时候都处于更好的位置。它的新架构和新思维可以处理任何事情。Rares说道:“世界,尤其是现在的开发者社区,是如此的广泛和庞大,以至于过去快速行动,打破常规并走在前面是非常重要的。
“但现在我认为更重要的是要深思熟虑,思考你为什么要做这些东西,你为谁做这些东西,以确保你打下了正确的基础。”这样,你就可以以稳定可靠的速度为用户提供服务。”