什麼是 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。 首先列出用於其相關業務應用程序的所有應用程序和技術。 完成後,將列表發送給團隊的其他成員以說明應用程序和工具。