Rails는 MVC패턴을 통해 프로그램을 구성한다.
프레임워크들은 주로 MVC(Model-View-Controller) 또는 MVVM(Model-View-View-Model) 아키텍쳐를 사용한다.
모델은 에플리케이션에서 사용하는 데이터를 관리하는 영역뷰는 사용자에게 보이는 부분컨트롤러는 사용자의 입력이나 조작에 따라 모델 데이터를 조회, 수정하고 변경사항을 뷰에 반영하는 역할프론트엔드에서 사용했던 React는 컴포넌트단위로 프로젝트를 관리하며 View만 신경쓰는 자바스크립트 라이브러리였다. View만 다루기 때문에 어떤 데이터가 변할 때 마다 어떤 변화를 줄지 고민하는 것이 아니라, 가상 DOM을 이용해 기존 뷰를 날려버리고 처음부터 새로 리렌더링하는 방식을 취한다.
(프론트엔드 프레임워크/라이브러리 3대장 중 나머지 Vue와 Angular는 MVC 프레임워크를 채택하고 있다. (정확히 말하자면, Angular2는 MVC고, AngularJS는 MVW이다)

Model과 View가 서로 분리되어 직접 관여할 수 없으므로, UI와 비즈니스 로직을 분리하여, 각각의 요소를 수정할 때 서로 영향을 끼치지 않는다는 장점을 가지고 있다.ModelModel은 DB 테이블과 상호작용하는 규칙들을 관리한다. Model을 통해 DB에 접근하여 CRUD를 실행할 수 있다.Model에서 만들어진다. ViewModel이 가진 정보를 저장할 수는 없지만, Controller를 통해 Model의 정보를 받아 사용자에게 전달함ControllerModel과 View를 연결해줌.View에서 사용자가 보낸 요청을 처리하고, 비즈니스 로직이 필요할 때 Model에서 호출함
장고에서만 보던 MVC를 선아님이 하신걸 보다니.. 화이팅입니다.