'Ön Uç' terimi 'İstemci Tarafı' ile eşanlamlı mı? Eğer öyleyse, durum hep böyle mi?


19

Nispeten yeni (kendi kendini yetiştirmiş) bir web geliştiricisi olarak, ön uç , istemci tarafı , arka uç ve sunucu tarafı terimlerini oldukça sık duydum . Bana göre, ön uç ve arka uç her zaman sırasıyla istemci tarafı ve sunucu tarafı ile eşanlamlıydı.

Ancak, CodeIgniter gibi MVC çerçeveleriyle çalışmaya başladığımda, arka uçta herhangi bir şeye atıfta bulunurken, son kullanıcının gördüğü her şeye (sunucu tarafı kodu dahil) atıfta bulunan birkaç ön uç örneğiyle karşılaştım. son kullanıcı görmez (CMS'ler dahil). Müşteri tarafı ve sunucu tarafı, benim için anlamlarında çok daha somut; onları birbirinden ayıran çok farklı bir çizgileri var. Öte yandan ön uç ve arka uç yapmaz.

Bir konuşmada başka bir web geliştiricisiyle yaşadığımı hatırlıyorum, CodeIgniter'den (bütünüyle) bir ön uç olarak bahsetti ve bu beni bir döngü için attı. Onu düzeltip CodeIgniter'ın arka uç olduğumu ya da iki terimin tanımlarımın tamamen yanlış olup olmadığını söyleyemedim.

Ön ve arka uç tanımlarını aramak, bazı açılardan biraz daha açık olsa da, bazı açılardan beni biraz daha karıştırdı. Sadece bu dört terim arasındaki çizgilerin nerede çizildiğini ve web geliştirme bağlamında (özellikle bir LAMP yığınında) nasıl bir araya getirildiklerini bilmek istiyorum.


1
Ben "ön uç" ve "arka uç" kullanılan bir adamla çalıştım "ön yüz" ve "arka yüz" anlamına gelir. "Doğru" olup olmadığı başka bir soru.
user16764

Bunun yerine "posterior" kelimesini kullanmalıyız. Dalga geçmek. Keşke bunun için başka bir cümle olsaydı. "Back end" için benzer kelimeler.
Erik Aronesty

Yanıtlar:


17

Bu terimler için resmi bir tanım olduğuna inanmıyorum ve belirttiğiniz gibi bazı durumlarda çakışma var.

front-endve client-sideörtüşme.
server-sideve back-endüst üste biniyor.

Eğer saçları ayırırsam, şu kaba sınırları teklif ederdim:

  • client-sidekullanıcıların bilgisayarında çalışan bir uygulamadır. Tek başına bir uygulama olabilir (daha sık) veya web tarayıcısı tabanlı bir arayüze (daha az olası) atıfta bulunabilir.
  • front-endayrıca son kullanıcıya bakar ve genellikle web tarayıcısı tabanlı bir arayüzde çalışır. Kalın müşteriler olarak adlandırıldığını duymadım front-end.
  • back-end"Sunucu" terimi, başka bir sunucuda veya kullanıcıların bilgisayarının arka planında çalışan işlemleri ve hizmetleri belirtir. Çoğu zaman , son kullanıcıların bilgisayarında olmayan süreçleri ifade eder . Ancak, belirttiğiniz gibi, anahtar, son kullanıcının çalışan süreçlerin farkında olmamasıdır.
  • server-side, back-endişlemlerin son kullanıcıların bilgisayarlarında değil başka bir yerde çalıştığı gerçeğinin bir uzantısıdır, ancak açıkça güçlendirmektedir.

Örnek olarak ve terimler arasındaki karışıklığı vurgulamak için Minecraft'ı örnek olarak kullanacağım.

Minecraft bir

  • client-side jar dosyalarını yerel olarak kendi JVM ile çalıştırdığınızda uygulama.
  • front-end web tarayıcınızda istemci uygulamasını çalıştırmayı seçerseniz
  • back-end Tek başına moddaysanız, makinenizde yerel olarak çalışabilecek işlem
  • server-side işlemi, Minecraft sunucu uygulamasını barındıran bir sunucuda oturum açmayı seçerseniz.

Minecraft'ın bazı istatistiklerini incelerseniz, sadece oyuna bir clientve serverbileşen atadıklarını göreceksiniz ; bu bileşenlerin nerede çalıştırıldığı umurumda değil.


Sorularınızı doğrudan cevaplamak için:

'Ön Uç' terimi 'İstemci Tarafı' ile eşanlamlı mı?

Bir çeşit, ama gerçekten değil. Web tabanlı dünyanın dışındaki şeyleri tartışıyorsanız, terimler arasında bir nüans var. Kesinlikle web tabanlı dünyada iseniz, evet, onlar işlevsel olarak eşanlamlıdır.

Eğer öyleyse, durum hep böyle mi?

Web dünyasında evet derim. Diğer alemlerde, teklif ettiğim kaba tanımlarda açıklandığı gibi hayır diyebilirim.


Düşündüğüm şey bu. Kafamda bunu temizlememe yardım ettiğin için teşekkürler.
DC_

2
Arka uç genellikle bir web sitesinin / uygulamanın istemci tarafı yönetim kısmı anlamına gelir.
Florian Margaine

20

Sunucu tarafı sunucuda çalışır. İstemci tarafı istemcide çalışır. Arka uç veriyi eziyor. Ön uç görüntülüyor.

Bu web sayfasına bakın. Veritabanından tüm yorumları çekmek sunucu tarafı, arka uç çalışmasıdır. Bu verileri bir şablonda yerleştirmek ön uç, sunucu tarafı çalışmadır. AJAX oylama widget'ları ve şık metin giriş kutusu ön uç, istemci tarafındadır.


4
Ön uç / arka uç kavramı ile istemci tarafı / sunucu tarafı kavramı arasındaki dikeyliği işaret etmek için +1
Francesco Feltrinelli

1

Geliştirme / geliştiricileri tanımlamak için genellikle istemci tarafı ve sunucu tarafı kullanmak daha az belirsizdir. İstemci tarafının verileri dengelediğimiz / biçimlendirdiğimiz kısmı arka uç bileşeni olarak görülebilir. Flip tarafında, "ön uç için" olmak, insanların ön uç Java veya C # geliştirme olarak konuşmalarına neden olma eğiliminde olan arka uçta gerçekleşme eğilimi gösteren tüm cazip şeyler var. Nadirdir, ancak iş tanımlarında gördüm.

Ancak evet, genel olarak ön uç konuşmak etkileşimin gerçekleştiği kısımdır. Arka uç, tüm bu etkileşimin yararlı bir şeye dönüştüğü kısımdır.


0

Bu soru biraz daha eski ama 2c'mi eklememe izin verin:

Kendi web geliştirmemde, tarayıcıda bir süre işlenen "ön uç" terimini kod veya diğer kaynaklar anlamında kullandım. Şimdi, "müşteri" terimini kullanıyorum, çünkü esp kafa karıştırıcı olabilir. web uygulamaları yaparken. (Tek Sayfa Uygulamaları)

Bunun için arka uç tarafında, orada da bir "ön uç", genel olarak araç (tarayıcısına) çıkışı için sorumlu olan bir uygulamanın parçası. Yani "ön uç" aslında iki farklı anlama gelebilir. Bununla birlikte "istemci" terimi, gerçek istemciyle (bu durumda tarayıcı) ilgili bir şeyi daha açık bir şekilde tanımlamaktadır.

Not: Belki de şimdi takma adımı "client_dev" olarak değiştirmeliyim;)


