7

Tôi mới sử dụng Ruby on Rails và đã thấy mọi người sử dụng các trình tạo bản mẫu tự động như Rails Brick hoặc Rails Composer để tạo các hệ thống quản lý người dùng soạn sẵn, v.v. Đến từ nền không tin vào mã được tạo tự động, có tốt không/thực hành hợp pháp trong Rails để sử dụng các hệ thống như vậy. Ngoài ra, tôi đang làm việc trên một dự án với một khởi động. Có sử dụng máy phát điện như vậy và thói quen phổ biến như thế này không.Rails Brick hoặc Rails Composer có được sử dụng rộng rãi không?

P.S. Mods xin lưu ý rằng đây không phải là một câu hỏi yêu cầu so sánh/ý kiến ​​/ tranh chấp. Tôi tò mò về việc thực hành chung trong Rails và mức độ thường xuyên được sử dụng trong sản xuất.

+0

Câu hỏi hay - cảm ơn vì đã hỏi và nhờ người dùng khác không gắn cờ hoặc đóng cửa! – CDub

Trả lời

17

Tôi là người duy trì của Rails Composer vì vậy tôi tin rằng tôi có thể trả lời câu hỏi này với thẩm quyền.

Tôi tôn trọng (và chia sẻ) sự thôi thúc để xây dựng từ đầu. Đó là một sự thúc đẩy lành mạnh. Rails bao gồm một cơ sở cho các mẫu ứng dụng (Rails Composer là một mẫu ứng dụng) vì tự động tiết kiệm thời gian và công sức. Đối với những người xây dựng nhiều ứng dụng web, thời gian đến khi bạn quyết định tự động hóa quy trình.

Rails Composer cung cấp một lợi thế so với các mẫu ứng dụng của riêng bạn bởi vì nó là nguồn mở, được sử dụng bởi hàng nghìn nhà phát triển với nhiều đóng góp mã. Khi Rails và đá quý thay đổi, Rails Composer được cập nhật để bạn có được "hiện thực tham chiếu" hiện tại mọi lúc. Nó cung cấp cho bạn các ứng dụng khởi động được thử nghiệm tích hợp tất cả các bit và phần cần tinh chỉnh, như RSpec cộng với Capybara và FactoryGirl, thông báo flash và điều hướng với khung công tác Bootstrap hoặc Foundation front-end, Devise hoặc OmniAuth để xác thực, Pundit cho phép, và nhiều tiện ích đá quý mà các nhà phát triển muốn thêm (Guard, Pry, v.v.). Nó cho phép bạn chọn chồng của bạn (ví dụ, ERB, Haml hoặc Slim), cung cấp các lựa chọn đến mức mà cộng đồng đã đóng góp các tùy chọn.

Nếu bạn lo lắng về sự an toàn khi chạy tập lệnh cài đặt, mã nguồn là mã nguồn mở và được hàng nghìn nhà phát triển Rails sử dụng (bạn có thể thấy hơn 2000 người theo dõi trên repo GitHub). Nó hoàn toàn là một mẫu ứng dụng sử dụng thư viện Thor, và mặc dù trong lý thuyết ai đó có thể đóng góp mã giả mạo với các tệp của bạn, chúng tôi sẽ không bao giờ chấp nhận yêu cầu kéo như thế. Rails Composer chỉ cung cấp những viên đá quý nổi tiếng, vì vậy bạn không bị tiếp xúc với nguy cơ tiềm tàng khi sử dụng những viên đá quý không xác định.

Rails Composer được sử dụng rộng rãi, đặc biệt là bởi các chuyên gia tư vấn xây dựng nhiều ứng dụng. Nhiều công ty tư vấn nổi bật có mẫu ứng dụng nội bộ (ví dụ: Suspenders Suspault) và một số sử dụng Rails Composer hoặc đá quý rails_apps_composer tạo mẫu ứng dụng tùy chỉnh.Các nhà phát triển chỉ làm việc trên một ứng dụng thường xuyên (ví dụ như duy trì một dự án lớn) ít quen thuộc hơn với các mẫu ứng dụng như Rails Composer, nhưng nó phổ biến với các nhà phát triển bắt đầu nhiều ứng dụng.

