php + vue = laravel? 그누보드,,
안녕하세요.
그동안은 php+그누보드로만 모든 개발/운영을 해왔는데 회사에서 vue를 한번 써보자는 말이 나왔습니다. 그래서 회사에서 처음으로 vue를 이용한 웹앱을 제작하려고 합니다.
현재까지 진행상태는
- root권한을 갖는 서버 호스팅을 구매했습니다.
- putty로 vue 환경을 구축하고, db 생성도 잘 마쳤는데
> issue = 모든 테이블을 구축하려니 그누보드가 너무 그립고 눈앞이 캄캄해져서 이렇게 글을 남겨요,,
제가 조사한 내용중에 의문점이 한둘이 아닌데 아.. 정말 파면 팔수록 이해가 안됩니당..이게 진짜 이해가 안되는건지 php를 고집하고 싶어서 vue를 거부하는건지 저도 저를 모르겠어요.
1. vue는 javascript / php는 jquery
> vue에서 jquery 쓸거면 vue를 왜쓰나요?
2. vue랑 php랑 찰떡같이 붙여주는 laravel 이라는 프레임워크가 있다.
> vue랑 php를 같이 쓰고 싶은 이유가 그누보드 테이블때문인데, 찾아보니까 그누보드 위에 vue를 올려서 그누보드 테이블만 사용하고 실제 프론트앤드 구축은 vue로 하는게 있었습니다. 그런데 갑자기 laravel? 라라벨이 뭔지도 공부 해봐야 겠지만, 그냥 똑같은말 아니에요? 그누보드 위에 vue 올리기 == 라라벨
제 머릿속이 엉망진창이라 그런지 글도 정리가 안되고 엉망진창으로 쓴것같은데 혹시 개떡같이 말해도 찰떡같이 알아듣고 답변주실 천재분들 계실까요 ㅠㅠ 저어떡해여,,,,,
|
댓글을 작성하시려면 로그인이 필요합니다.
로그인
댓글 22개
그리고 vue를 쓸거면 자스만 써야할텐데 왜 굳이 제이쿼리를..ㄷㄷ 제이쿼리 모듈 설치하고 어쩌고 하는게 더 복잡할텐뎀
그누보드는 php로 만들어진 오픈소스 cms 에요
라라벨은 프로젝트를 처음부터 만들때 사용하고,
그누보드는 이미 되있는걸 쓰는거고 필요에 커스텀해서 쓰는 개념이고,
만약 그누보드에서 프론트엔드 프레임웍 쓰고싶으시면
그누보드 백엔드 구조를 유지한채로 프론트를 분리하는 부분부터 먼저 알아보시는게 좋을듯해요!
그누보드는 약 15년전의 기술수준에 멈춰있어서 최신 프론트엔드 개발 환경을 위한 것을 제공하지 않습니다. rest api도 없어서 데이터를 가져와 화면에 뿌릴수가 없죠.
API를 만들어달라는 요청과 @마젠토 님 등을 비롯해 API 개발을 시작한 분들도 많고 이미 공개된 것도 여럿있지만 정상적인 사용은 힘듭니다. 거의 개념증명 정도로만 그누보드의 많은 로직을 무시하고 구현되었고 그것마저도 극히 일부분이라서 많이 쳐줘야 3%도 안되는 수준의 구현이라 사용할수가 없습니다.
고로 vue를 프론트엔드에서 그누보드 데이터를 쓰려면 그누보드 기반의 백엔드에서 API를 만들어줘야하고 그걸 vue에서 가져다 쓰면 되겠죠. 배포용이 아니라면 무얼로 만들어도 상관없겠으나 가능하면 PHP 언어로 그누보드 자체에 API를 구현하거나 라라벨로 그누보드의 데이터를 사용하여 API를 구현하면 되겠네요.
다만, 그누보드위에 API 구현은 쉽지 않습니다. 워낙 많은 곳을 고쳐야하고 그러다보면 그누보드 업데이트 등 유지보수가 어려워지는 문제가 있고, 라라벨로 구현한다면 그누보드의 로직의 많은 부분을 복제하여 사용해야하기 때문에 이것도 뭐 쉽지는 않습니다.
분야가 프론트엔드 개발자이시면 백엔드 API 구현은 직접은 힘들수있으며 담당하는 동료개발자가 있다면 API 구현을 요청/협업하는게 낫겠죠. 백엔드 개발자가 어느수준에 있는지 모르겠지만 그누보드만 다룰줄 안다면 라라벨은 매우 어렵게 느껴질수도 있습니다.
vue나 react 등에 jquery 플러그인을 적용하는 것도 가능합니다. 단, 꼭 필요한 범위내에서 특정 플러그인을 사용할수있지만 UI가 그려지고 제거되거나 재사용될때 vue 동작을 방해하지 않도록해야하는 등 주의는 필요하지만요. 대부분 vue, react 용으로 많은 플러그인이 나와서 대체할것은 많으니 굳이 jquery를 같이 사용해야할 일은 드물겁니다.
아직 연구단계라면 서버를 먼저 만들게 아니라 그누보드와 연동 가능성을 먼저 확인하는게 먼저였겠네요.
개인적인 견해로는 그누보드를 버리고 백엔드를 별도 구현하는걸 추천드립니다. nodejs로 전환하는 것도 나쁘진 않지만 사내 개발자 상황을 봐야할거고 PHP를 주로 다루는 곳이면 라라벨로 필요한 기능을 조금씩 구축해나가는게 나을것같습니다. 그누보드는 버리고 그누보드, 라이믹스, 워드프레스 등의 테이블이나 일부 로직은 참고해서 라라벨로 백엔드를 구축하면 될것같네요.
현재 백앤드 작업자 없이 테이블생성, 변수로 뽑아쓰는 정도를 할줄아는 프론트 앤드가 혼자 프로젝트를 완성할수있는 방법이 그누보드 테이블 가져다 쓰는거말고는 아는게 없어서 어리석은 방법을 구상했던것 같습니당....
답변자분 말씀대로라면 프론트앤드 혼자 API구현은 매우 힘든일이며, 라라벨+그누보드 혹은 그누보드를 아예 버리고 vue + 쌩으로 백앤드테이블 구축이 답이라는 말씀이시죠? 백앤드 구축은 현재 불가능한 상황이니......지금당장은 라라벨+그누보드밖에 답이없는거네영?ㅠ
현재 vue를 버리고 갈수가 없는 조건이에여..
그러면 위 조합보다, 10배는 더쉽고 빠르게 개발가능하게 됩니다. 앱은 덤이고요.
그리고 라라벨 말고, ciboard 사용하면 더 단순해집니다.
codeignitor3 기반이라서 restful api 가 기본 지원되어서 이미 구성되어 있는 view 를 연결하지 않고
그냥 json 으로 값을 리턴하게 하면, vue 와 json 통신하는 api 만들어 쓰기 편합니다.
저희 회사는 ciboard 와 react, flutter, svelte 연결해서 프로젝트 많이 하고 있습니다.
작은 서비스에도 msa 로 됩니다. 예를 들어
그누보드에 api 만들어서 vue와 연결하면 이것도 msa 입니다. 그누보드 php 따로 vue js 따로 만들어서 연결했으니까요. 그럼 이게 대규모 조직인가요?
오히려 소규모의 스타트업에서 처음에 그누보드로 서비스 만들어서 출시하고 고객 반응이 좋으면 고도화 과정에서 특정 속도 내야하는 부분에 GO로 만들어서 속도 관련 이슈 잡고, 요즘 나오는 AI 넣어야한다고 하면, PYTHON 으로 연결해서 서비스하고, 채팅도 필요할테니 NODE WEBSOKET 연동해서 등등 이렇게 유연하게 필요한 서비스 에자일 방식으로
고객의 반응 봐가면서 그에 적절한 서비스를 추가해가는게 MSA 방법론 아닌가요?
다양한 언어간의 통신이 필요하니, 통신규약 이나 GRPC 같은거 규격 만들어 놓고,
로그인 세션 공유 안되니, 토큰 방식으로 회원인증하고, 관리 포인트가 늘어나긴하는데,
굳이 이걸 대규모 프로젝트용이라고 하기에는 좀 어페가 있는것 같습니다.
오히려 소규모이니 시도해 봐야하는 방법론이거 아닌가요?
급한 사이트는 php가 최고 인데, 해서 ci보드 살펴보니 3.0이라도 구성은 괜찮더군요.
저도 지금 회사에서는 그냥 제가 전부다 만듭니다.
js, css, php 제가 다 만드는데,
대규모던 소규모던 그런건 중요한게 아니고,
해당 프로젝트에 그누보드가 맞으면 쓰는거고, 아니면 만드는거죠.
생 php가 생코드라고 생각하는 사람들이 있는데,
그누보드던 라라벨이던 코드 이그나이터던 다 안에 보면 생 php로 되어있습니다.
만약 회사가 vue.js를 활용해서 제작한다고 하면,
회사가 vue.js로 플랫폼을 제작할 시간, 비용, 인력을 소비할 수 있는지 없는지,
그리고 그만한 작업을 할 이유가 있는지 없는지 먼저 알아야되고...
(저는 개인 시간 따로 해달라고 하면 안합니다. 할 이유가 없어요.)
그누보드만 잘해도 솔직히 말씀드리자면, 다른거 하는데도 아무 문제 없습니다.
시간은 조금 더 걸릴 수 있는데,
저도 솔직히 말씀드리자면, spring, 전자프레임워크로 시작했고,
한번도 프로젝트 파토난적 없습니다.
시간 over난 적도 없고요.
(조금 잘 안된건 있지만, 아무튼 밤세서 해결은 했습니다. 이젠 파토나도 안할거지만. 90%는 경영자 및 진행자 잘못이지 개발자 잘못인 경우는 거의 없습니다.)
결론,
회사가 하기로 정해지고, 시간을 주면 그냥 하면됩니다.
아까 어떤 분이 말씀하신 것처럼,
vue.js에 php쪽은 직접 만드는 쪽으로 하는게 어떤지 싶습니다.
방법은 조심스럽네요.
vue.js는 저도 안해봤습니다.
보니까 프론트단인거 같은데, 백단에 디비랑 연결되야될 부분도 필요할테니,
php정도는 있는게 좋겠네요.
아무튼 개발하기 싫은 이상한 사람이 한번 떠들어봤습니다.
아무튼 그건 주관적인 것이고, 회사마다 그리고 대표님들마다 다르게 생각하시니, 제가 할말은 없지만,
제가 아까 잠깐 vue.js쪽을 조금 봤는데,
데이터 뿌려주는거 까지 가능하면,
php쪽은 가볍게 할거면, 직접하는게 나아보이는데...
음... 라라벨을 직접해보진 않았지만, 라라벨이 코드이그나이터랑 거의 비슷하다고 들어서,
그렇다고 치면, 제가 생각하기에는... 가볍게 하는쪽은 php로 그냥 하는게 좋아보이고,
기존의 코드나 이런걸 붙이는 쪽으로 가면, 그누보드쪽은 조금 힘들어 보이긴 합니다.
angularjs를 한번 해보려고 했었는데, 그누보드랑 하다가, 시간도 많이 걸리고,
뭔가 대게 무거워지는 느낌이고 코드 낭비도 좀 많아서 그냥 제가 다 했었거든요.
라라벨은 프레임워크이니, 어떻게 될거 같긴한데...
그래도 저는 차라리 시간이 많이 주어지면, 만들어 보는 쪽이 나을거 같은 느낌이 듭니다.
왜냐하면 vue.js쪽에 php백단을 맞춰주는게 오히려 나아보이거든요.
라라벨을 쓰시면 라라벨과 vue.js 양쪽을 다 맞춰야되는데, 그러면 더 힘들어 보이거든요.
(얼핏 봤을때는요. )
라라벨 잠깐 메뉴얼 보니까, 코드이그나이터랑 비슷하네요.
음... 양쪽에 맞춰야 될 느낌인데....
양쪽보단 한쪽에 맞추는게 좋지 않을까요 ㅎ.
제 생각은 그렇습니다.
로딩쪽은 할말이 많지만 제가 하는 프로젝트를 약간 인용해서 말씀드리면,
아마 머리가 폭발하실거 같아서 ㅎㅎ...
여기까지만 하겠습니다 ㅋㅋㅋ.
솔직히 로딩쪽만 말씀하셔서... 저는 그냥...
그누보드 ajaxstart만 잘 사용해도 될거 같은느낌이긴한데...
음... 잘 모르겠네요 ㅎ.
아무튼! vue.js사용한다고 하면 저같으면 php는 만드는쪽으로 한번 해볼거 같습니다.