0

Bir web uygulamasındaki istemci tarafı kullanıcının / müşterinin kontrolü altındadır, sunucu tarafı geliştiricinin kontrolü altındadır. Bu, sunucuda veri doğrulaması yapılmasının bir nedenidir.

Terimleri ön uç ve arka uç sıklıkla için eşanlamlı kullanılır istemci tarafında ve sunucu tarafında ve birçok durumda o ok. Bununla birlikte, önemli karşı örnekler de vardır. To bana , ön uç şey kullanıcıya bu gösterileri bir şeydir.

Aşağıdaki görüntüde, tipik teknolojileri / kavramları ve (ön uç, arka uç) / (istemci tarafı, sunucu tarafı) kadranlarına nasıl uyduklarını görebilirsiniz.

resim açıklamasını buraya girin

Ön Uç ve Arka Uç Geliştiricileri

Ön Uç ve Arka Uç geliştiricisi çok yaygın iki roldür. Sunucu tarafında oluşturulabilen React ve jinja şablonlama motorunu içeren Flask gibi şeyler olduğunda satır biraz bulanıklaşır .

Web SQL veritabanı ve Indexed Database API gibi teknolojileri "istemci tarafı arka uç" çeyreğine koysam da, genellikle bunu bilen rol ön uç geliştirici rolüdür.

  • Ön uç geliştiricileri HTML, CSS, DOM ve genel tarayıcı yeteneklerini (ör. Caniuse ) bilmelidir . Genellikle bazı jQuery veya React bilirler. Tanımıma göre arka uç olmasına rağmen, ön uç geliştiricilerinin istemci tarafı depolama hakkında bilgi sahibi olmasını beklerim
  • Arka uç geliştiricileri nginx, gunicorn, Apache veya node.js gibi web sunucularını bilmelidir. En az bir SQL veritabanı (Postgres, MariaDB / MySQL, ...), anahtar / değer depoları (Redis), API geliştirme (REST ve GraphQL) bilmelidirler. LAMP , bir süre önce tipik bir yığındı. Ben bir arka uç geliştirici tarayıcılar hakkında bir şey bilmek beklemem!

UI Tasarımcısı vs Ön Uç Geliştirici

Diğer iki rol UI tasarımcısı ve ön uç geliştiricisidir. Bir fark, birinin tasarımcı ve diğerinin geliştirici olmasıdır.

Amaç:

  • UI tasarımcıları kullanıcı deneyimini hazırlar
  • Ön Uç Geliştirici beklendiği gibi görünmesini sağlar (taslaktan gerçek şeyi oluşturmak)

Araçlar:

  • UI tasarımcıları çoğunlukla Adobe Photoshop / Illustrator / Sketch / Balsamiq / Invision kullanıyor.
  • Ön Uç geliştiricileri React, Vue, Angular kullanır

API'lar: REST ve GraphQL

API'lar arka uç ekipler tarafından sağlanır ve uygulamayı kullanıcılarla doldurmak için kullanıcı arabirimleri tarafından kullanılır. Arka uç, cihazlar arasında kalıcı depolama, ön uç sunum katmanıdır. API her ikisi için de iletişim kanalıdır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.