İnternet artık günlük yaşamımızın ayrılmaz bir parçası haline geldi. Bu dijital çağda web siteleri, iş dünyasından eğlenceye, eğitimden alışverişe kadar geniş bir yelpazede hizmet veriyor. Ancak, bu dünyayı anlamak ve iş hayatında başarılı olmak için bir dizi web sitesi terimlerine hakim olmak gerekiyor. “Domain”, “hosting”, “SEO” gibi sıkça karşılaşılan web tasarım terimleri hemen her yerde karşımıza çıkıyor.

Bu yazımda, web siteleri dünyasında sıkça karşılaşılan temel terimleri ele alarak, hem yeni başlayanlar hem de deneyimli kullanıcılar için bu terimleri anlaşılır hale getirmeye çalıştım. Bu yazıdan sonra web uygulamaları konusunda terimler kafanızı karıştırmayacak.

İçindekiler

HTML (HyperText Markup Language)

Web sayfaları oluşturmak için kullanılan standart dil. Başlıklar, paragraflar, bağlantılar, resimler ve diğer öğeler gibi unsurları kullanarak web üzerindeki içeriği yapılandırır.

CSS (Cascading Style Sheets)

HTML veya XML ile yazılmış bir belgenin sunumunu tanımlamak için kullanılan bir stil sayfası dili. Bir web sitesinin düzenini, renklerini, yazı tiplerini ve genel görsel görünümünü kontrol eder.

JavaScript

Web tarayıcılarında dinamik ve etkileşimli efektler oluşturmak için kullanılan bir programlama dili. İçerik güncellemeleri, multimedya ve animasyonlu grafikler gibi karmaşık özelliklerin uygulanmasına izin verir.

Front-End Development

Kullanıcıların verileri görüntüleyebilmesi ve verilerle etkileşime girebilmesi için verileri grafik bir arayüze dönüştürme uygulaması. Bir web uygulamasının istemci tarafını oluşturmak için HTML, CSS ve JavaScript’i içerir.

Back-End Development

Veritabanlarına, komut dosyalarına ve web sitelerinin mimarisine odaklanan sunucu tarafı geliştirme. Sunucu, veritabanı ve uygulama katmanlarını içerir.

Full-Stack Development

Bir web uygulamasının hem ön uç hem de arka uç kısımlarını kapsayan bir geliştirici veya geliştirme yaklaşımı. Tam yığın geliştiriciler web geliştirmenin tüm yönlerini ele alır.

Framework

Geliştiricilerin geliştirmeyi kolaylaştırmak için kullanabileceği önceden oluşturulmuş bir kod kümesi. Örnekler arasında ön uç için Angular, React, Vue.js ve arka uç için Express, Django, Rails, Laravel veya Symfony sayılabilir.

API (Application Programming Interface)

Yazılım ve uygulamalar oluşturmak için bir dizi kural ve araç. Farklı yazılım varlıklarının birbirleriyle iletişim kurmasını sağlar.

Responsive Design

Masaüstü bilgisayarlardan cep telefonlarına kadar tüm cihazlarda iyi görünen web sayfaları oluşturmayı amaçlayan bir tasarım yaklaşımı. Bu genellikle esnek ızgaralar, düzenler ve medya sorguları ile elde edilir.

UX (User Experience) - Kullanıcı Deneyimi

Bir kullanıcının bir web sitesi veya uygulama ile yaşadığı genel deneyim. Tasarım, kullanılabilirlik ve etkileşimi kapsar.

UI (User Interface) - Kullanıcı Arayüzü

Bir uygulamanın grafiksel düzeni. Kullanıcıların tıkladıkları düğmelerden, okudukları metinlerden, resimlerden, kaydırıcılardan, metin giriş alanlarından ve kullanıcının etkileşimde bulunduğu diğer tüm öğelerden oluşur.

SEO (Search Engine Optimization) - Arama Motoru Optimizasyonu

Arama motoru sonuç sayfalarında (SERP) görünürlüğünü artırmak için bir web sitesini optimize etme uygulaması. Anahtar kelime araştırması, içerik optimizasyonu ve geri bağlantılar oluşturmayı içerir.

