React Native vs Spring Boot

Arsen Lüpen

Hectopat
Katılım
28 Şubat 2021
Mesajlar
81
Daha fazla  
Cinsiyet
Erkek
Merhaba arkadaşlar. Şimdi ben mobilde Spotify clone yapıyorum. Ön yüzde React Native arka yüzde ise Spring Boot kullanıyorum. Akış şöyle oluyor. Spring Boot ile Spotify'daki bir apiye istek gönderiyorum. Sonra kendim bir API oluşturup Spotify apisinden gelen response u içinde saklıyorum. Bu apiye de React Native'den istek atıp uygulamada kullanıyorum. Bunun haricinde uygulamadaki verileri veritabanına çekme ve veritabanından gönderme işlemlerini yapıyorum. Sizce böyle yapmak bir hız kaybina veya performans kaybına sebep olur mu? Tüm işlemleri (Spotify apileri, veri tabanı işlemleri) Spring Boot yerine React Native tarafında fetch veya axios ile mi yapmak daha mantıklı yoksa veri tabanı işlemlerini Spring Boot ile yapıp Spotify apilerine istek gönderme işini React Native de mi yapayım? Hangisi daha mantıklı olur?
 
Bir domain altinda deploy ettiginde frontend uzerinde CORS yiyeceksin, o sebeple bir backend e ihtiyacin var; sadece frontend uzerinden spotify API a istek atamazsin.

Backend spring boot olsa da olur olmasa da sadece API gateway ve temel DB islemleri yapacak gibi geldi bana anlattiklarindan.
 
Şöyle Spotify web apısinde önce kullanıcı login yapıyor. Login yaptıktan sonra her kullanıcıya özel bir token oluşturuluyor. Ben bu işlemleri Spring Boot ile yapıyorum. Sonra gelen tokeni React Native'e gönderiyorum. Burada ise bu tokeni kullanarak Spotify apilerine istek gönderiyorum. Şimdiye kadar cors a takilmadim. Login yaptıktan sonra kullanıcı adını, yaşını vb özellikleri giriyor. Bu özellikler(Spring Boot'a gönderiliyor) ile token(zaten Spring Boot'ta var) birlikte Spring Boot aracılığıyla veritabanına kayıt ediliyor. Kayıt işlemi bittikten sonra açılan ana sayfada. İşte kullanıcının Spotify'daki en çok dinlediği şarkılar ya da şarkıcıların listesi olsun mesela. Buradaki verileri direkt Spring Boot'tan gelen token ile React Native üstünden apiye istek göndererek çekiyorum.
 
Sizce böyle yapmak bir hız kaybina veya performans kaybına sebep olur mu?
Tabiki olur. Artık senin server ne kadar hızlı ise o kadar hızlı cevap vermeye başlayacaksın. Aynı anda 10k kişi girdiğini düşün. Tüm bu bandwidth senin üzerinden gerçekleşecek.

Tüm işlemleri (Spotify apileri, veri tabanı işlemleri) Spring Boot yerine React Native tarafında fetch veya axios ile mi yapmak daha mantıklı yoksa veri tabanı işlemlerini Spring Boot ile yapıp Spotify apilerine istek gönderme işini React Native de mi yapayım?
Açıkçası kendi sunucuna atmak daha mantıklı gibi. Şuanlık klonda olsa ileride basitçe altyapıyı değiştirip spotify yerine şunu şunu kullan diyedebilirsin mesela. Uygulama sadece spotify bağlı kalmamış olacak.
Hangisi daha mantıklı olur?
Madem klon proje yapıyorsun o zaman API tarafına kadar kendin halledebilirsin. Hatta şunuda belirteyim, sadece spotify değil youtube, soundcloud falanda kullanarak bir şeyler gerçekleştirebilirsin.
 
Peki tüm bunların genelinde backendi Spring Boot ile yapmaya devam mı edeyim yoksa React Native ile node.js üstünde mi yapayım yoksa dediğim gibi dB islemlerini Spring Boot ile yapıp Spotify işlemlerini React Native ile mi yapayım.
 
Peki tüm bunların genelinde backendi Spring Boot ile yapmaya devam mı edeyim yoksa React Native ile node.js üstünde mi yapayım yoksa dediğim gibi dB islemlerini Spring Boot ile yapıp Spotify işlemlerini React Native ile mi yapayım.
Tabiki Spring tarafında hallet. 2. bir server oluşturmaya gerek yok.
 

Yeni konular

Geri
Yukarı