Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
18
Cevap
2698
Tıklama
1
Öne Çıkarma
Java backend ve frontend
J
8 yıl (201 mesaj)
Teğmen
Konu Sahibi

Merhabalar.
Soruma geçmeden önce kısaca birşeyler bahsetmek istiyorum. Ben java backend teknolojileri ile uğraşan birisiyim. Ağırlık Spring üzerine yoğunlaşıyorum. Belli başlı bazı projeler yaptım. Ancak frontend developmen alanında çok bilgili değilim. Spring mvc ile çalışırken view kısmında en fazla bootstrap kullandım.
Ancak son zamanlarda Vuejs öğrenip frontend uygulamalar deniyor, öğreniyor ve açık kaynak hazır templateleri indirip inceleyip anlayabilecek kadar biliyorum.Bilirsiniz neredeyse her js frameworkün CLI var. Bende bu şekilde geliştirme yapıyorum, anlayacağınız NPM ile geliştiriyorum.

Kısaca bahsettikten sonra asıl soruma geçeyim.

Başlıkta yazdığım gibi, backend tarafını java teknolojileri ile yazıp -tercih spring-, frontend de ise gelişmiş bir frontend framework teknolojileri -angular,react,vue- - -webpack,eslint,npm vs- ile geliştirme yapmak istiyorum.
Görünüşte iki farklı projeyi nasıl tek çatı altında geliştirebilirim. Yada iki farklı projemi geliştirmem gerekiyor. Java taraflı deneyimliyim fakat ikisini kaynaştırma noktasında birşey yapmadım.

Ben biraz araştırdım arkadaşlarıma falan sordum şu şekilde duyma bilgiler edindim sizinle paylaşayım.

1. Vue ile ayrı bir proje yap - javada da REST api yaz, verilerini buradan çekersin (nasıl deploy edeceğim bu ikisini ?)
2. Spring Mvc proje oluştur, projenin içindeki web-inf klasoru içerisine npm ile projeyi oluştur, mappingleri falan burdan yap ( mantıksız geldi)

Şimdi duyduklarım bunlar, ne kadar doğru bilmiyorum. Java taraflı olanları yapabilirim. Frontend tarafınıda yapabilirim ayrı ayrı. Ama ben bütün bir proje istiyorum. Backend-frontend proje olacak.

Anlaşılmayan yerler olursa sorabilirsiniz. Sadece java taraflı düşünmeyin, diğer dillerden de örnek verebilirsiniz.
Fikirlerinizi bekliyor ve teşekkür ediyorum.

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



M
8 yıl (5771 mesaj)
Yarbay

Backend REST , tercihen microservice mimarili.

Frontend bu REST API yi consume edecek.

Deploy edecegin minimum 2 application olacak. Bir tanesi Front end. Bunu da herhangi bir static server ina yapabilirsin. Fiziksel olarak ayni makinede bulunmasi sart degil ama olabilir de. Sonucta SPA uygulamalari sadece static dosyalardan olusuyorlar. Angular'da da boyle, Vue'da da.

Backend'i de istedigin formatta "WAR" ya da "JAR" ya da "EAR" olarak ilgili bir server da konumlandirabilirsin.

Ornek:
Bilgisayar - A
- Apache ( ya da nginx )
- Front-end js dosyalari www.hedehodo.com

Bilgisayar - B
- Apache
- Tomcat
- Backend www.hedehodo.com/api

Ya da:
Bilgisayar A:
-Apache Proxy
- Frontendwww.hedehodo.com ( proxy buraya yonlendirecek )
- Tomcat -> Backendwww.hedehodo.com/api ( /api** ile gelen requestler buraya )

Ikisini ayni code versiyonlama ile kontrol eder, gerekirse client ve server 'i ayri ayri deploy edersin.

Deploy yapacagin zaman eger frontend deploy ediyorsan staticleri ( /var/www/html ) , backend ediyorsan tomcat ( ya da weblogic, ya da websphere artik ne kullaniyosan ) dosyalarini degistireceksin.



