Front End Back End Karşılaştırması: Hangisini Seçeceksiniz?

Giriş

Web geliştirmenin şu anda dünyanın en aranan mesleklerinden biri olduğu sır değil. Sorun web geliştiricilerin genellikle iki uzmanlık alanına bölünmesidir: Front end back end sorusu. Peki, front-end vs back-end geliştiriciler arasından sizce hangisi daha iyi?

Bu rehberde, bu kariyer kararınız kendiniz verebilmeniz için ve yeni mesleğinizde başarılı olmak için bilmeniz gereken her şeyi bulacaksınız. Bir kez nasıl işlediğini öğrendikten sonra bu amaçlarınız için çalışmaya başlayabileceksiniz. Hangi teknolojilerin konuya dahil olduğundan bahsedeceğiz. Front end back end arasındaki farkları konuşacağız. Yapacağınız işin türünü tartışacağız. Başa çıkmanız gereken tipik görevleri tarif edeceğiz.

Farklı etki alanları: front-end vs back-end geliştiricilik

Her iki uzmanın da “web geliştirici” terimi başlığı altında değerlendirilmesine rağmen, gerçek şudur ki, front end back end tartışmasında hangi tarafı seçerseniz seçin, bu sizi diğer tarafa geçmenizi sonsuza dek engelleyebilir. Tabii full-stack olmaya çalışmıyorsanız.

O halde front end vs back end geliştiriciler ve sorumlulukları üzerinde konuşmaya hazır mıyız? Haydi başlayalım!

Front-end vs back-end karşılaştırması yaparken anlamanız gereken ilk şey, her birinin hangi uzmanlığı yaptığıdır. Bu farkı anlamak zor değil, nitekim aynı alanın parçaları olan iki dal birbirinden ancak bu kadar farklı olabilirdi. O halde front end back end nedir anlamaya çalışalım.

Web sayfaları nasıl çalışır?

Web sayfalarının nasıl çalıştığını açıklamak için örnek olarak gerçekten popüler olanları kullanalım. Amazon.com çok iyi bir örnek..

Yeni bir kitap satın almak isteyen bir kullanıcı olduğunuzu hayal edin. Arama çubuğunu görüyorsunuz, istediğiniz kitabın başlığını giriyorsunuz, büyüteç simgesine tıklıyorsunuz ve bir liste karşınıza çıkıyor.

Ardından, istediğiniz ürünü tıklıyorsunuz, o ürünün sayfasını açıyorsunuz, satın almaya basıyorsunuz, bilgilerinizi giriyorsunuz, bir teslimat yöntemi seçiyorsunuz ve kitap da yola çıkıyor.

Kulağa basit geliyor değil mi? Göründüğünden çok daha karmaşık.

Front-end geliştirici ne yaptı, back-end geliştirici burada ne yaptı?

Amazon'da gözünüze görünen her şey front-end geliştirici tarafından oluşturuldu. Düğmeler, ürün listesi, ürün sayfası, ödeme sayfası, her şey.

Fakat.

Tüm bu öğeler yalnızca işin arka planında back-end geliştiricinin oluşturduğu sistem sayesinde çalışabilmektedir. Front-end geliştirici tarafından oluşturulan arama çubuğunu kullanırsınız, ancak sonuçlar, back-end geliştiricilerin sağladığı veritabanlarından oluşturulan ve gene aynı back-end geliştiricilerin kodladığı arama algoritmaları kullanılarak üretilir.

Bir web sayfasını çalıştırmak istediğinizde mesele front-end vs back end değildir. Front-end ve back-end birlikte çalışır.

Temel olarak, front-end geliştiricileri web tarayıcınızda veya istemci tarafında oluşturulan her şeyi yapar. Öte yandan, back-end geliştiricileri, sunucu tarafından halledilen her işlemden sorumludurlar. Bu işlemler front-end geliştiricilerin üzerinde çalıştıkları şeyin temel zeminini oluşturur. Front end back end arasındaki ilişki böyle bir şey.

Front-end geliştiricinin yaşamından bir gün

Kararınızı vermek için front-end ve back-end geliştiricilerinin her birinin yaşamından birer günü görmekten daha iyi bir yol var mıdır? Muhtemelen hayır. Diğer her şeyde olduğu gibi front end back end nedir anlamak için örnekle gitmek en iyisidir. O halde front end back end örneklerine bakalım.