Ngăn xếp ngăn xếp không phải là nơi dành cho ý kiến, vì vậy nếu bạn muốn có nhiều ý kiến ​​hoặc tranh luận về giá trị của mẫu ứng dụng Rails, Reddit hoặc Quora có thể là nơi tốt hơn để hỏi.

Chào mừng bạn đến Stack Overflow! Tôi hy vọng tất cả các câu hỏi của bạn sẽ được trả lời chính xác và kịp thời.

1

Hầu hết các đá quý đều dễ cài đặt hiện nay, tôi nghĩ bạn sẽ không cần một máy phát điện như vậy. Sau khi tất cả nó chỉ là một câu hỏi của hương vị - Tôi thích sử dụng dòng lệnh, và tôi thích biết chính xác những gì trong codebase của tôi. Từ kinh nghiệm cá nhân của tôi, tôi chưa bao giờ thấy ai đó sử dụng một thứ như vậy trong phát triển Rails chuyên nghiệp, nhưng rõ ràng có những người ngoài kia sử dụng chúng.

Một trường hợp tôi có thể nghĩ đến nơi những máy phát điện này có ý nghĩa là khi bạn khởi động dự án rất thường xuyên. Tuy nhiên, trong trường hợp này, tôi thấy các máy phát điện hiện tại không đủ linh hoạt. Ví dụ, Thoughtbot đã xây dựng trình tạo ứng dụng riêng của họ có tên là Suspenders, tất nhiên bao gồm bộ đá quý rất được đề xuất, nhưng nó cung cấp cho họ chính xác những gì họ cần.

Là một lưu ý phụ về mối quan tâm về bảo mật của bạn: đối với tôi, cây phụ thuộc được mở rộng khi bạn sử dụng nhiều đá quý là mối đe dọa bảo mật tồi tệ hơn nhiều. Ví dụ trong một dự án Rails cỡ trung bình, nó không phải là hiếm khi phụ thuộc vào 100 Gems; không ai có thể đọc tất cả chúng. Bạn sẽ phải tin tưởng tất cả những người là tốt.

8

Tôi là nhà phát triển của Prelang đó cũng tương tự như các máy phát điện mà bạn đề cập. Nó khác với việc thêm mô hình dữ liệu, tích hợp GitHub và cấu hình sâu hơn cho một số tính năng. Giống như Daniel, tôi tin rằng tôi cũng có một số thẩm quyền về điều này và đồng ý với câu trả lời rất hoàn chỉnh của ông ấy.

Để trả lời câu hỏi của bạn, Prelang là mới nhưng nó đã được sử dụng bởi hàng ngàn nhà phát triển khác nhau, từ người mới bắt đầu để dev cửa hàng.

tôi muốn lưu ý rằng Prelang (và những người xây dựng khác) là khác nhau hơn so với những gì bạn thường nghĩ đến khi bạn nghe "thế hệ mã". Khi làm việc trên Prelang, mục tiêu của tôi là tự động hóa "mọi thứ mà một nhà phát triển Rails đã làm". Prelang không tạo ra các phương pháp/code nhưng chủ yếu là nó tự động cài đặt quá trình Gems, thiết lập giá trị cấu hình, tạo ra các mô hình, và chạy rails lệnh. Điều đó nói rằng, Prelang là ý kiến ​​về đá quý nó sử dụng nhưng tôi đã chọn đá quý phổ biến nhất cho mỗi tính năng và sẽ cung cấp cho sự linh hoạt để lựa chọn giữa nhiều tuyến đường một khi tôi nhận được một lực kéo ít hơn một chút.

Prelang cũng làm cho thực Git cam kết, do đó bạn có thể xem qua tất cả các cam kết sau khi dự án của bạn tạo ra cho bạn tầm nhìn đầy đủ vào codebase của bạn. Điều này nhằm mục đích giảm bớt các mối quan tâm liên quan đến mã được tạo ra.

Erik

+0

Có vẻ thú vị và rất thích thử điều này! Bất kỳ cơ hội nào nhận được lời mời alpha sớm :) – user3720088

+0

Nếu bạn nhập email của mình trên trang đích, tôi sẽ gửi cho bạn lời mời trong ngày. –

Các vấn đề liên quan