什么是 Shopify 的技术栈
已发表: 2023-06-08介绍
Shopify 这个名字为来自 175 多个国家/地区的 200 万电子商务企业家所熟知。 从事电子商务业务的任何人都听说过这个基于订阅的平台和店面构建器。
Shopify 的巨大人气归功于其令人惊叹的 UI 与现代技术栈的结合。 它提供了一套完整的工具和编码语言来从头开始构建、支持、定制和扩展在线业务。
它的存储库包括店面模板、支付网关、销售点软件、购物车、营销工具、购买按钮,应有尽有。 本文讨论了 Shopify 的技术堆栈,包括可用的工具、相应的编码语言支持和新的开发。
技术堆栈的含义
技术堆栈,又名技术堆栈,是构建 SaaS 产品所需的工具、应用程序、软件和编码语言的组合。 换句话说,技术堆栈是创建、运行、管理和扩展 Web 应用程序和业务生态系统所需的基础设施。
技术堆栈决定了构建的新应用程序的类型、完成的定制级别以及平台的高效运行。 它涉及由两个主要部分组成的技术:前端和后端。 典型的技术栈包括网络浏览器、编程语言、框架、数据库、网络服务器和操作系统。
Shopify 技术栈的基础知识
Shopify 是一个方便、易于使用且可扩展的平台,适用于技术娴熟的企业家和新手企业家。 由于其全面而灵活的软件开发工具包 (SDK),其店面构建器需要最少的编码。
菜鸟技术人员可以尝试任何网站主题、可自定义的网站模板、拖放式设计工具和简单的编码语言。 但是,Web 和应用程序开发人员可以完全依赖 Shopify 的无头 API、托管服务和基于 React 的软件框架的可组合堆栈来构建新应用程序并自定义他们的 Shopify 商店。
目前,Shopify 在其 App Store 中拥有大约 50 个原生应用程序和 4000 多个第三方应用程序。 其平均 API 响应时间小于 100 毫秒。 它可以毫不费力地在一分钟内为每家商店处理 40,000 次结账。 同时,它有几个免费的内置工具和小部件,如QR 代码生成器和利润率计算器,可轻松设置业务。
由于 Shopify 广泛的技术堆栈,所有这些都是可能的。 以下是 Shopify 的技术堆栈历史和最新添加的汇编:
构建 Shopify 及其应用程序的技术
Shopify 令人印象深刻的数据延迟记录是其在 Ruby on Rails 框架中坚实基础的结果。 Shopify 的创始人 Tobi Lutke 使用第一版 Ruby on Rails 构建了该平台,使 Shopify 成为现存最古老的 Rails 应用程序之一。
Shopify 核心应用程序是一个 Rails 单体,它的大多数特定领域的应用程序都是在这个全栈框架中编写的。 几个示例包括: Shopify Shipping 、Identity 及其 App Store。 除了保留其 Ruby on Rails 遗留代码外,Shopify 还欢迎其他框架,例如 JavaScript 和 Node.js 作为其最新添加的框架。
用于 Shopify 数据库的技术
Shopify 的数据库历史经历了比其代码库更多的变化。 它以 MySQL 作为关系数据库开始了它的旅程。 然而,在 2014 年,将所有庞大的数据存储在 MySQL 中变得越来越困难。 因此,它开始将其数据分割成更小的部分并将其存储在多个数据库中。 这个阶段称为分片。
对于分片,Shopify 使用了 Memcached(用于存储内存缓存)和 Redis(用于存储键值和问题)等数据库。 尽管这个解决方案似乎可以解决问题,但它仍然造成了大规模的系统中断。
这就是为什么目前,Shopify 使用 pod 来创建具有自己的数据存储的 Shopify 程序的实例。 这有助于解决他们的停电问题。 Shopify 的数据库技术堆栈使用 Kubernetes、Docker、Google Kubernetes Engine 的编译。 Nginx、Lua 和 OpenResty 用于负载均衡器。
构成 Shopify 后台的技术
在客户端管理堆栈方面,Shopify 的技术堆栈产品功能多样,为其商家和开发人员增加了便利层。 它从前端应用程序的 HTML 和 jQuery 模板开始,例如创建登录页面和产品列表页面。
有一段时间它过渡到 Batman.js 和单页应用程序框架。 目前,Shopify 已经回到基本的 HTML 和 JavaScript。 除此之外,它还结合了 JavaScript 框架的最新变体,如 React 和 Typescript。
Shopify 技术堆栈中的架构分解
1)前端
Shopify 有一个直观的前端技术堆栈,使前端开发人员能够创建自定义店面。 在一系列最新发展中,Shopify 正在通过从后端划分前端来促进无头商务。 这主要是通过 Hydrogen 完成的,Hydrogen 是其用于无头商务的内置工具包。
Shopify 的一些交互式客户端工具包括购物车、国际定价计算器、销售点、登陆页面 UI 等。它的技术堆栈与 React、Typescript 以及 HTML、CSS 等 JavaScript 库兼容,用于设计页面布局、导航菜单等
Shopify 的最新成果包括 Liquid(一种用于创建自定义 Shopify 商店主题和模板的模板语言)、Shopify CLI(用于构建其应用程序的命令行界面工具)和 Polaris(一种用于管理员的设计系统)。
2)后端
Shopify 拥有强大的技术集合来为其应用程序背后的后端操作和任务提供支持。 其可扩展且可靠的基础架构包括原语、API、SDK 和其他工具。 他们帮助店主和开发商为结账流程、管理库存和订单、处理销售等创建可定制和设备齐全的商店功能。
2022 年,Shopify 正式采用 Rust 和 Ruby 来解锁高性能系统编程。 从历史上看,Shopify 的后端开发人员依赖于与其 Ruby Stack 兼容的 C 和 Go 等语言。 现在,他们已经开始优先考虑 Rust 的灵活性,以实现与 WeAssembly 等下一代网络平台的集成。
另一个值得注意的举措是,Shopify 通过其 Shopify Functions 为所有开发人员实现了后端界面的民主化。 它允许他们为 Shopify 的后端逻辑创建自定义代码,使其成为一个开源平台。
3)数据库和云服务
Shopify 传统上使用 MySQL 和 RDBMS 等关系数据库来确保其数据的可扩展性、持久性和安全性。 然而,在重新评估其对全球能力、零网络中断和提高速度的需求后,Shopify 接受了“豆荚”。
Pod 创建自主的小数据存储包,每个数据存储都运行自己的进程。 为此,Shopify 使用了 Kubernetes 和 Docker。 最近,Shopify 决定转向云原生以减少认知负荷并消除主机和应用程序容器之间的界限。 本案例具体针对其代码开发平台进行优化。
4)应用程序编程接口(API)
Shopify 是一个强大的 API,具有高性能。 它使用 API 扩展了多个后端和前端用例,允许店主与多个平台进行互操作。 Shopify 的 API 使用 GraphQL 和 REST 框架构建,并支持多个客户端库,如 Node.js、PHP、Python、Ruby 和 Curl。
Shopify 的 API大致分为特定类别:市场、管理功能、支付、消息传递、店面等。它们触发电子商务功能,如验证支付、将产品添加到购物车、实现顺利结账、提供折扣、发送通知等。
Shopify 开发了特定的 API,用于创建自定义商店主题、动态更新内容,并为无头商务构建。 这些 API 是 Ajax API(带有 REST 端点)、Section 渲染 API(HTML 标记)和 Hydrogen(基于 Remix 构建)。
5) Shopify 应用商店
Shopify App Store是一个史诗般的应用程序集合的大本营,总计约 8000 个本机和第三方应用程序。 2018 年,Shopify 对其应用商店进行了改造,采用了全新的主题并对其托管的应用进行了整齐的分类。 主要有六大类:
- 用于查找产品的应用程序(专门用于直销、按需印刷服务)
- 用于销售产品的应用程序(用于定位销售、忠诚度、订阅)
- 订单和运输应用程序(用于处理履行、库存、订单跟踪等)
- 用于商店设计的应用程序(用于自定义页面、货币转换器、弹出窗口)
- 商店管理应用程序(客户支持、服务台、常见问题解答)
- 用于营销和转换的应用程序(针对电子邮件营销、折扣)
Shopify 拥有全面的技术堆栈,可帮助开发人员构建、托管和启动应用程序。 Shopify 主要提供用于编写代码库的 Ruby 和 Node 脚本。 Shopify CLI 工具可协助快速开发应用程序,Polaris 是其官方设计系统和 UI 工具包。 应用开发者可以使用 Shopify 的 GraphQL Admin API 为他们的产品计费。
您的 Shopify 技术堆栈中必须有应用程序才能优化您的商店
以下是一些可以优化您商店的销售、物流和客户参与度的第三方技术应用程序:
1) 对于退货管理- ClickPost Returns Plus
ClickPost Returns Plus是专门的 Shopify 退货管理解决方案。 该应用程序通过利用自动化的力量优化回报,帮助品牌提高客户忠诚度并降低客户流失率。
通过该应用程序,品牌可以创建可定制且适合移动设备的品牌退货门户,并可根据其退货政策进行配置。 除此之外,他们还可以拥有多种语言的自助退货门户、自动电子邮件更新和深入的分析报告。
2) 对于个性化电子邮件营销- Klaviyo
Klaviyo 是一种全渠道营销工具,以其通过电子邮件和 SMS 与客户沟通的个性化方法而闻名。 它拥有强大的数据驱动工具,例如用于受众洞察的数据分析和用于电子邮件优化的 A/B 测试。 它可以自动化营销活动并制作量身定制的消息,以加快客户转化。
3) 对于客户支持- Zendesk
Zendesk 是一个著名的客户服务和支持需求应用程序。 它通过引导式对话、自助服务支持和 AI 机器人等工具提供自动化客户支持。 Zendesk 使店主能够触发定制的客户消息和 IVRS 呼叫以获得有意义的客户支持。
4) 对于客户转换- Justuno
Justuno 是一种客户参与工具,专门设计用于通过电子邮件捕获和弹出窗口转换客户。 它具有强大的标记和潜在客户捕获工具,例如横幅广告、网站消息传递、页内促销、倒计时计时器等等。 Justuno 最能帮助恢复废弃的购物车并增加平均订单价值。
结论
技术堆栈决定了任何业务应用程序和 SaaS 平台的基础。 Shopify 沉浸在 Rails 中的技术堆栈是其高效且强大的业务基础架构为美国 10% 的商业提供支持的秘诀。 我们希望本文能帮助全栈开发人员和品牌商对 Shopify 的技术有一个最新的了解。
常见问题
1) Shopify 是用什么技术构建的?
Shopify 是用 Ruby on Rails 构建的,Ruby on Rails 是一个用于前端和后端开发的完整网络应用程序框架。 尽管 Shopify 继续其 Ruby 传统,但在过去几年中,它也开始使用 Node.js 和 Rust。
2) 品牌如何审核他们的 Shopify 技术栈?
审计 Shopify 技术堆栈首先要了解业务流程和相关的应用程序或涉及它的 API。 首先列出用于其相关业务应用程序的所有应用程序和技术。 完成后,将列表发送给团队的其他成员以说明应用程序和工具。