Photo by sydney Rae on Unsplash

Frontend Ürün ve Kütüphane Evreninden Haberler — 5(Docusaurus 2 Beta, ve JamStack)

Kayıtlı olduğum bazı sitelerden haftalık, aylık Haber Bülteni olarak bir çok mail atılıyor. Bu yazıda bu bültenlerden önemli gördüğüm ürün haberlerini paylaşıyor olacağım. Her yazıda bu ürün ve teknoloji stack(yığıtını) JAMStack bahsedeceğim.

3 min readMay 19, 2021

--

Docusaurus

Docosaurus 2 Beta Sürümü çıkmış şeklinde bir reklam gelmiş, öncelikle bu ürünü incelerken ürünün ne olduğunu ve nerde kullanıldığını bilmiyordum. Önce ana sayfasını gidip baktığımda aşağıdaki Introduction sayfası ile karşılaşıyoruz.

Beautiful documentation site in no time

Web sayfanız için güzel dokümantasyon sayfalarını zaman kaybetmeden oluşturabileceğiniz bir uygulama diyor.

Gerçekten de SaaS olsun veya bir ürün kütüphane geliştiriyor olun artık bunları dökümante etmeniz çok çok önemli. Eskiden bunlar için API Generator doc üretip bunları yayınlama vardı ama artık beklentiler daha yüksek. Örnek içeren sayfalar, daha etkileşimli içerik, ve daha CMS ortamında konuları anlatma ihtiyacı oluyor.

Daha önceden web sayfamı oluştururken GitHub Pages sayfaları üzerinde Jeklly ürününü denemiştim . Sadece Markdown üzerine Template ile Web sayfası ve içerik oluşturmanızı sağlıyor. Çok basit yapıda bir doc yapısı oluşturacaksanız oldukça başarılı ama JavaScript, React gibi yapılardan biraz uzak.

Thundra.io şirket dokümantasyonu için Gitbook tercih ettik ve doküman için oldukça temiz, sadece ve gelişmiş bir ortam sağlıyor. Genel odak noktası open-source ortamlardan çok daha ticari SaaS benzeri uygulamaların dokümantasyon aracı olmaya odaklanmış durumda.

Web sayfam onurdayibasi.com adresinde Gatsby.js framework kullanarak bu sayfaya oluşturdum. Gerçekten de çok güçlü bir altyapıya sahip. GraphQL, React altyapısı ve birçok plugin ile çok farklı farklı web sayfaları oluşturmanıza imkan sunar. Biraz daha esnek bir framework istiyorsanız. Bu kısımda Next.js de kullanabilirsiniz. (Not: Next framework bir önceki yazımızda daha detaylı bahsetmiştik. ). Ama bu 2 kütüphane’de çok güçlü olmasına karşın amacınız dokümantasyon için bir web sayfası ise öğrenme eğrisinin biraz zor olduğunu söyleyebiliriz.

VuePress Docusaurus, benzer bir ürün özelliği sağlasa da kodlama altyapısın da React yerine Vue syntax kullanmak isteyenler bunu şeçebilir.

Docsify ve MkDocs dokümantasyon web sayfaları ve CMS yapıları oluşturmaya çalışan bir kaç diğer ürün..

Focus on your Content Web: yani sayfanızda kendi işinize özel custom tech stack oluşturmanız zor kısımları bulunur. (*versioning, i18n, search and theme customizations). Halbuki bu araç ile Markdown ile sizin kendi içeriğinize odaklanabileceğinizi söylüyor bunu yaparken Static Site Generator teknolojisi ve React syntax faydalanabileceğinizi belirtiyor.

Not: Static Site Generator ve gidişat hakkında bilgi almak için aşağıdaki yazıları göz gezdirebilirsiniz.

JAMStack

JAMStack, website ve app oluşturmak için geliştiricilere modern bir yöntem ile teknoloji stack daha performanslı, ucuz ve hızlı bir altyapı sunar. Bunu sunarken aşağıdaki teknolojileri kullanarak bunu geliştirir.

  • Javascript,
  • API (GraphQL, REST)
  • ve Markup anlamına gelir

JAMStack ilk olarak 2015 yılında Netlify CEO’su Mathias Biilmann tarafından geliştirilmiştir. Jamstack web sitelerinde, uygulama mantığı genellikle arka uca sıkıca bağlanmadan istemci tarafında bulunur sunucu. Wikipedia

JAMStack bu kadar başarılı olmasını şuna bağlıyorum. Aşağıdaki mimariden de görebileceğiniz gibi

Geleneksel Web, Client(Tarayıcı), WebServer, AppServer, DB ve CMS kullanırken, Jamstack bu işi CDN ve Microservis hatta FaaS (AWS Lamda, Azure Functions, Google Functions, Netlify Functions vb.. çözmektedir.)

https://jamstack.org/

Bu yeni Jamstack yapısı Template altyapısı ile dokümanı güncellediğinizde otomatik GitHub Push → Build başlatır, Build sonrası Static Site Generator → React, Vue, Svelte, Angular vb… sytnx yazdığınız kodu → Static HTML koduna çevirir → buda CDN deploy olur.

Peki bize bu ne sağlar;

  • Daha hızlı canlıya çıkma (CI/CD Pipeline) GitHub üzerine oturmuş free bir yapı
  • Hosting için WebServer, AppServer, DB yapısına ihtiyaç duymaması, bu bilgi ve DB altyapısı GraphQL GitHub tutuluyor, bu da acayip bir ucuzluk sağlıyor.
  • Tüm altyapı için fullstack bir geliştirici istediği JS framework ve altyapısı ile Frontend ve Backend geliştirebilme imkanı buluyor.

Ektra Notlar ve Yazılar.

Bu konuda Ekstra Bulut Teknolojileri Üzerinde Bilgi almak isteyenler için aşağıdaki yazılardan da faydalanabilir.

Okumaya Devam Et 😃

Bu yazının devamı veya yazı grubundaki diğer yazılara erişmek için bu linke tıklayabilirsiniz.

--

--