Ben backend ile frondend arasındaki ilişkiyi kuramadım

Merhaba, pythonda bir kaç uygulama geliştirdikten sonra bu uygulamaları web app versiyonunu geliştirmek için web dilleri öğrenmeye başladım hala internetten videolar seyredip makaleler okuyorum javascript’te orta seviyedeyim diyebilirim sanırım ancak anlamadığım bir konu javascript dom ile inputlardan verileri alınca bunları php yada benzeri backend dili nasıl sunucuya gönderiyoruz? yani javascript ile php arasında nasıl bir ilişki oluyor? php’ye henüz başlamadım php de dom yapısı varmıdır bilmiyorum ancak var ise javascriptin dom yapısını veya ajax kullanmaya ve http request yapmaya ne gerek var o zaman? ayrıca tüm sunucu işlemleri php ile yapılıyor ise javascript sadece animasyonlar ve eventler için kullanılması daha mantıklı değil mi?

Öncelikle backend kısmı;
Biri web sitene tarayıcıdan(chrome) girdiğinde, web siteni yayına aldığın sunucuya bir istek gelir ve bu isteğe yanıt verme işini görür. Örneğin yanıt olarak anasayfa dosyalarını gösterirsin veya şifre sorma ekranını. Şifreyi girdikten sonra tamama bastığın da şifre formunda ki bilgilerle beraber servere bir istek gelir ve backend kısmın da formda ki bilgileri kontrol edip doğru veya yanlışsa ona göre cevap yollarsın.(giriş yapar veya hatalı şifre gibi)

Web tasarım da frontend ise gönderdiğin cevapların görüntü kısmı gibi düşünebilirsin. Örneğin üye olma sayfasını tasarlarsın bu frontend kısmıdır. Üye olma sayfasını cevap olarak sitene girene yollama işlemi backend kısmıdır.

İstersen javascript dilini backend kısmında da node.js ile kullanabilirsin ama html dosyasın da yaptığın js işlemler sadece tarayıcı da gözükür (frontend). Html etiketler ve javascript işlemlerini, sitene her giriş yapanın tarayıcısın da çalıştırmak için göndermen gerekir. Bu yüzden backend kısmı olmazsa olmazdır.

Eğer sitene giriş yapana basit bir görüntü(düz yazı gibi) göstermek istiyorsan backend tarafında halledebilirsin. Ancak kimse web sitesinin kötü görünmesini istemediği için tasarımı güzel bir html dosyası hazırlanıp gönderilir.

Kısaca tüm sunucu işlemlerini php ile yapabilirsin ama kullanıcının etkileşime geçtiği yer(frontend) için html, css, js veya php ile çalışıyorsan php kullanmalısın.

Verileri sunucuya gönderme işlemini tarayıcı yapar. Siz sadece frontend kısmın da sunucu adresini yani gönderileceği yeri vs. html gibi dosyalara yazarsınız tarayıcı da sizin yazdıklarınızı http isteklerle yerine getirir.

1 Beğeni

Hiç kimsenin anlatmayacağı bir şekilde anlatayım.

Aslında front end back end bir hayalden ibaret.

TCP/IP protokolü, soketler üzerinden haberleşir. Gönderdikleri veri de aslında text dir. Http açılımına bakabilirsin.

Bu metin dizisini görselleştiren browser/ tarayıcılardır. Tarayıcılar zaten bu iş için metni alır görselleştirir şekilde tasarlandığından onun kurallarına göre yazılan mentinler gönderirsin. Bu metinleri düzenleyen görsel tarafını önemseyenler adı üstünde front endcilerdir.

Sanata saygım var, renkler görsel tasarım yetenek işi. Ama javascript desteği, olmayan veya css desteği olmayan bir browser ınız olsun bu durumda zaten görsel yetenekleri yazsanız da göstermez. Front endciler behind the browsercılardır (Ben uydurdum). Yani browserın kadar yetenekli olabilirler.

Back end çiler de o text akışlarını serverdan gönderen arkadaşlardır. Bir veri tabanından verileri alarak, bir matematiksel analiz yaparak hesaplayan programlardan aldıkları değer ve buna benzer diğer verileri http nin istediği metin formatında sağlayanlardır.

Onlar da front endciler gibi yazılımların(veri tabanı, hesaplama motorları ve diğer üçüncü parti yazılımlar) izin verdiği kadar yeteneklidir.

Sonuçta aslın aslında orta gezen metin dizilerinin oluşturulmasının belirli kısımlarından sorumludurlar.

Şahsi görüşüm, katılmayabilirsiniz, her ikisi de bilişim tüketicisidirler. Her ikisi de DNS sağlaycılar, hosting sağlayanların, ağ donanımı sağlayanların müşterisidirler. Aslındaa end lafı da yersiz. Asıl end point, kullanıcıdır.

Bir nevi sadet zinciri, tükedici, kullanıcı, tüketici front endci, tüketici back endçi. Parayı da cisco, Oracle gibi firmalar vurur.

Ufak ufak da yazılımcılar nemalanır.

Çok acımasız eleştirdim, neyse.

2 Beğeni

Yapılıyor değil de yapılabiliyor dersek taşlar yerine oturur. Server ayağa kaldırma işi PHP yerine GoLang (Echo) ile de yapılır, Python (Flask) ile de yapılır, Java (Spring) ile de yapılır. Tabii, Javascript (Node JS) ile de yapılır. Neyi nerede kullanacağımız bize kalmış.