Blog

FFS - Temel İçerik Sunucusu

Yayınlanma tarihi 2026-03-29

FFS – Temel İçerik Sunucusu

FFS – Foundational Feature Server
FFS – Foundational Feature Server

Kendi freelance platformumu oluşturmaya başladığımda, standart yaklaşımın — bir CMS, birkaç eklenti, bir JavaScript çerçevesi ve bir barındırma hizmetini bir araya getirmek — çalışma biçimimle örtüşmediğini kısa sürede fark ettim. Tam kontrol sahibi olabileceğim, çekinmeden genişletebileceğim ve tamamen kendi koşullarımda çalıştırabileceğim bir yapıya ihtiyacım vardı.

Bu nedenle FFS – Foundational Feature Server’ı geliştirdim.

FFS Nedir

FFS, uzun ömürlülük, sadelik ve tam kontrol hedefiyle sıfırdan tasarlanmış modern bir C++ web platformudur. Klasik anlamda bir içerik yönetim sistemi değildir. Daha çok, tümleşik uygulama çalıştırma ortamıdır: Her biri kendi içinde tamamlanmış birer paylaşılan kütüphane olan bağımsız bileşenleri, birbirlerinden bağımsız şekilde yükleyen, yöneten ve çalıştıran bir sunucu.

FFS’in temelinde Wt 4.x yer alır. Bu, sunucu tarafı arayüzleri doğrudan verimli HTML’e dönüştüren olgun bir C++ web çerçevesidir. Sürümünü sürekli güncellemek zorunda olduğunuz bir JavaScript framework’ü yoktur; karmaşık bir npm bağımlılık zinciri yoktur; istemci tarafında senkronizasyon problemleriyle uğraşmanız gerekmez. Sistem tek bir gerçeğe dayanır: sunucu.

Mimariyi Basitçe Anlamak

FFS üzerinde her sayfa bir bileşen olarak ele alınır ve çalışma anında bir .so paylaşılan kütüphanesi olarak yüklenir. Örneğin bir kullanıcı /services adresine gittiğinde, FFS ilgili services.ffs bileşenini yükler, sayfayı oluşturur ve HTML çıktısını üretir.

Bu bileşenin yeni bir sürümünü yayınladığınızda yalnızca tek bir dosyayı değiştirmeniz yeterlidir. Sistemin geri kalanı kesintisiz çalışmaya devam eder.

Bileşenler, yalnızca ince bir SDK üzerinden iletişim kurar:

  • JsonDataObject — inotify ile izlenen ve anlık olarak yeniden yüklenen JSON yapılandırmaları
  • Replacer — içerik kişiselleştirmeleri için, bul ve değiştir mantığı ile çalışan, yer tutucu motoru
  • MdRenderer — gelişmiş görsel yerleşimi ve satır kontrolü sunan Markdown işleyici
  • HtmlUtils — güvenli ve zengin içerik üretimi için HTML yardımcıları

Tüm yapılandırma sade JSON dosyalarında tutulur. Bir değeri değiştirip kaydettiğinizde, sayfa saniyeler içinde tarayıcıda güncellenir — yeniden başlatma gerekmez.

Çok Dillilik: Temelden Gelen Bir Özellik

FFS’te çok dillilik sonradan eklenen bir özellik değil, tasarımın doğal bir parçasıdır. Her içerik, dil bazlı katmanlarla genişletilebilir:

content/services.json        ← temel (İngilizce)
content/services_de.json     ← Almanca geçersiz kılmalar
content/services_tr.json     ← Türkçe geçersiz kılmalar

Bu katmanlar, id veya name alanlarına göre alan bazlı derin birleştirme ile çalışır. Yalnızca değişen içerikleri tanımlarsınız; geri kalan tüm yapısal bilgiler otomatik olarak devralınır.

Temalar

FFS, üç hazır tema ile gelir: Default (koyu lacivert), Ocean (mavi tonları) ve Forest (koyu yeşil). Her tema, bileşen bazlı stil tanımlarıyla birlikte sunulur. Tema değiştirmek, yalnızca bir JSON değerini güncellemek kadar basittir. Tarayıcı sadece değişen CSS’i alır, sayfa yeniden yüklenmez.

FFS’in Geleceği

FFS, başlangıçta kendi freelance sitemin altyapısı olarak ortaya çıktı. Ancak zamanla daha geniş bir platforma dönüştü: blog, hizmet kataloğu, proje vitrini ve OTP doğrulamalı iletişim sistemi gibi farklı uygulamaları tek bir tutarlı yapı içinde bir araya getiren kurumsal web platformu.

Amaç, WordPress veya Webflow ile rekabet etmek değil. Amaç; performans, kararlılık ve uzun vadeli sahiplik konularına önem verenler için, kontrol edilemeyen bağımlılıklara ihtiyaç duymadan güvenilir bir alternatif sunmak.

Eğer bu yaklaşım size de uygunsa, konuşabiliriz.


FFS, C++23 ve Wt 4.13 kullanılarak geliştirilmiştir. Linux üzerinde çalışır ve tek bir konteyner ya da doğrudan bare-metal çalıştırılabilir bir binary olarak dağıtılabilir.