Diyelim ki, kendi online hip kaykay mağazasına sahip olan X Şirketinde bir front-end geliştirici olduğunuzu varsayalım.

Bu şirketin UI / UX tasarımcıları, front-end ve back-end geliştiricileri ve sistem yöneticileri vardır.

Front end back end geliştirici tartışmalarının front-end tarafında olsaydınız, gününüzün sabah 9'da başlayacağını söylerdim. İşe gelmek, bir kahve içmek ve web sitelerinin yeni ve geliştirilmiş görünümleriyle ilgili en son görüşleri ortaya koyan fikirleri tartışmak için web tasarımcıları ile bir toplantıya gidecektiniz

Eğer onaylanırsa sayfanın front-end kısmının %60’ını yeniden yapacaksınız. Ancak eğer yeni bir tasarım sunarlarsa, elinizde olmadan heyecanlanırdınız.

Sundukları yeni tasarım tamamen uyumlu (web sitenizin sonsuza dek ihtiyaç duyacağı bir özellik), şimdiye kadar gördüğünüz her şeyden daha iyi görünüyor. Animasyonlarla, paralaks görsellerle dolu. Yapması baya zor olacak.

Bu hayallerdeki senaryodur. Gerçekte, muhtemelen sinirleneceksiniz çünkü önceki sürüm iyi çalışmıştı, iyi görünüyordu ve bu yeni tasarım sizin aylarca çalışacağınız anlamına geliyor. Ve programcılar gereksiz işleri sevmezler.

Bir back-end geliştiricinin yaşamından bir gün

Şimdi, diğer taraftan front-end ve back-end geliştirici konusuna pencerenin diğer tarafından bakalım. Şimdi, aynı şirkette back-end bir geliştirici olduğunuzu varsayalım. Gününüz aynı anda başlıyor, bir fincan kahve yapıyorsunuz (uygun bir espresso, bu arkadaşa panyolu latte yok) ve ardından şirketin CTO'su ile bir toplantıya gidiyorsunuz.

Ana rakibinizin web sitesinde daha doğru arama sonuçları olduğunu ve web sitelerinin çok daha hızlı yüklendiği söyleniyor. Sorunu tartışıyor ve yükleme hızlarını iyileştirmek için sunucu işlemlerini düzene sokarken uygulanması gereken çözümün arama algoritmasını iyileştirmek olduğuna karar veriyorsunuz.

Şimdi, Batman mağarasına gitme ve nasıl çalışacağını anlamaya başlama zamanı. Kolay olmayacak ama kararlısınız. Şirketin başarısı için kritik olan zor bir bulmaca. Siz de bulmaca çözmeyi seviyorsunuz.

Öğle yemeğinde, web sitesinin tasarımının yenilenmesiyle ilgili bir şeyler kulağınıza çalınıyor. Tüm görüntülerin düzgün bir şekilde optimize edildiğinden emin olmalarını öneriyorsunuz ancak çok fazla önemsemiyorsunuz. Web sitesini daha hızlı hale getirmediğiniz sürece, bu sizin probleminiz değil.

Bilmeniz gereken teknolojiler

Daha önce vardığımız sonuçtaki gibi, olay gerçekten de front-end geliştirici vs back-end geliştirici değil. Her iki uzmanlık da birbirini tamamlamak ve bütün web sitesinin komple hem istemci hem de sunucu tarafından doğru düzgün çalışabilmesi için uyumlu olmalıdır.

Front end back end arasındaki tek fark, sitenin çalışması için kullandıkları araçların ve teknolojilerin farklı olmasıdır.

Front-end alet kutusu

Front End Back End Karşılaştırması: Hangisini Seçeceksiniz?

Öncelikle front end vs back end geliştirici problemini ele alırken işin ön tarafından ilerlemeye devam edelim.

Front-end geliştiricilerin peynir ekmeği HTML, CSS ve JavaScript'tir. HTML, web sitesinin iskeletini oluşturmak için kullanılan bir biçimlendirme dilidir. CSS, tarayıcıya her şeyin nasıl görünmesi gerektiğini, onu nasıl şekillendireceğini söylemenin bir yoludur. JavaScript, ekran öğelerine animasyonlar, geçişler ve işlevler eklemek için kullanılır.

Yalnızca HTML, CSS ve JavaScript kullanarak bir web sitesi oluşturabilirsiniz, ancak deneyimli bir front-end geliştiricisi için çok gereksiz bir çalışma olacaktır.

İşleri kolaylaştırmak için, süreci düzene sokan ve kendi kullanımınız için araçları yeniden yapılandırabilmenizi sağlayan Angular.js, React.js, BootStrap vb. gibi kütüphaneler ve yapı çerçeveleri vardır.

Bununla birlikte, en azından daha öğrenim sürecindeyken, kütüphaneler ve yapı çerçeveleriyle kendi işinizi kolaylaştırmadan önce her şeyi sıfırdan yapmayı öğrenmelisiniz. Bu kütüphaneler ve yapı çerçeveleri, istediğiniz şekilde JavaScript'i biçimlendirmeyi öğrenmenizi engelleyen bir koltuk değneğidir.

Koltuk değneklerini başlangıçta kullanmazsanız, daha fazla öğrenirsiniz. Kütüphaneler ve yapı çerçeveleri, ileri seviye geliştiricileri speedy gonzaleslere dönüştürürken, yeni başlayanlar için daha iyi kodlar yazmayı engelleyen şeylerdir. Savaşta güçlü ve hızlı olmak önemlidir. Aynı şey web geliştirme için de geçerli.

Bununla birlikte, Şirket X'in kaykay mağazası tasarımının son derece süslü ve gösterişli tarzı, tüm bunların düzgün çalışabilmesı için birçok özel komut dosyasının gerekeceğini ortaya koyuyor. Deneyimli bir front-end geliştiricisi olarak değerli zamanınızdan tasarruf etmeye ve React.js gibi kütüphaneleri ve uygun olduğunda Angular.js gibi çerçeveleri kullanmaya özen göstermelisiniz.

Back-end alet çantası

Front End Back End Karşılaştırması: Hangisini Seçeceksiniz?

Front end back end karşılaştırmasında front-end geliştiricilerin kullandığı araçlar nispeten daha basittir. Ancak olay front-end vs back-end mevzusunun arka yönünde pek de böyle değil.

Sunucu programlama dilleri

Farklı programlama dilleri arasındaki seçim sizin tercihinize bağlı. Söz konusu projenin ihtiyaçları ve sizin bilgi kapasiteniz belirleyici olacaktır. PHP, Express çerçevesinde Node.js run-time ortamı, Python, Ruby, C #, Java ve diğerleri ile birlikte kullanılan JavaScript gibi birçok popüler sunucu taraflı programlama dili vardır.

Back-end için kullanılan ortam teknolojileri de kullanacağınız dili belirleyebilir. Örneğin, web siteniz Symfony veya Laravel üzerine kuruluysa, PHP'yi kodla amacıyla kullanmak zorunda kalacaksınız. Django çerçevesi içinse Python daha mantıklı bir seçim. Express çerçevesi ise sizi Node.js kullanmaya zorlayacaktır.

Veritabanları

İlişkisel ve ilişkisel olmayan iki ana veritabanı tipi vardır. Veritabanı tipi seçimi, projenizin hangi veritabanı sistemini kullanacağını ve hatta tüm projenin kodlanacağı programlama dilinin ne olacacağını belirleyecektir.

MongoDB, MySQL, Oracle, Redis ve diğerleri gibi birçok popüler veritabanı sistemi bulunmakta.

Farklı ilgi alanlarına yönelik farklı uzmanlıklar

İlgili teknolojileri ve çözüm getirdikleri farklı sorumlulukları dışında, front end vs back end geliştirici seçimi aslında tamamen kişiliğinize kalmış bir şey olabilir. İş hangi tarafın terazide daha ağır bastığına geldiğinde front end back end arasındaki fark tamamen kişisel seçimlere gelecektir.

Estetik sizin için önemliyse, kariyeriniz için front-end gelişimini seçmelisiniz. Yapacağınız işin büyük bir kısmı, kullanıcının bir web sitesinde gördüğü her şeyin kullanımını kolaylaştırmak ve güzel görünmesini sağlamak.

Büyük bir front-end geliştiricisi tasarım-fu’yu anlayabilecek ve bunlara katılabilecek durumda olmalıdır.

Tasarım-fu nedir? Tasarımcıların boş bir belge alıp güzel bir web sitesi hazırladıkları 21. yüzyıl Kung-Fu çeşididir.

