Front-End
Yazılımlarda son kullanıcı ile donanım arasında birçok katman çalışır. Web tabanlı yazılımlarda da katmanlı yapılar kullanılmaktadır. Bu yapıların en temel hali client-sever yapısıdır. Client, istemci olarak tanımlanırken, server sunucuyu ifade etmektedir. Front-end ise yazılımların istemci taraflı çalışan bölümünü ifade etmek için kullanılır.
HTML
Metin işaretleme dili (Hyper Text Markup Language)’ın kısaltması olan html, web tarayıcılarının okuyup yorumlayabildiği bir etiket yapısına sahiptir. 1991 yılında Tim Berners-Lee tarafından genel kullanıma açılmıştır. İlk versiyonu sadece metin desteklerdi ve 18 etiketten oluşurdu. Günümüzde kullanılan html 5 versiyonu metinlerle beraber birçok öğeyi desteklemektedir.
CSS
Basamaklı Stil Şablonu(Cascading Style Sheets)’nun kısaltması olan css, bir html sayfasının nasıl görüneceğinin belirlendiği işaretleme dilidir. Css, web sayfalarındaki içerikleri konumlandırılması, yeniden boyutlandırılması, yazı boyutu ve renk gibi görsel tanımlamaların yapılması ile ilgilenir.
JavaScript
Html ve css yardımı ile ortaya çıkarılan web sayfalarının kullanıcı ile etkileşimi Javascript ile sağlanır. Kullanıcıların web sayfası üzerindeki faaliyetleri (tıklama, kaydırma vb.) Javascript ile hazırlanmış çeşitli fonksiyonları tetikler. Ayrıca, dinamik içeriklerin oluşturulması, multimedya nesnelerinin kontrol edilmesi, nesnelerin hareketlendirilmesi gibi anlık işlemler Javascript aracılığı ile yapılır
UI: Kullanıcı arayüzünü anlamına gelir. Arayüz çok geniş bir tanımdır, her hangi bir nesneyi kullanmak için oluşturulmuş herşey arayüz olarak ifade edilir. Yazı yazmak için kulanılan klavyeler bir arayüzdir, aynı şekilde telefonların tuşları bir arayüz olarak ifade edilir.
UX: ): Kullanıcı deneyimi anlamına gelir. Kullanıcıların alışkanlıklarına odaklanır. Geliştirilen bir hizmet veya araçtan kullanıcıların ne kadar memnun olduğu ile İlgilenir.
Back-End İlişkisi
Back-End geliştiricilerin ortaya çıkarttığı yazılımlar sunucu yardımı ile veri tabanından aldıkları verileri gerekli işlemlerden geçirerek istemci(client-side) tarafına hazır hale getirirler. Aynı şekilde istemci tarafında gelen verileri, tasarlanan veri yapısına uygun şekilde veri tabanına kaydederler. Bunun yanı sıra, web sayfası üzerinden yüklenen video, resim vb içeriklerin uygun şekilde sunucularda saklanabilmesini sağlarlar. Bu işlemler sırasında sunuculardaki yük dengesi çok önemlidir, çünkü binlerce bazen milyonlarca kullanıcı aynı sunuculara istek gönderebilir. BU noktada front-end geliştiriciler back-end geliştiricilerin ve sunucuların yükünü hafifletmelidir.
Geliştirme Ortamları
Birçok yazılım teknolojisi belirli geliştirme ortamlarına ve eklentilere ihtiyaç duyar. Ancak front-end geliştirme yaparken böyle bağımlılıklar yoktur. Çünkü front-end geliştirme de faydalanılan html, css ve Javascript kodları en basit metin yazma programları kullanılarak yazılabilir. Yine de geliştiricilerin iş süreçlerini kolaylaştırmak ve daha anlaşılır kodlamalar yapmak için çeşitli geliştirme ortamları ihtiyaç duyarlar. Bu ortamlara IDE(Integrated development environment) denir.
Front-End’de Tasarımın Yeri
Tasarım, yazılım geliştirme aşamalarından biri olarak kabul edilir. Web uygulamalarında tasarım yapılmadan herhangi bir geliştirme yapamazsınız. Yazılım ve tasarım bağlantılı çalışma alanlarıdır. Tasarımın yazılım geliştirme süreçlerinde bir role etkiye sahiptir.