< Bu ileti tablet sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
B
8 yıl (3069 mesaj)
Yüzbaşı

quote:

Orijinalden alıntı: javacıı

Bilgi için sağolun, micro service için kaynak önerileriniz varmı. Bunun hakkında hiçbirşey bilmiyorum ki hiç bir projeyi de deploy etmedim ama basitce yapabilirim
kaynak google

https://microservices.io/


Bu mesaja 2 cevap geldi.
M
8 yıl (5091 mesaj)
Yarbay

Gerekmiyorsa Js Kütüpaneleri ile view manüple etmeye gerek yok. Projeye ek külfiyet getiyor. Sok serverside rendering yok build etc. Her projenin UI ihtiyacları bir framework gerektirecek kadar komplex değil. Projenizde tüm keyworkleri düşünün buna gerçekten ihtiyacım var mı diye.



Vue tarafına gelirsek. Spa yapmayacaksan cli ile olusturulmuş .vue ile calısan bir projeye ihtiyacın yok. vue.min.js ekleyip
var app=new Vue({
el:'#selector-name'})
diyerek de kullanabilirsin. ben projemde kısmen komplex yerler olduğunda vue hiç bir kurulum yapısı kurmdan kısmen ekleyip.
örnek kullanım.https://stackoverflow.com/questions/48442598/can-we-make-vue-js-application-without-vue-extension-component-and-webpack

Normalde .net core spa ile bütünleşik çalışacka default bir şablon veriyor. hatta içerisinde serverside rendering de sağlıyor.

Ancak kendin bunu kurman gerektiğinde ayrı projeler olarak ayrı klasörlerde kurup bittiğinde ikisini build edip aynı sunucuya koyabilirsin. Burada bunu otomatize etmek için mini bir script de yazabilirsin. Ancak dediğim gibi gerçekten gerekmedikçe projene karmaşıklık ekleme





< Bu mesaj bu kişi tarafından değiştirildi mahoni_38 -- 20 Ekim 2018; 18:44:57 >
Bu mesaja 2 cevap geldi.
M
8 yıl (5091 mesaj)
Yarbay

quote:

Orijinalden alıntı: javacıı

Ben frontend alanında çok az bilgiliyim. SPA projeler sadece cümle içerisinde biliyorum. Geliştirmek istediğim proje fazla interaktif bir proje , discord, stackoverflow karşımı o tarz birşey olabilir, chat odalı, birebir pm, soru cevap, alan konu kanal, vs, yani anlayacagın baya interaktif bir uygulama. Hani biraz araştırdım ve en uygun Vue olur diye düşündüm. Çünkü çok karmaşık bir yapısı yok. Benim gibi birisi öğrenirken zorluk çekmez
vue ayrı bir kurulum veya cli kurmadan da çalışabilir.http://fuzzytolerance.info/blog/2018/01/29/Vue-components-without-vue-files/

ama cli ile kurmanız gerekirse de tavsiyem ayrı iki proje olarka başlayın ama ayrı iki proje olarak deploy etmek zorunda değilsiniz. bu gereksiz karmaşıklık getirir. tek başına iki tarafı da yazacak sizseniz.

https://github.com/jonashackt/spring-boot-vuejs#setup-vuejs--spring-boot
bu tarz ikisini de aynı proje işerisinde barındıran template örnekleri var. Eğer .net core olsaydı daha iyi bilgi verebilirdim ama hepsi benzer kapıya cıktığı için eminim ki aynı project file da calısan templateler vardır.

veya ayrı klasörlerde olmuş olsa dahi npm run build dediğinizde size 2-3 tane (angular da 3-4 ) derlenmiş dosya verecektir. bunları proje dosyanıza eklerseniz direk kullanabilirsiniz ama dediğim gibi vue kullanmakla bitmez. serverside rendering de düşünülmeli. (Seo da önemliyse)



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.