RoR 생태계 서열정리 안하냐 - 2023 rails7
RubyOnRails를 쓴다면 이유는?
- 그냥 프로젝트에 한번 써볼라고
- ERB 서버사이드 렌더링과 모듈별 리프레시장점을 쓰려고
- active record + active admin 자동 생성되는거 쓰려고
- 대충 편하게 되는게 많아서
- 친절한 에러알림
- rake install, rails generate로 쉽게 모듈과 설정 추가
RoR 생태계의 문제점
서열문제 리소스관리
리소스 관리기능이 이것저것 너무 난립 해 있고 메이저가 없어서
프로젝트 처음 생성할 때 너무 혼란스럽다.
css는 sprockets로 하고 js는 webpacker로 하라고?
아닌가 js는 importmap으로 하라고?sprokets, importmap, webpacker, … 또 많이 있는데…
rails7에서 rails/webpacker가 retirement??
하지만 커뮤니티에서 유지되는 shakacode/shakapacker??
SSIBAL
디렉토리 구조는 왜 이런걸까
sprockets는 (js, css)
app/assets/stylesheets
app/assets/javascripts
package.jsonwebpacker는 (js)
app/javascript
package.jsonimportmap은 (js)
pin
커뮤니티는 별 수 없지만 rails 재단에서는 한쪽만 밀어야하는거 아닌가
rails7에서 공식으로 뭘 쓸지(프로젝트 생성할 때 포함될것들)
이렇게 공식으로 쓰고 나머지 다 없애면 ..
rails/cssbundling-rails
rails/jsbundling-rails
서열문제 worker
- resque
- sidekiq
- delayedjob
- good_job
- …. 이것저것 많다
Deprecated
개발 멈춘게 너무 많은데… 몇년 지나면서 유지보수 안되서 에러가 나기 시작한다. 이미 전문가라면 상관없겠지만… 라이트유저나 뉴비에겐 힘든 시련이다.
사라진 친절함
이제 에러로그가 과거처럼 친절하지 않다. 옛날에는 이 오류가 나면 이걸 해~ 라는식으로 나왔떤 것 같은데 도큐먼트도 업데이트가 안되서 써 있는대로 하면 안된다. 뭐 하나 할 때 마다 도큐먼트를 볼 수는 없잖아
graph(neo4j), worker(good_job), hotrails …
후기
이번에 시작한건 계속 이걸로 가겠지만(?) 간단한 프로젝트를 새로 할거면 node계열로 하는게 낫겠다. – 결국 접음. 최종적으로 루비온레일즈를 포기
rails g, rake install을 제대로 써 보고 싶었는데… 루비는 토이 프로젝트에 못 써먹을 상태다.
rails의 쉽고 빠른 개발은 옛말이고… 뭐 하나 쉽게 되지 않는 고인물 기술이 됐다. reddit에는 아직도 ‘Ruby On Rails is still useful for Startup?!!’ 같은 글이 올라오는데 다 고인물끼리 하는 헛소리니 무시하자.
ruby on rails 관련 생태계의 star만 봐도 10년째 제자리인게 신규유입이 없다. pull request가 달려있어도 처리도 안된다.
대체기술
- vue
- react
- fastapi, fastui, sqlalchemy
- go fiber 고 언어 메이저 기술이 된듯
- 아직도 spring, thymeleaf를 써도 나쁠건 없다.
- sveltekit, prisma svelte좀 킹받지만 나쁘진 않을지도
- ㄷ장고가 레일즈 컨셉에 지속적으로 개발되고 있고 프로젝트 구조 고민 안 해도 되서 나쁘지 않다. 근데 내 취향이 아니라…