Front-End ve Back-End'çi ortak nasıl proje yaparlar?

BreaKSooN05

Kilopat
Katılım
17 Şubat 2019
Mesajlar
3.535
Çözümler
17
Frone-end'in hazırladığım taslak bir projeyi o nasıl Back-End'e dönüştüyor? Benim React kodlarım silinip onun yerine Back-End kodlarımı geçiyor?

Bu konularda biraz bilgi verir misiniz? Takım çalışmaları nasıl yürüyor, ilk Front-End'çi mi projeyi bitirmeli? Yoksa Back-End oturduktan sonra mı Front-End'çi devam eder.
Front-End dediğimiz önyüz görünüş ancak React çok hoşuma gitti. Yazdığım React kodları Back-End devreye girince ne oluyor? Mesela tutturduğum veriler, listeleme işlemleri vb çoğu işlemi Back-End koduyla mı yapıyorlar? Tutulan veriler zaten DB'e gidecek.

Çok basit örnek vereceğim ben bir sepet uygulaması yaptım. Ürün ekleme, silme, ve fiyat hesaplama her şeyini yaptım. Bu hazırladığım projeyi kodları alıp ne yapıyorlar?
 
Frone-end'in hazırladığım taslak bir projeyi o nasıl Back-End'e dönüştüyor? Benim React kodlarım silinip onun yerine Back-End kodlarımı geçiyor?

Backend kodu frontend yerine gecmiyor. Zaten gecemedigi icin Frontend diye bir sey var.

Server - Client mimarisine gore bir adlandirma bu; frontend kodu client tarafta calisan kod.
Kullanicidan gelen data Server'a iletilir, burada backend bunu process eder.

Frontend - Backend arasinda anlasip, bir protokol ve veri yapisi belirler. Sonra herkes kendi isini yapar. Client - Server data transferi saglanir ve proje ilerler.

Genelde birlikte calisirken frontend ve backend arasi Interface ve data'lar belirlenir ve agile sekilde seri araliklarla entegrasyon saglanir, parca parca proje ilerler.

ilk Front-End'çi mi projeyi bitirmeli? Yoksa Back-End oturduktan sonra mı Front-End'çi devam eder.

Projeyi backendci ve frontendci seklinde ikiye ayirmayiz. Proje tektir, herkes farkli bolumunde calisir. Farkli bolum, farkli repository ve farkli ortamlardan da olusabilir. Farkli isletim sistemlerinde de calisabilir. Ama kapsayici proje aynidir eger entegrasyon varsa.

Bu software lifecycle yonetimine gore degisir, ustte dedigim gibi Agile calisiliyorsa surekli iletisim halinde ve parca parca iteratif sekilde development yapilir. Waterfall yapiliyorsa durum daha farkli ilerler.

Çok basit örnek vereceğim ben bir sepet uygulaması yaptım. Ürün ekleme, silme, ve fiyat hesaplama her şeyini yaptım.

Sen bunlari backend olmadan yapamazsin. Frontend'de urunu silmissindir en fazla. Ama burada esas urunun silinmesi gereken yer DB olmali senin de dedigin gibi. Backend e istek gonderirsin, o da silip sana cevap atar. Buna gore de frontend de kullaniciya bir reaksyon gosterirsin. Birlikte calisirsiniz yani.

Counter-Strike oynarsin, sen ates edersin, bilgisayarindaki cs-go.exe bunu kendi backendine gonderir, o da senin ates ettigin yonu ve sonuclarini hesaplayip geri gonderir. Multiplayer oyunlar da client-server mimarisiyle isler, oradaki frontend ise bilgisayarinda calisan oyundur mesela.
 
Backend kodu frontend yerine gecmiyor. Zaten gecemedigi icin Frontend diye bir şey var.

Server - Client mimarisine gore bir adlandirma bu; frontend kodu Client tarafta calisan kod.
Kullanicidan gelen data Server'a iletilir, burada backend bunu process eder.

Frontend - Backend arasinda anlasip, bir protokol ve veri yapisi belirler. Sonra herkes kendi isini yapar. Client - Server data transferi saglanir ve proje ilerler.

Genelde birlikte calisirken frontend ve backend arasi Interface ve Data'lar belirlenir ve agile sekilde seri araliklarla entegrasyon saglanir, parca parca proje ilerler.

Projeyi backendci ve frontendci seklinde ikiye ayirmayiz. Proje tektir, herkes farkli bolumunde calisir. Farkli bolum, farkli repository ve farkli ortamlardan da olusabilir. Farkli isletim sistemlerinde de calisabilir. Ama kapsayici proje aynidir eger entegrasyon varsa.

Bu software lifecycle yonetimine gore degisir, ustte dedigim gibi Agile calisiliyorsa surekli iletisim halinde ve parca parca iteratif sekilde development yapilir. Waterfall yapiliyorsa durum daha farkli ilerler.

Sen bunlari backend olmadan yapamazsin. Frontend'de urunu silmissindir en fazla. Ama burada esas urunun silinmesi gereken yer dB olmali senin de dedigin gibi. Backend e istek gonderirsin, o da silip sana cevap atar. Buna gore de frontend de kullaniciya bir reaksyon gosterirsin. Birlikte calisirsiniz yani.