CMS (Content Management System) - İçerik Yönetim Sistemi

Kullanıcıların özel teknik bilgiye ihtiyaç duymadan bir web sitesinde içerik oluşturmasına, yönetmesine ve değiştirmesine olanak tanıyan bir yazılım uygulaması veya araç seti. Örnekler arasında WordPress, Joomla ve Drupal sayılabilir.

Domain Name - Alan Adı

İnternet kullanıcılarının bir web sitesine erişebilecekleri adres. İnternet üzerindeki bilgisayarları bulmak ve tanımlamak için kullanılır. Örnek: www.ornek.com.tr

Web Hosting - Web Barındırma

Kuruluşların ve bireylerin internette bir web sitesi veya web sayfası yayınlamasına olanak tanıyan bir hizmet. Web barındırıcıları, web sitesinin veya web sayfasının internette görüntülenmesi için gereken teknolojileri ve hizmetleri sağlar.

SSL (Secure Sockets Layer) Certificate

Bir web sitesi için kimlik doğrulaması sağlayan ve şifreli bir bağlantı sağlayan dijital bir sertifika. Kredi kartı bilgileri gibi hassas verilerin güvenliğini sağlamak için kullanılır.

JavaScript Libraries - JavaScript Kütüphaneleri

Geliştiricilerin yaygın JavaScript işlevlerini gerçekleştirmek için kullanabilecekleri önceden yazılmış JavaScript kodu koleksiyonları. Örnekler arasında jQuery, D3.js ve Lodash sayılabilir.

Version Control - Sürüm Kontrol

Belirli sürümlerin daha sonra geri çağrılabilmesi için bir dosya veya dosya kümesinde zaman içinde yapılan değişiklikleri kaydeden bir sistem. Örnekler Git ve Subversion’ı içerir.

Repository - Depo

Verilerin depolandığı ve yönetildiği merkezi bir konum. Web geliştirmede, genellikle GitHub veya Bitbucket gibi sürüm kontrol sistemleri tarafından yönetilen yazılım kodu için bir depolama konumunu ifade eder.

HTTP (HyperText Transfer Protocol) - Hiper metin transfer protokolü

İnternet üzerinde hiper metin isteklerini ve bilgilerini iletmek için kullanılan protokol. Mesajların nasıl biçimlendirileceğini ve iletileceğini ve web sunucularının ve tarayıcıların çeşitli komutlara nasıl yanıt vermesi gerektiğini tanımlar.

HTTPS (HyperText Transfer Protocol Secure)

HTTP’nin bir uzantısıdır. SSL/TLS kullanılarak şifrelenmiş bir bağlantı içinde, bir bilgisayar ağı üzerinden güvenli iletişim için kullanılır.

AJAX (Asynchronous JavaScript and XML)

Eşzamansız web uygulamaları oluşturmak için istemci tarafında birçok web teknolojisini kullanan bir dizi web geliştirme tekniği. AJAX ile web uygulamaları, mevcut sayfanın görüntüsüne ve davranışına müdahale etmeden bir sunucudan eşzamansız olarak veri gönderebilir ve alabilir.

MVC (Model-View-Controller)

Web uygulamaları geliştirmek için bir yazılım tasarım kalıbı. Bir uygulamayı birbirine bağlı üç bileşene ayırır: Model (veri), Görünüm (UI) ve Denetleyici (iş mantığı).

WebSocket

Tek bir TCP bağlantısı üzerinden tam çift yönlü iletişim kanalları sağlayan bir iletişim protokolü. Gerçek zamanlı web uygulamaları için kullanılır ve sunucu ile istemci arasında kalıcı bağlantılar sağlar.

Progressive Web App (PWA)

HTML, CSS ve JavaScript gibi yaygın web teknolojileri kullanılarak oluşturulmuş, web üzerinden sunulan bir tür uygulama yazılımı. Hem masaüstü hem de mobil cihazlar dahil olmak üzere standartlarla uyumlu bir tarayıcı kullanan herhangi bir platformda çalışması amaçlanmıştır.

Bootstrap

