Jamstack Nedir? Jamstack Nasıl Kullanılır?

Jamstack Nedir? Jamstack Nasıl Kullanılır

Jamstack, web geliştirmeyi ve bir web sitesini indirmek için gereken süreyi hızlandırmayı amaçlayan popüler bir web geliştirme felsefesidir. Devops ve CI / CDS çizen Jamstack, etkileşimli Web sayfaları oluşturmak, kod yürütmeyi Web sunucularından aktarmak ve tarayıcıdaki JavaScript hizmetlerine ve uzak hizmetlere API’ler aracılığıyla erişmek için uzun süredir kullanılan teknikleri kullanır. Sonuç, birden çok platformda görüntülenmesi ve kolayca uyarlanması çok kolay statik web siteleri oluşturmanın geliştirici yoludur.

Jamstack mimarlık

Jamstack, adının baş harflerini sağlayan üç sütunlu bir web uygulama mimarisidir: JavaScript, API ve etiketler. Jamstack web sitesi standart bir biçimlendirme dili içerir, böylece uygulama sunucularına veya Düğüm gibi sunucu tarafı teknolojilerine güvenmeden her yerde oluşturulabilir ve test edilebilir.js. Her etkileşimli özellik, yeniden kullanılabilir bir HTTPS API’sı gerektiren bir tarayıcı tarafından uygulanan standart JavaScript kodu tarafından sağlanır. Bu çağrılar, harici verilere veya web sitesinin kendisine yerleştirilemeyen başka bir cihaza erişmek için kullanılır.

Jamstack’ın neden devrim niteliğinde olduğunu anlamak için, çoğu geliştiricinin son 15 yılda web geliştirme hakkında nasıl düşündüğünü yansıtan LAMP yığınını düşünün. LAMP, Linux (çoğu web sunucusunun çalıştığı işletim sistemi), Apache (Linux bilgisayarlarda çalışan sunucu yazılımı), MySQL (web uygulama verilerinin depolandığı veritabanı) ve PHP / Perl / Python (sunucu tarafı kodu yazmak için kullanılan dil) anlamına gelir. Tarayıcıyı LAMP tabanlı bir Web sayfasına yönlendirdiğinizde, Web sunucusu Web sayfasını hızlandıran ve gerektiğinde verileri MySQL veritabanından alan sunucu tarafı kodunu çalıştırır.

LAMP mimarisi, geliştiricilerin dinamik ve etkileşimli web siteleri oluşturmasına olanak tanır, ancak aynı zamanda güçlü bir web sunucusu gerektirir – ve web ne kadar çok trafik alırsa, bilgisayar sayfası o kadar güçlü olur. Tamamen işlevsel bir sunucuda bile dinamik web sayfaları oluşturmak ve yüklemek uzun zaman alabilir. Telefonlarında sürekli web’de gezinen kısa ömürlü insanların dünyasında, bu gecikme büyük bir sorun haline geldi.

Jamstack, bu geleneksel web sitesi operasyon modeline yanıt olarak 2010 yılının ortalarında ortaya çıkan statik web sitesi hareketinin bir parçası olarak doğdu. Jamstack’i anlamak için statik web sitelerinin arkasındaki teknolojiyi anlamanız gerekir.

Statik Web Sitesi ve Jamstack

Web’in tamamen yeni bir şekilde nasıl çalıştığını açıklamanız gerekirse, aşağıdakiler olabilir: Web sunucusunun dosya sisteminde bir yerde, bir web tarayıcısına indirilen ve daha sonra bir web sayfasına çevrilen HTTP adreslerinden erişilebilen HTML dosyaları vardır. . Ancak bu, statik bir web sayfasının bir açıklamasıdır: Web tarayıcısı bunları aradığında HTML dosyalarının zaten mevcut olduğu varsayılır. Ancak son yıllarda Web’in büyük bir bölümünde, genellikle formlardan geçirilen parametrelere veya Web sunucusuna iletilen URL’nin kendisine dayanan Web isteklerine yanıt olarak çalışma zamanında HTML dosyaları oluşturan dinamik Web sayfaları hakimdir.

Statik saha jeneratörleri