Anektot olarak, web tasarımı hayatları boyunca bir tasarımcı olmak isteyip de ellerine hiçbir zaman fırça almamış insanlar için mükemmel bir seçim olabilir.

Öte yandan, back-end geliştiriciliği tamamen farklıdır. Back-end geliştiricilerin, estetik söz konusu olduğunda ilgilendikleri tek şey temiz kod yazmaktır. Ki bu bile bir deadline söz konusu olduğunda tarihin unutulmuş sayfalarına gömülebilir.

Zarif algoritmalar, zor problemlere dahi çözümler: Arka planda çalışan geliştiricilerin dikkatini çeken şey budur.

Şimdi, bir şekilde back-end geliştiricilerin üstün olduğunu düşündüğümüz izlenimini edinebilirsiniz.

Hiç de böyle değil. İki disiplin de eşittir, sadece farklı bir beceri yelpazesi ve öncelikleri ortaya koyuyorlar.

Bazı insanlar… görsel şeyler için doğal bir yeteneğe sahipken, diğerleri işlerin nasıl yürüdüğünü kontrol etmeyi sever. Kulağa hoş gelen seslere göre uzmanlığınızı seçmeyin, bu yapabileceğiniz en büyük hatalardan biri!

Sizi en çok ilgilendiren işi seçin. Bunun gelişim ile ilgisi yoksa, harika! Bütün gününüzü, size bir servet kazandırsa bile, nefret ettiğiniz şeyleri yaparak geçirmekten daha kötü bir şey yok.

Ne tür bir ücret alacağım?

Hepimizin merak ettiği konu web geliştirici maaşları sanırım. Her iki web geliştirici türü de dünyanın her yerinde dengeli bir biçimde ödemelerini alıyor olsalar da, bu konuda yapacağınız seçim yine her iki uzmanlıkla ne yapmayı umduğunuza bağlı olabilir. Front end back end arasındaki farkı gözetirken aldıkları maaş farklarını da ele almamız gereklidir.

Birkaç farklı ülkedeki front-end ve back-end geliştirici spektrumundaki ortalama maaşlara bakalım.

Front-end maaşı

Glassdoor.com'a göre, New York’taki ortalama front-end geliştirici maaşı ulusal ortalamanın  %20’nin üzerinde, yani 111.728$ kadar. Bu, New York şehrinin dünyadaki en canlı insan kitlelerinden birine sahip olan bir metropol ve gelişen bir iş ekosistemi olmasıyla açıklanabilir. Front end kulvarındaki web geliştirici maaşları bu civarlardadır.

Glassdoor.com'a göre, İngiltere'deki Londra’da, front-end geliştiricileri için yıllık ortalama maaş, ulusal ortalamanın %22’nin üzerinde, yani yaklaşık 52.000$ civarındadır. Bu, New York'la karşılaştırıldığında oldukça düşük olmasına rağmen, yaşam masraflarının da işin içine girdiğini unutmayın.

Hindistan'da, front-end yazılım geliştiricileri için ortalama yıllık ücret 5.000$ civarındadır. Bu, web geliştirici maaşları söz konusu olduğu zaman, New York’tan beklediğinize kıyasla güpegündüz soyguna benzeyebilir ama unutmayın, Hindistan’da yaşamanın maliyeti, New York’ta olanla kıyaslanamaz bile!

Back-end maaşı

New York'ta, ortalama bir back-end geliştiricisi, ulusal ortalamanın %17’nin üzerinde olan yaklaşık 133.182$ kazanmayı bekleyebilir. Fark etmiş olabileceğiniz gibi, aynı şehirdeki front-end geliştirici maaşına göre önemli bir farklılık var.

Londra'da, back-end geliştiricilerin maaşı, ülke ortalamasının %32'si olan 74.000$'a çıkıyor. Hindistan'da da aynı şekilde front-end’in maaşına oranla benzer bir maaş artışı bekleyebilirsiniz.

Karar

Paraya gelince, back-end vs front-end tartışmasında, back-end açık ara kazanmakta. Front end back end karşılaştırmasında maddiyat açısından önde gibi görünüyor. Göstergelerde front-end’den daha fazla kazandığı ortada.

Peki neden?

Çünkü back-end işi çok daha fazla sorumluluk gerektiriyor. Bir back-end geliştiricinin hatası, şirkete bir front-end geliştirici tarafından yapılan aynı ölçekte bir hatadan çok daha pahalıya mal olabilir.

