Başa Dönün

Back-End / Front-End Nedir?


Figen Yüzbaşıoğlu 29/12/2017
22/08/2018 Tarihinde Güncellendi


"Bu yazı 6 dakikada okunabilir."

Artık bir çok web sitesi dinamik ve her bir kullanıcısı için özel içerik sunmak üzere tasarlanıyor. Tarayıcınızı açıp favori web sitenizde kendi hesabınıza giriş yapıyorsunuz, kendi paylaşımlarınıza ve arkadaşlarınıza ulaşıyorsunuz. Web sitesi sizin arkadaşlarınızı nereden biliyor? Yazdığınız ve paylaştığınız her şeyi nereden hatırlıyor? İşte back-end geliştiriciler tam da bu noktada devreye giriyor. Web sitesine giriş yaptığınızda sunucunuz tarayıcınızdan bir talep alıyor ve sizinle bağlantılı olan bütün verileri arka plandan alıp size sunuyor.
 
front-end ve back-end nedir?
 
Tanımlandığı kelime öbeğinden de anlaşılacağı üzere, bir web projesinin son kullanıcının görmediği çekirdek yazılım kısmına Back-End ve bu mimariyi kodlayan yazılımcıya ise Back-End Developer, yani yazılım geliştirici denir. Back-End altyapısı için kullanılan yazılım dillerinden genelleme yaparak aşina olduğumuz PHP ve ASP.net, veritabanı mimarisi için ise MYSQL ve MSSQL’dir. Mimaride kullanılan bu bileşenler ile örneğin bir CMS (Content Management System – İçerik Yönetim Sistemi) oluşturmak ve bir web sitesinde kullanıcı dostu bir admin panel vasıtası ile her bir sabit – statik alanı dinamik olarak yönetilebilir kılmak mümkün.

Back-end kısmı olarak veri tabanında kullanıcı datalarına sahip olmak güzel; ancak diğer yandan web sitenizin görüntüsünü iyi yapan şey ne? İşte bu noktada Front-end devreye giriyor ve ziyaret edilen her sayfa için güzel bir görünüm ve iyi bir his yaratıyor. Başka bir deyişle, direkt etkileşime geçtiğiniz ve gözünüzle görebildiğiniz her sayfa için renk, fon ve diğer tüm stilleri oluşturuyor. Web sitesi kullanıcılarına marka kimliğini yansıtıp duygusal deneyim yaşatıyor.

Front-End için ise; HTML, CSS ve JavaScript programlama dilleri kullanılıyor. Bu programlama dilleri web sitesinin size yansıyan görünüşüne odaklanıyor. Front-End kısmında işleyişi şöyle bir hiyerarşik liste ile özetlemekte yarar var:

UID (User Interface Designer – Kullanıcı Arayüzü Tasarımcısı ya da Web Arayüz Tasarımcısı) tarafından öncelikle grafik düzlemde web arayüz tasarımının hazırlanması,
UXD (User Experience Designer – Kullanıcı Deneyimi Tasarımcısı) tarafından UX geliştirmelerin ilk fazının tamamlanması,
Tasarımın / projenin Back-End Developer ve marka için anlamlı kılınması adına wireframe olarak marka onayına sunulması; burada bizler PDF formatta taslak çizim / sunum yerine, marka kurumsal kimliğini, görsel ve söylemlerini barındıran, bir anlamda sitenin bitmiş halinin marka tarafından algılanıp kısmen deneyimlenebileceği online sunumları tercih etmekteyiz.
Wireframe onayı sonrasında projenin Front-End Developer’e evrensel Front-End standartlarında aktarımı için, brief doküman eşliğinde PSD versiyonunun, projede yer alan tüm sayfalar, alt sayfalar ve tüm alt kırılımları içerir şekilde (örneğin bir e-ticaret projesinde tasarlanması gereken sayfa sayısı minimum 35 adettir.) iletilmesi.
Bu aşamada Front-End kısmında tasarımın html css’e dökülmesi olarak tanımladığımız kodlanması yapılır. UI kodlamasında ise günümüzdeki en önemli unsurlar, temiz kodlama, schem.org -W3C kriterlerine uyum, AMP ve Rich Snippet’in olması, kodlamanın LESS veya SASS gibi dinamik css yazılmasını sağlayan disiplin ile yapılması olarak sıralanabilir.

 
front-end ve back-end nedir?

Back-End ise adı üstünde kodlamanın arka yüz kodlaması için kullanılan bir yazılım tabiridir. Bu alanda nihai kullanıcı için görsel anlamda bir farklılık sezilmese de sitenin doğru çalışması anlamında Back-End Developer’a çok iş düşer. Tıpkı Front-End’de olduğu gibi Back-End kısmında da elbette projeler tek bir yazılım geliştirici üzerinden ilerliyor değil. Projenin oluşumunda bir analiz uzmanının data mining yapması, proje road map’ini oluşturması ve proje büyüklüğüne göre farklı title ve sayıda geliştirici ile oluşturulan ekibe görevlerini deklere etmesi gerekir. Burada proje yöneticisinin de farklı alanlarda minimum 7-8 proje bitirme tecrübesinin olması gerekir. Yeri gelmişken bazı kökten yanlış algılara da değinmekte yarar var. Bir yazılım mühendisinin, yazılım alanında her bir yazılım dilini veya framework’lerin tamamını sular seller gibi bilmesi diye bir şey söz konusu olamaz.

Back-end nedir konusunda Steve Jobs’un kısa ve basit tanımına katılmamak elde değil.

 “Tasarım nasıl gözüktüğü veya nasıl hissettirdiği değildir, nasıl çalıştığıdır. Steve Jobs” 

Özetleyecek olursak; Back-End; projenin mutfağı olan server side, web sitesinin düzgün çalışmasını sağlayan arka plan kısmını kapsıyor, ön yüz ile veri alışverişine cevap veriyor ve verileri saklıyor, Front-End ise; web sitesinde kullanıcıların gördüğü ve direkt etkileşimde bulundukları ön yüzü, kullanıcının, back-end katmanı ile veri alışverişi yapabilmesini sağlıyor.

Örnek vermek gerekirse; tiyatro oyunun sahne arkasındaki tüm yazım, kurgu vb süreçleri arka yüz yani back-end iken, sahnede görünen kısmı ise ön yüzü yani front-end’dir.

Back-End ve Front-End kavramını yeterince açıklığa kavuşturduk. Final olarak şunu belirtmekte fayda var; yakın geçmişe kadar web sitelerini tamamlayıp yayına aldığımızda proje bitti derdik; günümüzde ise aslında bitti dediğimiz yerde her şey başlamakta. Tasarım bitmeyen bir serüvendir; arka planda son kullanıcının hareketlerini ısı haritası üzerinden takip etmek, site paneli üzerinden kullanıcıların hangi adımlarda takıldığını, Analytics toolları üzerinden sayfanızda ne kadar kaldığı, hangi aşamalarda siteyi terk ettiklerini tespit etmek mümkün. Haliyle tasarımımızı kullanıcılara daha iyi bir deneyim yaşatmak için, diğer yandan da Front-End kodlamasını da scheme,org, W3C, SEO friendly perspektifinde güncellenmesi gerekmektedir. Bu durum Back-End tarafında da geçerli; yazılımın güncel teknoloji ve güvenlik gereksinimleri doğrultusunda güncelleniyor olması gerekir.

Bu makale faydalı mıydı?
 
2724 Okunma   199 Beğeni

Görüşleriniz

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir