이것은 Rails에서 경험을 배우고, 계속 배우며, 비교적 간단한 응용 프로그램을 작성하는 것입니다.
1) 학습 곡선
레일은 믿을 수 없을 정도로 간단합니다. 튜토리얼, 비디오 및 서적은 모두 작동하는 (얼마나 추한 경우) 응용 프로그램을 얼마나 빨리 얻을 수 있는지 보여 주지만 실제로 표면을 긁습니다. 그들은 코드 생성과 "스캐 폴딩 (scaffolding)"에 크게 의존하는 경향이 있는데, 이는 학습 할 때 좋은 도구이지만, 유용성을 빨리 능가합니다.
실수하지 마십시오. Rails는 마스터하기가 어렵습니다. 당신이 매우 기본적인 것을 지나고 나면 (이후에 더 자세히 설명 할 것입니다.) 매우 단순한 "데모 앱"기능 이상을 수행해야한다면 벽으로 향할 것입니다. 학습하는 동안 루비에 대한 기본 지식을 얻을 수는 있지만, 루비를 빨리 선택 DRY
해야합니다.
Rails는 내가 사랑하는 방식으로 전화를 걸기 때문에 숫자 프로그래밍으로 페인트합니다 . 컨벤션을 100 % 준수하면 (즉, 라인 내에 머물러 있고 사용하도록 지시 한 색상을 사용하는 경우) 적절한 응용 프로그램을 빠르고 쉽게 만들 수 있습니다. 그래도 이탈해야 할 경우 Rails는 가장 친한 친구에서 최악의 적에게 갈 수 있습니다.
2) 모든 것이 망치 인 경우 ...
Rails는 단순한 CRUD 응용 프로그램을 매우 잘 수행합니다. 앱이 데이터베이스에서 읽기 / 쓰기 이상의 기능을 수행해야하는 경우 문제가 발생합니다. 지금까지 내가 사용했던 마지막 Rails 버전은 2.3.4이므로 그 이후로 상황이 바뀌었을 수 있지만 비즈니스 요구 사항이 변경되면 주요 문제가 발생하여 응용 프로그램에 작은 워크 플로우 시스템이 내장되어 있어야합니다. 레거시 PHP 애플리케이션. "일 형태, 하나의 모델"이라는 Rails 규칙은 사소한 응용 프로그램 및 데이터 입력 응용 프로그램에는 적합하지만 처리 논리를 수행해야하거나 워크 플로가 있거나 일반적인 "사용자가 데이터를 입력하지 않는 경우" 일부 텍스트 필드는 제출 "유형의 항목에 해당합니다. 그것은 수 '수행하지만, "쉽게"결코, 또는 오히려 년후 수
또한 Rails는 선호되는 데이터 액세스 방법을 사용하지 않는 다른 응용 프로그램과 잘 어울리지 않습니다. "Web 2.0"스타일 API가없는 애플리케이션과 인터페이스해야하는 경우 대신 Rails를 사용해야합니다. 다시 한번 나는 이것이 나에게 일어난 일이기 때문에 경험에서 말합니다.
3) 새로운
마지막으로 Rails는 여전히 많은 분야에서 "블록의 새로운 아이"입니다. 개인적인 용도 나 "멋지다고 생각하고 배우고 싶다"유형의 시나리오는 중요하지 않지만 Rails가있는 위치에 있지 않은 경우, 일상 업무에서 Rails를 선호하는 사람으로 말하기 광범위하게 레일즈 개발자로서 풀 타임 작업을 찾는 것은 매우 어려울 수 있습니다. 그것은 여전히 "엉덩이, 신생 기업"의 영역이며 대부분의 대도시 지역의 주요 기업은 아닙니다. 귀하의 마일리지는 이와 관련하여 다를 수 있지만 내 지역 (Tampa) Rails가 본질적으로 존재하지 않는다는 것을 알고 있습니다.
4) 화재 및 운동
레일은 끊임없이 변화하고 있습니다. 이것은 좋고 나쁜 것입니다. 커뮤니티가 새로운 개념을 발전시키고 포용하기 때문에 좋습니다. 공동체가 새로운 개념을 발전시키고 포용하기 때문에 나쁘다. 레일스 초보자에게는 큰 부담이 될 수 있습니다. 일반적으로 문제가 발생했을 때 주위를 둘러 보면 사람들이 그러한 보석을 추천하여 문제를 해결하거나 어쨌든 그 방법이 나쁘다는 말을 보게 될 것입니다. ' 그것을 사용하지 않는 것이 더 나은 방법입니다 ... 그리고 결국 Rails cognoscenti를 따라 잡기 위해 Rails와 함께 배울 추가 도구의 세탁 목록이 있습니다. 상황이 좋아 Git
, BDD/RSpec
, Cucumber
,Haml/Sass
그리고 Rails-land에서 "일을하는 올바른 방법"으로 밀려 나고 다른 것들의 풍요의 뿔이 밀려납니다. 그리고 경험을 통해 말하면 , Rails 이외에도 12 개 이상의 기술을 배우려고 노력할 때 표준 Rails 툴킷을 사용하면 "잘못된"느낌이 들기 때문입니다.
이제 Rails 3.1이 Sass와 CoffeeScript를 기본으로 설정함으로써 훨씬 더 복잡해졌습니다. 따라서 Rails 초보자는 Ruby와 Rails를 배울뿐만 아니라 Sass (CSS를 알고 있다면 간단 할 것입니다)와 CoffeeScript (매우 어렵지는 않지만 확실히 시작하기에 최소한 최소한의 원시 JavaScript와는 다르며 Git이라고 가정 할 수 있습니다. RSpec과 친구들, 그리고 일반적으로 수십 가지 이상의 보석을 고려하지 않아도 Rails 응용 프로그램을 심각하게 작성하기 전에 배워야 할 4 가지가 있습니다. 이것을 C #, Java 또는 HTML / CSS / JavaScript / SQL 지식이 변경되지 않는 PHP와 비교하면 언어 자체와 프레임 워크 뉘앙스를 배우기 만하면됩니다.