Günümüzde kullanılan web sitelerinin çoğunda Back-End ve Front-End, kullanıcıya özel içerik üretmesinin yanı sıra, dinamik bir yapıya sahip olabilmesi için geliştiriliyor. Kullandığınız tarayıcıyı açıp, hesabınıza bağlandıktan sonra, arkadaşlarınıza, onların ve kendi paylaşımlarınıza ulaşım sağlayabiliyorsunuz. Peki bu web siteleri arkadaşlarınızı nasıl biliyor? Daha önce paylaşmış olduğunuz postları ve diğer her şeyi nasıl hatırlıyor?
Back-end geliştiricileri tam olarak bu noktada işin arkasındaki isimler oluyor. Giriş yaptığımız web sitelerinde, sunucular kullandığımız tarayıcı üzerinden bir sinyal ile talebi aldıktan sonra, bu sinyal ile hesabınızın bağlantıda olduğu bütün verileri, sisteminizin arka planından alıp, kullanıcıya sunuyor.
Back-End Nedir?
Back-End, bir bilgisayar uygulamasının veya bir programın kodunun çalışmasına izin veren ve bir kullanıcı tarafından erişilemeyen bölümlerine kısımlara verilen addır. Bunu sağlayan mimariyi kodlayan kişilere ise Back-End Developer, yani yazılım geliştiricisi denir.
Çoğu veri ve işletim söz dizimi, bir bilgisayar sisteminin Back-End kısmında depolanır ve bunlara erişilir. Genel olarak kod, bir veya daha fazla programlama dilinden oluşur. Back-End, yazılım veya donanımın veri erişim katmanı olarak da adlandırılır ve dijital yollarla erişilmesi ve gidilmesi gereken tüm işlevleri içerir.
Back-End altyapısı için gerekli olan ve kullanılan yazı dilleri, çoğu kullanıcın da aşina olduğu üzere ASP.net ve PHP iken, veri tabanı mimarisi için kullanılan diller, MSSQL ve MYSQL’dir. Kullanılan bu bileşenler dahilinde bir web sitesi için CMS (Content Management System – İçerik Yönetim Sistemi) oluşturmak ve bu sayede kolay ve kullanıcı uyumlu admin paneli ile sitenizi daha dinamik bir hale getirmek mümkün kılınmıştır.
Front-End Nedir?
Back-End sayesinde veri tabanında kullanıcı verilerine sahip olmak cezbedici olsa da bir yandan bizim için bir web sitesinin görünümünü en güzel kılan şeyin ne olduğunu sorduğumuzda, devreye Front-End giriyor.
Bir site tasarlamanın amacı, kullanıcılar siteyi açtıklarında bilgileri okunması kolay ve alakalı bir biçimde görmelerini sağlamaktır. Bu, kullanıcıların artık değişen ekran boyutlarına ve çözünürlüklere sahip çok çeşitli cihazlar kullanması ve bu nedenle tasarımcıyı siteyi tasarlarken bu yönleri dikkate almaya zorlaması gerçeğiyle daha da karmaşıklaşıyor. Sitelerinin farklı tarayıcılarda (çapraz tarayıcı), farklı işletim sistemlerinde (platformlar arası) ve farklı cihazlarda (cihazlar arası) doğru bir şekilde göründüğünden emin olmaları gerekir, bu da geliştirici tarafında dikkatli bir planlama gerektirir.
Front-End için kullanılan diller arasında JavaScript, HTML ve CSS yer alıyor. Web sitenizin görsel kısmını öne sunan bu diller, kullanılmalarının en büyük sebebi. Gelelim Front-End kısmının nasıl işlediğine:
Grafik düzlemdeweb ara yüzünün tasarlanması için kullanılan UID (User Interface Designer – Kullanıcı Ara yüzü Tasarımcısı ya da Web Ara yüz Tasarımcısı)
Ardıdan UX geliştirmelerininilk kısmının tamamlanması için gerekli olan UXD (User Experience Designer – Kullanıcı Deneyimi Tasarımcısı)
Dahilinde hazırlanan taslağın Back-End Developer ve Şirket için dahaanlaşılabilir olması için, Wireframe şeklinde Şirket onayına gönderilir.
Back-End ve Front-End Birlikte Çalışmaları Gerekiyor!
Alınacak Wireframe onayının ardından projede çalışan Front-End Devoloper ise, standartlar dahilinde, PSD olacak şekilde aktarılan brief dokümanının, bütün sayfalarını, alt sayfalarını ve tüm alt kırılımlarını iletmesi gerekir.
Gelinen aşamada, Front-End üzerinde tasarımın HTML ve CSS’e aktarılması gerçekleştirilir. Günümüzde UI kodlamasında göz önünde bulundurduğumuz en önemli faktörler ise; yapılan kodlamanın temiz olması, schema.org ve W3C School faktörlerine uyumu, AMP ve Rich Snippet’in olması, kodlamanın LESS veya SASS gibi kurallar kullanılarak dinamik olacak şekilde yazılmasıdır.
Geri kalan kısımlarda isi, görselliğin dışında, Back-End Developer’a büyük iş düşüyor. Front-End Development’da olduğu gibi Back-End tarafı da yapılan projelerinde tek bir yazılımcı kullanmıyor. Projenin ortaya çıkabilmesi için, data mining yapması, yapılacak projenin road map’ini oluşturması, projenin büyüklüğüne göre farklı unvan ve sayıda Developer ile oluşturulması gereken ekibe görevlerini belirtmesi için bir analiz uzmanı atanır.
Tasarım Bir Şeyin Sadece Dıştan Nasıl Görüldüğü Değildir!
Back-end nedir diye konuşurken Steve Jobs’un kısa ve basit tanımına katılmamak elde değil:
“Tasarım bir şeyin yalnızca nasıl göründüğü ve nasıl hissettirdiği ile ilgili değildir. Tasarım bir şeyin nasıl çalıştığıyla da alakalıdır..’’.
Kısaca özetlemek gerekirse, Back-End; projenin yer aldığı web sitesi ile server side arasında düzgün çalışmasını sağlayan arka planı kapsar. Bunun yanı sıra, Front-End ile veri alışverişi yapıp, verilerin saklanmasında yardımcı oluyor. Front-End ise; kullanıcıların web sitesine girdiğinde görmüş olduğu ve etkileşimde bulundukları kısımdan sorumlu olup, kullanıcıların Back-End ile veri alışverişi yapabilmesine olanak sağlıyor.
Back-End ve Front-End gibi kavramlara değindikten sonra, şunu belirtmekte fayda olduğunu düşünüyorum. Bir süre öncesine kadar, tamamlandıktan sonra publislenen web siteleri, bu proje sonlanmış olarak kabul edilirdi. Günümüze gelindiğinde, bitti diye adlandırdığımız projeler aslında her şeyin daha yeni başladığını göz önüne seriyor. Şunu unutmamak lazım ki tasarım uçsuz bucaksız bir evrendir. Veri arka planında kullanıcıların hareketlerini ısı haritası üzerinden takip etmek, kullanıcılarının nerede takıldıklarını sitede bulunan panel üzerinden görebilmek, Analytics toollar sayesinde kullanıcılarınızın sayfa üzerinde ne kadar vakit geçirdiği, hangi kısımlarda siteden çıkış yaptıklarını tespit etmek artık mümkün.
Bu nedenle tasarımcıların, kullanıcılara daha iyi bir deneyim yaşatabilmeleri için; Front-End kodlamalarını scheme.org, W3C School, SEO friendly göz önünde bulundurarak güncelleştirmesi gerekiyor. Back-End kısmında da geçerli olan bu durum, kullanılan yazılımın güncel teknoloji ile geliştirilen bir mimaride, siber güvenlik gerekliliklerini de göz önünde bulundurarak güncellenmesinde fayda var.