Bir back-end geliştirici kodunda ciddi bir hatayı çözmeden bırakırsa, tüm web sitesi çökebilir, saldırıya uğrayabilir, dolandırıcılarla istismar edilebilir. Bir front-end geliştiricisi hata yaparsa, bunların hiçbiri web sitesinin sunucu bölümünde sorumlu olmadığı için gerçekleşmeyecektir. Front end back end arasında böyle bir sorumluluk farkı var.

Peki, hangisini seçmeliyim?

Umarım, bu rehberi okuduktan sonra front-end ve back-end geliştirici tartışmalarında nerede durduğunuz konusunda daha iyi bir fikriniz vardır. Front end back end nedir anladıktan ve hayatın içinde nerede durduklarını kavradıktan sonra seçim sizin için daha kolay olacaktır.

Zor algoritmalardan ve karmaşık sistemler kurmaktan daha çok estetikle ilgileniyorsanız, ön sayfa geliştiricisinin izinden gitmelisiniz.

Bu, bir front-end geliştirici olmanın kolay olduğu anlamına gelmiyor. Harika olmak için sayısız kütüphaneye ve çerçeveye hakim olmanız gerekli. İleri düzeydeki projelere katkıda bulunacak kadar bilgi birikimine sahip olmak uzun zamanınızı alacaktır.

Öte yandan, back-end geliştiricileri başlangıçta biraz daha rahat ediyor. Bilmeniz gerekenleri bildiğinizi varsayarsak, öğrenme eğrisinin biraz daha yumuşak olduğunu söyleyebiliriz. Bunun nedeni, back-end geliştiricilerin genellikle çok belirgin alanlarda uzmanlaşmış olmalarıdır; front-end geliştiricileri ise HTML, CSS ve JavaScript ile ilgili her şeyi bilmek zorundadırlar. Yani bir şekilde o noktaya gelmek mecburiyetindeler. Front end back end ayrımlardan en önemlilerinden biri de uzmanlaşma alanlarıdır.

Front-end vs back-end geliştirici seçimi. Sahne hazır, tarafını seç. Hangisini seçeceksiniz?

Dürüst geri bildirimde bulunun

Gerçek fikrinizi bırakarak en iyi online eğitim platformunu seçmek isteyen binlerce insana yardımcı olun. Pozitif veya negatif de olsa tüm geri bildirimler dürüst oldukları sürecek kabul ediliyor. Taraflı geri birimleri veya spam'leri yayınlamıyoruz. Deneyiminizi, fikrinizi veya tavsiyenizi paylaşmak istiyorsanız sahne sizin!

SSS

Hangi online ders sitesini inceleyeceğinizi nasıl seçiyorsunuz?

Piyasa boyutuna, popülerliğe ve en önemlisi kullanıcılarımızın taleplerine veya belli online eğitim platformları hakkında gerçek MOOC incelemesi okumak isteme talebine göre online eğitim platformlarını seçiyoruz.

E-öğrenme incelemelerinizi yazmadan önce ne kadar araştırma yapıyorsunuz?

MOOC uzmanlarımız haftalarca araştırma yapıyor. Sonrasında farklı etkenler hakkında değerlendirmelerini yapabiliyorlar. Çok fazla zaman alsa da online eğitim platformundaki tüm gerekli özelliklerin denenmesi, test edilmesi ve gerçek verilere dayalı bir hükümde bulunulmasını garanti edebilmemiz için tek yol bu.

En iyi online eğitim platformlarını seçerken en önemli etken hangisi?

Tek bir etken seçmek yanlış olur. Öncelikler her kişinin değerlerine, isteklerine ve hedeflerine göre değişiyor. Biri için önemli olan bir özellik başkası için önemsiz olabiliyor. Tüm kullanıcıların öğrenme materyallerinin iyi kalitesi konusunda hemfikir olması bir online eğitim platformu olmazsa olmaz.

Bu e-öğrenme inceleme platformu diğerlerinden nasıl farklı?

Her MOOC inceleme platformu eşsizdir. Kendi hedefleri ve değerleri vardır. Bizim e-öğrenme incelemelerimiz %100 gerçektir ve dikkatli bir analizden sonra kaleme alınır. Çoğu e-öğrenme inceleme sitesinde bu bu özellik bulunmadığından bunu süper gücümüz gibi görüyoruz!

Gün
Saat
Dakika
Saniye