Counter-Strike oynarsin, sen ates edersin, bilgisayarindaki cs-go.exe bunu kendi backendine gonderir, o da senin ates ettigin yonu ve sonuclarini hesaplayip geri gonderir. Multiplayer oyunlar da Client-server mimarisiyle isler, oradaki frontend ise bilgisayarinda calisan oyundur mesela.

Biraz kafam karıştı kusura bakma Back-End hakkında hiç bilgim yok.

O zaman benim DB'den gelen ürünleri listeleyip ekrana bastırma görevim var,
Back-End'çi ise DB'yi ve çekme işlemini gerçekleştirecek.

Ben ürünü önyüzden sileceğim,
Back-End'çi DB'den silecek gibi.

Umarım doğru anlamışımdır?
 
Biraz kafam karıştı kusura bakma Back-End hakkında hiç bilgim yok.

O zaman benim DB'den gelen ürünleri listeleyip ekrana bastırma görevim var,
Back-End'çi ise DB'yi ve çekme işlemini gerçekleştirecek.

Ben ürünü önyüzden sileceğim,
Back-End'çi DB'den silecek gibi.

Umarım doğru anlamışımdır?

Evet.

Kullanici <-> Frontend <-> Backend

Seklinde bir iletisim agi var.
Kullanici frontend'e urunu sepetten silmek istedigini soyler ( tusa basar, urunu kaydirir vs UX tercihi ), frontend de bunu backend'e soyler ( SOAP, REST, UDP artik neyse protokol ve mesajlasma detaylari ) , backend de bu islemi yapip sonucu doner. Sonuca gore de frontend kullaniciya bir tepki verir.

Genel akis bu yonde ilerler surekli. Ilk mesajimda dedigim gibi aranizdaki protokole gore projenin farkli kisimlarinda gerekli degisiklik yapilir, sonra da bu parcalar entegre edilir.

Arabanin fren pedali ve lastikleri gibi. Her component islevi yerine getirmek icin tasarlanir, en son birlestirilir.
 
Evet.

Kullanici <-> Frontend <-> Backend

Seklinde bir iletisim agi var.
Kullanici Frontend'e urunu sepetten silmek istedigini soyler ( tusa basar, urunu kaydirir vs UX tercihi ), frontend de bunu Backend'e soyler ( SOAP, REST, UDP artik neyse protokol ve mesajlasma detaylari ), backend de bu islemi yapip sonucu doner. Sonuca gore de frontend kullaniciya bir tepki verir.

Genel akis bu yonde ilerler surekli. Ilk mesajimda dedigim gibi aranizdaki protokole gore projenin farkli kisimlarinda gerekli degisiklik yapilir, sonra da bu parcalar entegre edilir.

Arabanin fren pedali ve lastikleri gibi. Her component islevi yerine getirmek icin tasarlanir, en son birlestirilir.

Sağ Ol'un hocam Node JS başlangıç videosu izliyordum. Eğitmen DB'den ürünleri çekiyor adresleri belirliyor. Ürünleri listeleyip ekrana basıyordu minik bir şok yaşadım React'ı boşuna mı öğrendim diye.
 
Sağ Ol'un hocam Node JS başlangıç videosu izliyordum. Eğitmen DB'den ürünleri çekiyor adresleri belirliyor. Ürünleri listeleyip ekrana basıyordu minik bir şok yaşadım React'ı boşuna mı öğrendim diye.

Uzun vadede hem her seyi bosuna ogreniyorsun hem de hicbir seyi. 10 sene sonra React gider Meact gelir. Onemli olan konseptleri bilmek. Ama gereksiz felsefe yapmayayim, anlastik gibi.
Basarilar.
 
Çok kabaca bakarsak backend ile uğraşan kişiler Web API geliştiriyor diyebiliriz. Ürün ekleme, silme özelliği bir react uygulaması geliştirdim demişsiniz. Bunu muhtemelen json-server kullanarak yaptınız. Backendçi en kaba tabirle işte o json-server'ın yaptığı işi yapıyor. Tabi geçici olarak bir dosyaya kaydetmiyor, gerçek bir veritabanına kaydediyor.

Örneğin react film listeleme uygulamasına bir backend yazılsa kullanımı aynı json-server gibi olur. Json-server'ın olduğu gibi backend olarak geliştirilen Web API'nın bir linki olur istekler aynı şekilde oraya atılır. express ile buna benzer bir Web API geliştirilebilir. Veritabanı olarak firebase, mongodb atlas gibi test uygulamaları için ücretsiz olan veritabanları kullanılabilir.

Böyle bakınca backend sadece veritabanına yazma okuma işlemi gibi oldu ama tabi normalde çok daha kapsamlı. Büyük projelerde farklı sistemler arası haberleşme falan hep backend ile ilgili. Örneğin eticaret sitesine ödeme yöntemi eklerken farklı farklı bir sürü firma ile çalışmanız gerekiyor. Bunlar hep birbirine Web API'lar ile bağlanıyor. Bunların geliştirilmesi backend'in işi.
 

Yeni konular

Geri
Yukarı