Duyarlı, mobil öncelikli ön uç web geliştirmeye yönelik ücretsiz ve açık kaynaklı bir CSS çerçevesi. Tipografi, formlar, düğmeler, navigasyon ve diğer arayüz bileşenleri için CSS ve JavaScript tabanlı tasarım şablonları içerir.

Tailwind CSS

Geliştiricilerin doğrudan HTML içinde tasarım yapmalarına olanak tanıyan son derece özelleştirilebilir, yardımcı program öncelikli CSS çerçevesi. Önceden tanımlanmış bileşenler sağlayan geleneksel CSS çerçevelerinin aksine Tailwind CSS, özel CSS yazmak zorunda kalmadan özel tasarımlar oluşturmanızı sağlayan düşük seviyeli yardımcı sınıflar sağlar.

SASS (Syntactically Awesome Style Sheets)

CSS’ye yorumlanan veya derlenen bir önişlemci komut dosyası dili. SASS, değişkenler, iç içe kurallar ve işlevlerle daha dinamik bir stil sayfası dili sağlar.

Webpack

JavaScript uygulamaları için bir modül paketleyicisi. Bağımlılıkları olan modülleri alır ve bu modülleri temsil eden statik varlıklar oluşturur.

Node.js

JavaScript kodunu bir web tarayıcısının dışında yürüten açık kaynaklı, platformlar arası bir JavaScript çalışma zamanı ortamı. Hızlı, ölçeklenebilir sunucu tarafı uygulamaları oluşturmak için kullanılır.

REST (Representational State Transfer)

Ağa bağlı uygulamalar tasarlamak için bir mimari stil. Durağan olmayan, istemci-sunucu, önbelleklenebilir bir iletişim protokolü olan HTTP protokolünü kullanır.

JSON (JavaScript Object Notation)

İnsanların okuması ve yazması kolay, makinelerin ayrıştırması ve üretmesi kolay hafif bir veri değişim formatı. Genellikle web uygulamalarında veri iletimi için kullanılır.

Docker

Uygulamaları hafif, taşınabilir konteynerler içinde geliştirmek, göndermek ve çalıştırmak için kullanılan bir platform. Geliştiricilerin uygulamaları, kütüphaneler ve bağımlılıklar gibi ihtiyaç duydukları tüm parçalarla paketlemelerini ve tek bir paket olarak göndermelerini sağlar.

GraphQL

Facebook tarafından REST’e alternatif olarak geliştirilen bir veri sorgu dili. İstemcilerin tam olarak ihtiyaç duydukları verileri talep etmelerine olanak tanıyarak performansı ve esnekliği potansiyel olarak artırır.

Microservices - Mikro servisler

Bir uygulamayı, bir iş alanı etrafında modellenen küçük, özerk hizmetlerin bir koleksiyonu olarak yapılandıran bir mimari stil. Her hizmet kendi içinde bağımsızdır ve tek bir iş yeteneğini uygulamalıdır.

Serverless Architecture - Sunucusuz Mimari

Bulut sağlayıcısının sunucuyu çalıştırdığı ve makine kaynaklarının tahsisini dinamik olarak yönettiği bir bulut bilişim yürütme modeli. Fiyatlandırma, önceden satın alınan kapasite birimleri yerine bir uygulama tarafından tüketilen gerçek kaynak miktarına dayanır.

Content Delivery Network (CDN)

Coğrafi olarak dağıtılmış bir proxy sunucu ağı ve bunların veri merkezleri. Amaç, hizmeti son kullanıcılara göre mekansal olarak dağıtarak yüksek kullanılabilirlik ve performans sağlamaktır.

Agile Development

Gereksinimlerin ve çözümlerin çapraz işlevli ekiplerin ortak çabasıyla geliştiği yazılım geliştirme için bir dizi ilke. Uyarlanabilir planlama, evrimsel geliştirme, erken teslimat ve sürekli iyileştirmeyi savunur.

Scrum

İnsanların karmaşık uyarlanabilir sorunları ele alabilecekleri ve aynı zamanda mümkün olan en yüksek değere sahip ürünleri üretken ve yaratıcı bir şekilde sunabilecekleri bir çerçeve. Agile’ın bir alt kümesidir ve roller, etkinlikler ve eserlerden oluşur.

DevOps

Yazılım geliştirme (Dev) ve BT operasyonlarını (Ops) birleştiren bir dizi uygulama. Geliştirme yaşam döngüsünü kısaltmayı ve sürekli olarak yüksek kaliteli yazılım sunmayı amaçlar.

Continuous Integration (CI)

Tüm geliştiricilerin çalışma kopyalarını günde birkaç kez paylaşılan bir ana hatta birleştirme uygulaması. Kod tabanının kararlı ve işlevsel olmasını sağlamak için otomatik test ve inşa süreçlerini içerir.

Continuous Deployment (CD)

Geliştirme sürecinin bir parçası olarak gün boyunca otomatik dağıtımların gerçekleşebildiği bir yazılım yayınlama süreci. Otomatik testleri geçen tüm değişiklikleri otomatik olarak üretim ortamına dağıtarak sürekli entegrasyonu genişletir.

Load Balancer

Ağ veya uygulama trafiğini bir dizi sunucu arasında dağıtan bir cihaz. Tek bir sunucunun aşırı yüklenmemesini sağlar ve kullanılabilirlik ve güvenilirliğin korunmasına yardımcı olur.

Middleware

Bir işletim sistemi ile üzerinde çalışan uygulamalar arasında yer alan yazılım. Dağıtık uygulamalar için iletişim ve veri yönetimi sağlar.

ORM (Object-Relational Mapping)

Nesne yönelimli programlama dilleri kullanarak uyumsuz tip sistemleri arasında veri dönüştürme tekniği. Programlama dili içinden kullanılabilen bir “sanal nesne veritabanı” oluşturur.

SQL (Structured Query Language

Programlamada kullanılan ve ilişkisel bir veritabanı yönetim sisteminde (RDBMS) tutulan verileri yönetmek için tasarlanmış alana özgü bir dil. Özellikle farklı varlıklar/değişkenler arasında ilişkilerin olduğu yapılandırılmış verilerin işlenmesinde kullanışlıdır.

NoSQL

Geleneksel ilişkisel veritabanlarından farklı olan geniş bir veritabanı yönetim sistemi kategorisi. İlişkisel veritabanlarında kullanılan tablo ilişkileri dışındaki yollarla modellenen verileri depolamak ve almak için kullanılırlar. Örneğin MongoDB.

OAuth

Erişim delegasyonu için açık bir standart olup, genellikle web sitelerine veya uygulamalara şifreleri ifşa etmeden bir kullanıcının bilgilerine sınırlı erişim izni vermenin bir yolu olarak kullanılır.

Web Accessibility - Web Erişilebilirliği

Engelli kişilerin World Wide Web’deki web siteleriyle etkileşimini veya web sitelerine erişimini engelleyen hiçbir engel bulunmamasını sağlamaya yönelik kapsayıcı uygulama. Web içeriğini daha erişilebilir hale getirmek için çok çeşitli öneri ve uygulamaları içerir.

DNS (Domain Name System)

İnternet’in telefon defteri. Tarayıcıların İnternet kaynaklarını yükleyebilmesi için alan adlarını IP adreslerine çevirir.

Cookies - Çerezler

Bir web sitesinde gezinirken web tarayıcısı tarafından kullanıcının bilgisayarında depolanan küçük veri parçaları. Web sitelerinin durum bilgilerini hatırlaması veya kullanıcının tarama etkinliğini kaydetmesi için güvenilir bir mekanizma olarak tasarlanmıştır.

Sonuç

Web sitelerine dair terimlerin anlamlarını bilmek, özellikle web sitesi geliştirme aşamalarında daha bilinçli ve etkili bir şekilde hareket etmenize yardımcı olacaktır. Bu yazıda açıkladığım temel kavramlar, web teknolojilerinin arka planını anlamanızı ve bu alanda karşılaşabileceğiniz zorlukları aşmanızı kolaylaştıracağını umuyorum. Bu kavramların bir seferde kafanıza yerleşmesini beklemeyin. Bu sayfa burada duracak. Ne zaman isterseniz dönüp tekrar bakabilirsiniz. Bilmek istediğiniz terimler olursa bana yazın. Bu sayfalarda güncellemeye devam edeceğim.