İnternet dünyasının temel öğesi olan web sitelerinin, tasarlanma işleminin ardından internet kullanıcılarına ulaşana kadar devam eden titiz bir uygulama süreci bulunur. Web sitesinin görsel açıdan tasarımının hazırlandığı aşamadan sitenin inşa süreci olarak tanımlanan yazılım aşamasına kadar titiz bir çalışma ortaya koyulur. Tüm bunlarla birlikte site içinde yer alacak içeriklerin girişleri ve yayına çıkmadan gerçekleştirilen güvenlik alt yapısı da bu sürecin temel basamakları olarak öne çıkmaktadır. Back End ve Front End, web sektörünün iki farklı yüzüdür.
Web sitesinin oluşturulmasında grafik tasarım ekibinin hazırladığı tasarımın onaylanması ile başlayan inşa sürecinde yazılım ekibine de büyük görevler düşmektedir. Yazılım dünyasında en çok karşımıza çıkan kavramlar da front-end ve back-end olarak bilinmektedir. Nitekim yazılımcı arayışında olan firmaların iş ilanlarına da göz atıldığında, front-end developer, back-end developer şeklinde farklı uzmanlık alanları dikkat çekmektedir. Birbirini tamamlayan ve web sitesinin yazılımı altyapısını oluşturan bu iki kavrama yakından bakalım…
Front End Nedir?
Genellikle uygulamada front-end geliştirme kısmı, back-end geliştirmeden önce geldiği için ilk olarak bu kavrama açıklık getirmek faydalı olacaktır. Bir web sitesini tarayıcıda açtığınızda karşınıza menüler, görseller, renkleri, fontlar gibi pek çok öğe çıkar. Bu ekranda gördüğünüz tüm tasarım özellikleri bir front-end developer yani front-end geliştiricinin eseridir. Bir başka deyişle, bir internet sitesinde kullanıcıların görebildiği ve etkileşime geçebildiği yani tıklayıp gezinebildiği her şey, yazılımın front-end aşamasında hayata geçirilir.
Bu bakımdan front-end yazılımcılar, bir web sitesinin inşasında büyük bir görev üstlenirler. Web dünyasında UX olarak adlandırdığımız kullanıcı deneyimini en iyi şekilde test eden kişilerdir. Kullanıcının web sitesi içinde işini kolaylaştıran ve onların sitenin genel tasarımından ve işlevsel özelliklerinden memnun kalmasında sorumluluğu üstlenen yazılımcılar front-end geliştiricilerdir. Bu aşama teknik ve görsel tasarım becerilerinin aynı anda kullanımının gerektirdiği için üzerinde uzmanlaşılması önemli bir süreçtir. Aynı zamanda web sitesinin front-end kısmında şu kodlama dilleri, kütüphane ve platformlar kullanılmaktadır:
HTML,
CSS,
JavaScript,
Backbone,
Bootstrap,
AngularJS Foundation,
EmberJS,
jQuery,
LESS
Back End Nedir? Back End Geliştirici Ne İş Yapar?
Web sitesinin kullanıcıları davet ettiği ve ilk etkileşime geçtiği front-end kısmının tasarımı tamamlandıktan sonra, web sitesinde back-end geliştirme aşaması başlar. Bu aşama web sitesinin sitemsel ve yazılımsal kısmının çalıştığı yüzüdür. Ortalama bir web sitesinde back-end aşamasında, şu öğeler yer alır:
Sunucu (server)
Uygulama tabanı ve
Veri tabanı
Bu bileşenlerin birbiri arasında sorunsu ve uyumlu olarak çalışması için, back-end yazılımçalışmaları devreye girer. Söz konusu sorunsuz ve stabil çalışmanın gerçekleşebilmesi için back-end geliştiriciler Ruby, PHP, Java, Pyhton ile uygulamayı hazırlamak için çalışır. Bu sürecin ilerleyen aşamalarında mySQL, Oracle, SQL server gibi araçlar yardımıyla gerekli veriyi bulan back-end yazılımcıları, bu verileri kaydedip ya da değiştirip süreç sonunda servis ederek web sitesinin sorunsuz çalışmasını sağlar.
Günümüzde ortalama bir back-end geliştiricinin, Zend, CakePHP, Symfony gibi platformları kullanabilmesi, GİT, CVN, CNS gibi sürüm kontrol yazılımlarına da hakim olması neredeyse bir zorunluluk olarak kabul edilmektedir. Bu amaçla geliştirilen programlar, web sitesinin tasarım sürecinin daha hızlı ilerlemesine ve yazılım ekibinin daha kolay işbirliği içinde projelerini tamamlamasına yardımcı olur.
Yeni bir web sitesi projesinin başlangıç sürecinde, back-end developer, öncelikle veri tabanı şemasını hayata geçirir. Daha sonra bu süreçte kullanılacak kütüphaneleri seçer ve sistemin arka planını hazırlamaya başlar. Bu sayede işin kodlama kısmına geçilerek web sitesinin inşa süreci başlamış olur. İki yazılımcı arasındaki farklara değinecek olursak, bir tiyatro oyunundan örnek verebiliriz. Tiyatro sahnesindeki dekorlardan oyuncuların kıyafetlerine kadar her şey front-end yazılım geliştirme çalışmalarının, tiyatro sahnesinin arkasındaki bütün süreç de back-end kısmının ürünüdür.
Front End Geliştirme İçin İhtiyaç Duyulan Araçlar Nelerdir?
Daha önce bahsetmiş olduğumuz gibi front-end yazılım kavramı, bir web sitesinin kullanıcı deneyimini yaşadığı bölümdür. Dolayısıyla front-end geliştirme sürecinde web tasarım işlemlerinde kullanılan bazı profesyonel araçlar da bulunmaktadır. Genel olarak front-end yazılım geliştiricileri ve tasarımcıların kullandıkları araçlar ve kodlar şunlardan oluşmaktadır:
Adobe XD programı,
Adobe Photoshop programı,
Sketch programı,
HTML kod bilgisi,
CSS kod bilgisi,
JavaScript kod bilgisi,
JQuery kod bilgisi
İşinde uzman bir front-end geliştirici, web sitesinin ön yüzünün geliştirilmesi ve tasarlanması aşamasında bu program ve kodlamaları kullanarak fontlar, açılır menüler, geçişler, sliderlar ve iletişim formları gibi tüm tasarımsal işleri gerçekleştirmektedir. Web sitesinin front-end kısmında yer alan bu öğelere eklenen bilgilerin depolanıp sorunsuz bir şekilde uygulanabilmesi için de back-end yazılım geliştirme sürecine başvurulur.
Back End Geliştirme İçin İhtiyaç Duyulan Araçlar Nelerdir?
Bir sunucu, bir uygulama ve bir veri tabanından oluşan back-end yazılım aşamasında, kullanılan bazı program ve araçlar bulunmaktadır. Web sitesinin back-end kısmını oluşturmak ve sorunsuz bir şekilde kullanabilmek için ihtiyaç duyulan yazılım dilleri ile veri tabanları şunlardır:
PHP yazılım dili,
Ruby yazılım dili,
Python yazılım dili,
MySql veri tabanı,
PostgreSQL veri tabanı ve
Oracle veri tabanı
Tüm bunlarla birlikte back-end geliştiricilerin yazılım tasarlama sürecini hızlı bir şekilde sonlandırabilmeleri için Zend, Laravel ve Code Igniter gibi geliştirmede kullanılan frameworkler de önem teşkil etmektedir.
Back End Geliştirme Konusunda Nasıl Uzman Olunur?
Görüldüğü üzere web tasarımı ve web geliştirme ancak ve ancak bir araya geldiklerinde stabil çalışan bir web sitesi oluşturulabilmektedir. Dolayısıyla front-end ve back-end aşamalarının her ikisi de birbirinden farklı işlerden oluşsa da esasında web sitesinin tasarlanması ve sorunsuz bir şekilde kullanılabilmesi için gereklidir. Söz konusu iki farklı aşamaları da profesyonel düzeyde yapabilen yazılımcılara rastlamak nadir olsa da bu yeteneklere sahip kişiler bulunmaktadır. Bu kişiler web dünyasında “full – stack developer” olarak bilinirler. Bu yazılımcılar tek başlarına bir web sitesi projesinin hem front-end aşamasını hem de back-end kısmını tamamlayabilmektedir.
Online platform üzerinden back-end geliştirici uzmanı olabilirsiniz. Çoğu back-end profesyonelinin popüler kodlama dilleri arasından PHP’yi seçtiği bilinmektedir. Siz de bu kodlama dillerinde gerekli dersleri alarak ve kendinizi geliştirerek başarılı back-end yazılım geliştirici olabilirsiniz. Amacınız ne olursa olsun, ne yaptığınızı ve niçin yaptığınızı anlayarak back-end geliştirme konusunda kendi yol haritanızı belirleyebilirsiniz.
Back End Web Geliştiriciler Ortalama Ne Kadar Kazanır?
Geleceğinizi etkileyecek bir kariyer kararı verirken, back-end yazılımcı maaşları da mutlaka merak ettiğiniz bir konu olacaktır. Web sitesi yazılımcılarının üstlendiği görevler ve kullandıkları araçların dışında bir de işin finansal yönü merak edilir. En kısa tabiri ile bu konuya açıklık getirmek gerekirse back-end geliştirici maaşları ülkeden ülkeye göre değişiklik göstermektedir. Ortalama gelirin düşük olduğu ülkelerde doğal olarak back-end yazılımcı maaşları, gelişmiş ülkelerdeki meslektaşlarına göre düşük seviyelerde kalacaktır. Fakat iyne de ulusal bazda bakıldığında back-end yazılımcıların aylık kazançları ortalamanın çok üstünde seyretmektedir.
Front End ve Back End hakkında tüm detayları öğrenmek, bu iki alandan hangisinin size daha uygun olduğunu belirlemek ya da hayatınıza bir full stack developer olarak devam etmek istiyorsanız, hemen aşağıdaki görsele tıklayabilirsiniz.