Web’in ilk günlerinde, web siteleri statik olduğunda, birçok web geliştiricisi elle HTML kodu yazdı. Web siteleri daha karmaşık hale geldikçe, Macromedia’nın Dreamweaver’ı gibi araçlar ortaya çıktı ve programatik statik HTML sayfaları oluşturmaya başladı. Statik web sitesi trafiği başladığında, Gatsby, Hugo ve Jeckyll dahil olmak üzere yeni bir statik web sitesi jeneratörü dalgası başladı. Dreamweaver gibi WYSIWYG araçlarının aksine, statik komut satırı sayfa oluşturucuları kontrol edilir ve CI / CD işlemleriyle sorunsuz bir şekilde entegre olacak şekilde tasarlanmıştır. HTML dosyaları bu araç tarafından oluşturulur, genellikle Markdown’da yazılan içeriğe dayanır ve otomatik olarak GitHub gibi bir sürüm kontrol deposuna yüklenir. Bu dosyalar üretime hazır olarak işaretlendiğinden, canlı sitenin statik sayfaları otomatik olarak güncellenir.

İçerik dağıtım ağları

Akılda tutulması gereken önemli bir husus, bu bağlamdaki statiğin basit Web 1.0 sayfalarının etkileşimli olmadığı anlamına gelmemesidir. Bu sayfalar tarayıcıyı uygulayan ve veritabanlarına, sunucu tarafı işlevlerine veya barındırılmamış sunucu işlevlerine API çağrıları yapan gelişmiş JavaScript içerebilir. Ancak bu cinayetlerin hiçbiri bir Web sunucusunda gerçekleşmediğinden, statik bir Web sitesinin veritabanıyla birlikte endüstriyel olarak barındırılan bir Web sunucusuna ihtiyacı yoktur. Birçok statik site, içerik dağıtım ağlarına veya içeriğin dünyanın her yerindeki kullanıcılara anında teslim edilmek üzere dünyanın dört bir yanındaki birden çok sunucuya yansıtıldığı CDN’LERE dağıtılır.

Snipcart’ın pazarlama müdürü Mathieu Dionne, bu yeni statik web siteleri dünyasının kökenlerini bir blog yazısında anlattı ve Netlify’ın kurucularının 2015 civarında olduğunu söyledi… yeni ‘statik web sitelerinin olumsuz çalışma çağrışımlarını tanımlamak için ‘Jamstack’ terimini kullandı.’

Bu bölümde Jamstack işlemini açıklıyoruz. Bugün Netlify ve Jamstack ekosistemindeki rolünü kısaca tartışacağız. Netify ve Jamstack

Netlify bir bulut bilişim ve web barındırma şirketidir ve kurucu ortağı Mathias Biilmann Jamstack terimini kullanmıştır. Netlify hizmetleri, Jamstack felsefesine dayalı siteler oluşturmak isteyen müşterilere uyarlanmıştır.

Netlify, önbelleğe almayı geçersiz kılan statik siteleri engelleyen belirli bir sorunu kırdığını iddia ediyor. Dinamik veritabanı tabanlı siteler çok sayıda sunucu kaynağı kullanabilir, ancak uğrayacak tüm ziyaretçilere sitenizin en son sürümünü sağlayacaklarından emin olabilirsiniz. Jamstack web siteleri genellikle tek bir cdn’de birden çok paylaşılan sunucuda barındırıldığından, güncellemeler daha az basittir. Her CDN sunucusunun sitenin önbelleğe alınmış sürümünün artık geçerli olmadığını belirlemesi birkaç dakikadan birkaç saate kadar sürebilir. Bu sorunu gidermek için <a0> </a0>, Netlify’ın CDN HTML dosyaları için hemen önbellek geçersiz kılma sağlar.

Netlify’ın Jamstack bayrağını yükselttiği yıllarda, şirket bu teknolojiyi PaaS teklifinin bel kemiği olarak kullanıyor ve Nike ve Peleton gibi büyük şirketler için kendi platformunu sunuyor.

Gatsby ile Jamstack

Netlify tek Jamstack barındırma sağlayıcısı değildir ve bu terim üzerinde hiçbir ticari marka veya mülkiyet kontrolüne sahip değildir. Jamstack, çeşitli barındırma ve uygulama çözümlerine sahiptir ve Amazon Web Servisleri, Google Firebase ve Microsoft Azure dahil olmak üzere çoğu büyük bulut sağlayıcısı söz konusudur. Bu alan Gatsby, Inc. dahil olmak üzere diğer, daha uzmanlaşmış şirketler tarafından tanıtıldı., aynı adı taşıyan statik site oluşturucusunun yaratıcısı.

