Shopify uygulaması nedir ve nasıl oluşturulur?
Yayınlanan: 2022-07-29Geliştiriciler veya mühendislik liderleriyle ne yaptığımız hakkında konuşurken sıklıkla karşılaştığımız sorulardan biri, Shopify uygulamasının tam olarak ne olduğu ve bir tane oluşturmak için hangi araçlara ve teknolojilere ihtiyaç duyulduğudur. Sıkça sorulan diğer bir soru da Shopify uygulamaları oluşturma konusunda deneyimim olmaması sorun olur mu?
Shopify uygulama geliştirmenin çeşitli teknolojik yönlerini detaylandırarak bu soruları yanıtlayalım.
Shopify uygulaması bir web uygulamasıyla nasıl karşılaştırılır?
Bu konudaki bakış açımız, bir Shopify uygulamasının hemen hemen standart bir web uygulaması gibi çalıştığı, ancak bir API aracılığıyla Shopify platformuna yoğun bir şekilde bağlı olduğu yönündedir. Bunun birkaç anlamı vardır:
- Shopify uygulaması oluşturmak için web uygulamalarıyla aynı teknolojileri kullanabilirsiniz. Belirli bir teknolojiyle sınırlı değilsiniz (belirli bir teknolojiyi kullanmak hayatınızı kolaylaştırabilir - buna daha sonra geri döneceğiz).
- Genellikle, hem arka uç hem de ön uç oluşturmanız gerekir.
- Uygulamanın barındırılmasından ve çalıştırılmasından siz sorumlusunuz.
- Başvuru Shopify tarafından onaylandıktan sonra yayın süreci de tamamen sizin kontrolünüz altındadır.
Satıcı açısından bakıldığında, Shopify'ın Shopify uygulamalarının yanı sıra Hizmet Olarak Yazılım (SaaS) olduğunu söyleyebiliriz. Bu, bir satıcının uygulamanızı yüklemek için herhangi bir kod türüyle etkileşime girmesi gerekmediği anlamına gelir.
Shopify uygulama bileşenleri
Bir Shopify uygulamasının tipik olarak sahip olduğu üç mantıksal bileşen tanımlarız:
- Satıcı yöneticisi
- Web kancası işleme
- Müşteriye yönelik uygulama (vitrin kullanıcı arayüzü)
Bu üçünden sonuncusu mutlaka gerekli değildir. Satıcılara sağlamak istediğiniz işlevselliğe bağlıdır. Örneğin, uygulamamız Candy Rack üç bileşenin tamamından oluşurken, Loyal yalnızca ilk iki bölümden oluşur.
Satıcı yöneticisi
Satıcı yöneticisi, bir satıcının uygulamayı kurduğu ve yapılandırdığı bir panodur. Shopify, satıcı yöneticisine Shopify arayüzünde (gömülü uygulama olarak adlandırılır) hizmet verilmesini önerir. Bu, uygulamayı iframe kullanarak Shopify yönetimine yerleştirdiğiniz anlamına gelir.
Gömülü uygulamalar çeşitli sınırlamalarla birlikte gelir:
- Kimlik doğrulamanın nasıl çalıştığı nedeniyle, az çok tek sayfalık uygulama mimarisiyle sınırlısınız (ancak Turbolinks veya Inertia.js yardımıyla kısmi geçici çözümler mümkün olsa da).
- Shopify tarafından sağlanan kitaplıklar olduğundan, ön uç yazmak için React kullanmak verimli olabilir: Polaris UI kitaplığı, UX'inizin Shopify yöneticisinin geri kalanıyla tutarlı olmasını sağlar ve App Bridge, uygulamanıza Shopify bağlam verileri sağlayan bir ön uç köprüsü görevi görür iframe'de çalışıyor.
Satıcı yöneticisi aynı zamanda uygulamanız ile satıcı arasındaki ilk temas noktasıdır ve yükleme işleminin gerçekleştirildiği yerdir. Kurulum, temel olarak, OAuth aracılığıyla satıcının mağaza verilerine erişim izinlerinin alınması anlamına gelir.
Ayrıca, uygulamanızın ücretsiz olmaması durumunda faturalandırma ile uğraştığınız uygulamanın bir parçasıdır.
Web kancası işleme
Web kancaları, Shopify'ın yüklendiği mağazalarda meydana gelen çeşitli olaylar hakkında uygulamanızı nasıl bilgilendirdiğidir: örneğin, yeni sipariş oluşturma veya ürün güncelleme. Hangi etkinliklere abone olacağınıza siz karar verirsiniz.
Alınan olaya göre yürütülmesi gereken iş mantığı mutlaka arka plan çalışanları tarafından ele alınmalıdır. Aksi takdirde, uygulamanızı kolayca aşırı yükleyebilirsiniz. Ayrıca, uygulamanızın dışından olay alma yetkisi vermeyi de düşünebilirsiniz.
Müşteriye yönelik uygulama (vitrin kullanıcı arayüzü)
Uygulamanızın Shopify Storefront'u genişletmesi durumunda (bu, mağaza müşterilerine yeni özellikler getirdiği anlamına gelir), onu ön mağazaya "eklemeniz" gerekir. Bunu yapmak için, JavaScript kaynağınızı ön mağazaya enjekte etmesini bir API aracılığıyla Shopify'a bildirmeniz gerekir. Bunun için en popüler iki yöntem vardır: Komut Dosyası Etiketi ve Uygulama Gömme bloğu. Ayrıca, App Blocks (Uygulama bölümleri olarak da anılır) kullanarak vitrin temasını bazı görsel bileşenlerle doğrudan genişletme olasılığı da vardır.
Müşteriye dönük uygulamanın geliştirilmesi, tüm sürecin en zorlu kısmı olabilir. Genellikle, ön mağazanın varsayılan davranışını genişletir ve hatta geçersiz kılarsınız. Bunu yaparken farklı Shopify temalarında, çeşitli mağaza ayarlarıyla ve beklenmedik bir durumda hiçbir şeyi bozmayacak şekilde çalıştığından emin olmanız gerekir. Bunun da ötesinde, uygulamanıza müdahale eden başka üçüncü taraf uygulamalar her zaman olabilir.
Ön mağaza kullanıcı arayüzü, uygulamanızın performansına ve boyutuna da dikkat etmeniz gereken yerdir.
Shopify uygulama geliştirmenin evrimi
Size daha önce Shopify uygulaması oluşturmanın temelde web uygulaması geliştirme olduğunu söylemiş olsam da, bu ifade aslında yalnızca kısmen doğrudur. 2021'de Shopify, ödeme uzantıları kavramını tanıttı. Bundan önce, bir Shopify uygulamasıyla ödeme işlevini genişletmek mümkün değildi. Bu açıdan geliştirici deneyimi, çok sınırlı bir ortamda gerçekleştiği için bir web uygulamasına kıyasla farklıdır (örneğin, yalnızca önceden hazırlanmış belirli bir React bileşenleri kümesini kullanabilirsiniz) ve oluşturma ve yayınlama süreçleri Shopify tarafından gerçekleştirilir.
Gelecekte Shopify'ın üçüncü taraf uygulamalar üzerinde daha fazla kontrole sahip olmak için diğer alanlarda bu yaklaşıma doğru ilerlemesi mümkündür. Sonuç olarak Shopify uygulama geliştirme, web uygulaması geliştirmeden daha da uzaklaşacaktır.
Digismothie teknoloji yığını
Bu makaleden kullandığımız teknolojiler hakkında daha fazla bilgi edinebilirsiniz.
Çözüm
Umarım teknik açıdan bir Shopify uygulaması oluşturmanın ne anlama geldiğini ve hangi teknolojilerin kullanılabileceğini öğrenmişsinizdir.
Son olarak başta sorulan soruya geri dönelim. Web geliştirme geçmişi olan bir mühendisin Shopify uygulamaları üzerinde çalışan bir ekibe katılması sorun olur mu? kesinlikle hayır derim. Bir mühendis, modern web uygulaması geliştirmede kullanılan kavramları ve teknolojileri iyi anlıyorsa, çok hızlı bir şekilde atlayabilir. Shopify ekosistemleri ve API'leri hakkında bilgi adım adım gelecektir.