# Rails로 다시 작성하기

> Clean Markdown view of GeekNews topic #17579. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=17579](https://news.hada.io/topic?id=17579)
- GeekNews Markdown: [https://news.hada.io/topic/17579.md](https://news.hada.io/topic/17579.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-11-04T10:02:49+09:00
- Updated: 2024-11-04T10:02:49+09:00
- Original source: [dirkjonker.bearblog.dev](https://dirkjonker.bearblog.dev/rewrite-it-in-rails/)
- Points: 3
- Comments: 2

## Topic Body

- **블로그 시작**
  - 2022년에 세관 신고서를 작성하는 애플리케이션을 개발하기 시작함.
  - 여러 언어와 프레임워크를 평가한 후, Ruby on Rails로 개발하기로 결정함.
  - Rails에 익숙하여 다른 옵션보다 10배 빠르게 개발할 수 있었음.

- **버전 2 개발**
  - Rust와 SvelteKit을 사용하여 애플리케이션의 두 번째 버전을 개발하기 시작함.
  - 초기에는 빠르고 좋았지만, 필요한 기능의 10%만 구현됨.
  - Rails와 비교할 만한 Rust의 프레임워크가 없어 많은 시간이 소요됨.

- **Rust의 장점**
  - Rust의 성능과 오류 없는 컴파일의 장점을 경험함.
  - Ruby에서는 런타임 오류가 자주 발생하여 Rust의 필요성을 느낌.

- **프론트엔드의 변화**
  - Rails의 프론트엔드에 불만을 느껴 SvelteKit으로 전환하기로 결정함.
  - 새로운 스택으로 일부 페이지를 빠르게 전환했으나, 배포가 복잡해짐.

- **개발의 현실**
  - Rails 부분이 계속해서 유용한 기능을 추가하며 발전함.
  - Rust와 Svelte로의 전환이 사용자에게 직접적인 가치를 제공하지 않음을 깨달음.

- **결정의 어려움**
  - 새로운 스택을 포기하고 Rails로 돌아가기로 결정함.
  - 팀원들이 Rails를 배우도록 유도함.

- **Rails의 장점**
  - Rails는 많은 성공적인 회사의 기반이며, 많은 라이브러리와 생태계를 제공함.
  - 제품 개발에 집중할 수 있게 해줌.

- **교훈**
  - 새로운 언어와 프레임워크를 배우는 것은 많은 통찰력을 제공함.
  - 웹 애플리케이션 개발은 많은 선택과 타협이 필요함.
  - Rails로 돌아가는 것이 좋은 결정이었으며, 생산성을 높임.

- **Ruby와 Rails의 단점**
  - 런타임 문제는 테스트로 해결 가능함.
  - 코드가 복잡해지는 것은 개발자의 문제이며, 잘 조직화해야 함.
  - Rails는 충분히 빠르며, Turbo와 캐싱으로 성능을 개선할 수 있음.

- **결론**
  - 완벽한 언어나 프레임워크는 없으며, 각자의 장단점을 이해하고 활용해야 함.
  - Rails는 좋은 선택이며, 다른 많은 프레임워크도 훌륭함.

## Comments



### Comment 30704

- Author: lemonmint
- Created: 2024-11-04T11:52:58+09:00
- Points: 1

Rewrite It In Ruby  
Rewrite It In Rails

### Comment 30697

- Author: neo
- Created: 2024-11-04T10:02:49+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=42024246) 
- Rails, Django, Laravel이 웹 앱 개발에 있어 다른 스택보다 훨씬 앞서 있음. 이들은 반복적인 작업을 처리하고, 요구 사항을 잘 알고 있으며, 애플리케이션을 구축할 때 방해하지 않음. 웹 개발은 이미 해결된 문제라고 생각하며, JavaScript 관련 기술은 대기업의 자금에 의해 주도되는 경향이 있음

- 17년 동안 Rails를 사용해왔으며, 여전히 사랑하고 선호함. 코드 분리를 쉽게 할 수 있어 파일의 헤더가 불필요하게 길어지지 않음. 로직과 마크업을 분리하면 독립적으로 테스트할 수 있어 버그 추적이 쉬워짐

- Rust는 매우 똑똑한 사람들이 만든 언어지만, 타입 이론과 메모리 할당에 집중되어 있어 일반 개발자에게는 이해하기 어려움. Rust 관련 블로그 글을 읽어도 절반 정도밖에 이해하지 못함

- Ruby와 Rails에 대한 불만이 줄어들었음. 완벽한 언어나 프레임워크는 없으며, 강점과 약점을 알고 대처해야 함

- Rust로 대형 웹 애플리케이션을 빠르게 작성하기는 어려움. Rails로 작성된 대형 애플리케이션은 빠르게 실행되지 않으며, 버그가 많고 유지보수 및 확장이 어려울 수 있음. Java, C#, Go 같은 언어는 Rails만큼 빠르게 작업을 완료하면서 Rust만큼 빠르게 실행됨

- NextJS와 SvelteKit 같은 기술이 JS 개발자들 사이에서 인기 있는 이유는 Node.JS의 백엔드 개발 경험 문제를 해결하기 때문임. Rails는 2006년에 애플리케이션 구축을 위한 포괄적인 솔루션을 혁신적으로 제공했음

- AdonisJS를 Rails의 TS 대안으로 테스트 중임. Rails나 Laravel과 유사하며, 스택의 모든 부분을 결정해야 하는 부담을 덜어줌

- Rust가 웹 백엔드에 적합하지 않다는 의견에 혼란스러움. 작은 서비스에서는 좋은 경험을 했으며, 큰 애플리케이션을 구축할 때 복잡성이 증가할 수 있지만, Rust는 대규모 코드베이스에서 필요한 자신감을 줌

- Django와 같은 경험을 하고 있으며, 성능 문제는 주로 Django 자체보다는 데이터베이스 쿼리에서 발생함

- 2010년이 아닌데 왜 Rails를 사용하는지 의문임. Java(Spring), Go, Node 같은 많은 대안이 있음. Rust를 사용하는 것은 C++만큼이나 이상한 선택임