Gatsby (şirket), Gatsby saha jeneratörünün arkasında sunulan bir dizi uçuş hizmeti inşa etti. Açık kaynağın kökleri nedeniyle, Gatsby site üreticisi Netlify da dahil olmak üzere diğer servis sağlayıcılar tarafından da sunulmaktadır.

Başsız CMS

Tabii ki, bir web sitesi oluşturmak ve barındırmak sadece başlangıçtır, çünkü web sitesini ne zaman yöneteceğinizi bilirsiniz. Ayrıca yeni içerik oluşturmanın ve sitenize eklemenin bir yoluna da ihtiyacınız var. Bunu yapan insanlar genellikle programcı olmadığından, kullanışlı bir araca ihtiyaç duyarlar – CMS gibi bir içerik yönetim sistemi. WordPress gibi geleneksel CMS’LER, web sayfalarının içeriğine erişebileceğiniz, bu içeriğin depolandığı veritabanını yönetebileceğiniz ve tarayıcı isteklerine yanıt olarak bu içeriği görüntüleyen dinamik web sayfaları oluşturabileceğiniz bir son kullanıcı arabirimi (UI) sağlar.

Jamstack siteleri için CMS farklı çalışır ve genellikle başsız olarak bilinir. Başsız CMS, içeriği ve veritabanlarını veya diğer depolama araçlarını girmek ve yönetmek için bir kullanıcı arabirimi sağlar, ancak bir tarayıcı aracılığıyla analiz için HTML kodu bile oluşturamaz. Ancak, statik HTML web sayfaları CMS API’sini çağırmak için JavaScript kullanır ve CMS içeriği JavaScript’i bir web sayfasına dönüştüren bir biçimde işler. Bu sistem, içeriği sunumdan tamamen ayırır, ki bu elbette programlamada asırlık bir idealdir. CMS erişilebilir bir API’ye sahip olduğundan, birçok site bunu kolayca kullanabilir. Örneğin, sitenizin ayrı mobil, masaüstü ve akıllı saat sürümlerini oluşturduysanız, bu sürümlerin tümü cms’de depolanan aynı içeriğe erişebilir.

Netlify, tahmin edebileceğiniz gibi, bu alanda NetlifyCMS adı verilen kendi menüsüne sahiptir, ancak başka teklifler de mevcuttur; Geliştirici Nebojsa Radakovič, başsız cms’nin tanıtımıyla onları yok ediyor. Bu listede çok iyi bilinen bir isim gibi birçok umut verici isim var. WordPress’i geleneksel bir CMS örneği olarak kullanmamıza rağmen, Jamstack’ı çalıştırmak için başsız bir CMS olarak da çalışabilir.

Neden Jamstack kullanıyorsunuz?

Jamstack kullanmanın birçok avantajını ele aldık, ancak tam resmi aldıktan sonra geri dönmeye değer:

  • Hız: Statik sayfalar daha hızlı yüklenir – ve bu kolay değildir. Google, arama sıralamalarını düşürerek yavaş siteleri cezalandırır ve hızlı yanıtlara alışkın müşteriler, adımlar yavaş yüklendiğinde genellikle e-ticaret işlemlerinden ayrılır.
  • Geliştirici deneyimi: Geliştiriciler, endüstri uygulamalarını ve üretkenliği değiştiren devops tekniklerini kullanarak statik sayfalar oluşturabilir. Jamstack’ın felsefesi, ilgi alanlarını ayıran ve geliştiricilerin uzmanlık alanlarına odaklanmalarına olanak tanıyan sayfa yığınları oluşturmaktır: önde gelen tasarımcılar ve geliştiriciler sunucuda akıcı konuşmak zorunda olmayan sayfalar oluşturabilirken, arka uç geliştiriciler odaklanabilir. API içinde. İçerik sorguları tamamen CMS etki alanı tarafından yönetilir.

Esneklik: Statik siteler geleneksel bir web sunucusunda, cdn’de, özel hizmette veya üçünün bir kombinasyonunda barındırılabilir. Başsız Cms’ler API’ler aracılığıyla ön uçlarla iletişim kurduğundan, aynı içeriğe sahip platformlar arası sayfaları kolayca oluşturabilirsiniz.

Değilse, Jamstack kullanın

Tüm avantajlardan Jamstack herkes için değil. Jamstack’ın kapak tarafı, isterseniz geliştiricilerin gereksinimlerine göre uyarlanmıştır

Bunları da sevebilirsiniz

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.