3P by neo 24일전 | favorite | 댓글 2개
  • 블로그 시작

    • 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는 좋은 선택이며, 다른 많은 프레임워크도 훌륭함.

Rewrite It In Ruby
Rewrite It In Rails

Hacker News 의견
  • 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++만큼이나 이상한 선택임