2012-06-27 21 views
11

Gần đây tôi đã tình cờ gặp phải khung chơi trong khi đánh giá các khuôn khổ để sử dụng trong một dự án. Tôi cần sử dụng ngôn ngữ Java và JVM (vì vậy grails không phải là một tùy chọn).Lợi thế của việc sử dụng Spring roo trên khung công tác chơi (nếu chúng ta sử dụng Spring framework)?

Từ lần hiển thị ban đầu Khung chơi trông rất giống với Django (hoặc Rails), nhưng Spring Roo trông thú vị vì tôi sử dụng khung công tác Spring cho các thành phần cốt lõi.

Có lợi thế nào khi sử dụng Spring Roo nếu tôi đã sử dụng khung công tác cốt lõi của Spring (ví dụ: tích hợp) không?

Có bất kỳ vấn đề chính nào đã biết với Spring Roo không? (ví dụ như mất quyền kiểm soát mã vì nó tạo ra cho chúng tôi)

+0

grails chạy trên jvm – NimChimpsky

+0

@NimChimpsky Đúng, nhưng vấn đề là chúng tôi không thể sử dụng groovy. – 18bytes

+4

Chơi framwork không liên quan đến mùa xuân, đó là lợi thế lớn nhất;) –

Trả lời

7

Đây là ấn tượng riêng tư của tôi, vì vậy có thể (rất) chủ quan. Tôi cũng là một người yêu thích Chơi.

tôi bị ép buộc đưa ra Spring MVC một thử ... Đó là một số loại% $% @ $% # ... khó chịu với tôi, cần phải lo lắng về các file XML ...

Vì vậy, tôi tìm thấy Roo có thể ứng dụng giàn giáo khá đẹp (đặc biệt là so với mùa xuân) Tôi nghĩ rằng nó hợp lý để sử dụng nó, tuy nhiên nó cũng mất quá nhiều công sức để giữ một mắt trên tất cả các tập tin phụ thuộc trong khi dự án của bạn đang phát triển (tôi không biết, có thể IDE sai, có thể không quá nhiều kiên nhẫn ...) Sau một tuần tôi đã sẵn sàng quay trở lại PHP, mãi mãi;)

Cuối cùng tôi tìm thấy Play và đó là điểm cho tôi, tôi không cần phải đối phó nhiều hơn với sự hỗ trợ của XML tôi điên. Cấu trúc thông thường sạch hơn nhiều so với Spring- *. Tôi không cần quan tâm đến việc định cấu hình hoặc triển khai lại ứng dụng. Mọi thứ hoạt động ngay từ bước đầu tiên. Điều duy nhất tôi cần làm là ... phát triển!

Vì vậy, kết luận tôi nghĩ rằng bạn nên cho chơi một cơ hội, có thể nó sẽ là một lựa chọn tốt hơn so với kỷ niệm thói quen khó chịu. Có lẽ. Bạn phải tự chọn.

BTW: cả hai đều thực sự là phương pháp tiếp cận khác nhau, bạn sẽ không đánh giá chính xác mà không cần so sánh chặt chẽ cả hai giải pháp với cùng một chủ đề.

+2

Cá nhân tôi nghĩ Roo dễ dàng như Play. Lấy ví dụ này: http://static.springsource.org/spring-roo/reference/html-single/#intro-first-steps – djangofan

+2

_I đã được thực thi để thử Spring MVC ... Đó là một số loại % $% @ $% # .... không thoải mái với tôi để vẫn lo lắng về các tệp XML ..._ - bạn rõ ràng không nói về Spring MVC hiện đại vì nó có thể được cấu hình với 0 xml, tất cả java thuần túy, không thậm chí là một web.xml – SergeyB

+0

@ike_love - vâng, đó là cách đây khá lâu và khi tôi bắt đầu: đó là ý kiến ​​chủ quan của tôi;) – biesior

9

Từ những gì tôi đã thấy trước đó, sự khác biệt lớn giữa Roo và Play là Roo tạo mã bản mẫu cho bạn, sau đó bạn duy trì, trong khi Play chỉ đơn giản là giảm số lượng mã bạn cần phát triển và do đó, giảm số lượng mã bạn cần duy trì.

Nếu bạn bắt đầu từ số không, tôi không thấy lợi ích của Roo trên Play (ý kiến ​​cá nhân với tư cách là người ủng hộ Play). Tuy nhiên, khi bạn đã đến từ nền Spring, thì Roo có thể là lựa chọn tốt hơn vì không có đường cong học tập cho bạn (và tùy thuộc vào phiên bản Play bạn đang nghĩ đến, đây có thể là một yếu tố).

+0

Đường cong học tập cho Play 1.x rất phẳng. 2.x là linh hoạt hơn và sẽ đưa ra câu hỏi của Scala hay không. @Codemwnci là đúng, phiên bản chơi bạn chọn là một yếu tố để đưa vào tài khoản – iwalktheline

11

Tất cả phụ thuộc vào loại ứng dụng bạn đang phát triển. Nếu bạn muốn có một ứng dụng đơn giản với một vài bộ điều khiển, tôi chắc chắn Play là một ứng cử viên tốt. Tuy nhiên, nếu bạn đang viết một ứng dụng doanh nghiệp quy mô lớn và muốn tận dụng tất cả những gì Spring cung cấp, Roo là con đường để đi.Mùa xuân là khuôn khổ Java de facto doanh nghiệp, mỗi nhà cung cấp phần mềm làm cho chắc chắn để cung cấp tích hợp mùa xuân, ví dụ phải mất một dòng XML để khởi động một dịch vụ web SOAP:

<jaxws:endpoint implementor="org.apache.cxf.jaxws.service.Hello" address="http://localhost:8080/test" /> 

Bạn muốn kết nối với một RabbitMQ

<rabbit:connection-factory id="connectionFactory"/> 
<rabbit:template id="amqpTemplate" connection-factory="connectionFactory"/> 

Nhưng đó chỉ là cốt lõi Spring, Roo làm cho mọi thứ trở nên đơn giản hơn, muốn thêm cơ sở dữ liệu? Nhập một dòng trong trình bao lệnh của Roo. Bảo vệ? Thêm một dòng nữa. Khởi chạy với Cloud Foundry? Thêm một dòng nữa. Các tính năng tự động đề xuất sẽ cho bạn biết tất cả các lệnh có sẵn và các thông số cần thiết cho mỗi lệnh. Lợi thế lớn nhất của Roo (đối với nhà phát triển Spring dày dạn) không phải học bất kỳ khung công tác mới nào, bạn chỉ cần gõ lệnh Roo và nhận mã Spring chuẩn mà bạn có thể làm bất cứ điều gì bạn muốn. Nếu bạn cảm thấy thoải mái hơn với Spring đơn giản, bạn có thể sử dụng Roo để bắt đầu dự án của bạn và sau đó loại bỏ nó. Tôi không phải là người nhảy trên băng chuyền công nghệ mới nhất, khá hoài nghi khi nói đến "điều này sẽ cải thiện cuộc sống của bạn!" hứa hẹn, nhưng Roo thực sự làm cho việc phát triển đơn giản và nhanh hơn.

-3

Tôi không biết Spring Play Framework, nhưng tôi đã cố gắng sử dụng Spring Roo 1.2.3 bằng cách theo dõi "Getting started with Roo" pdf và trải nghiệm đã khá thất vọng. Nó không hoạt động, không có cách giải quyết và không hỗ trợ cho các vấn đề đã biết trên internet. Tải xuống hướng dẫn mà tôi đã đề cập trước đó và cố gắng sử dụng nó từng bước: bạn sẽ thấy những gì tôi đang nói về. Đối với câu hỏi của bạn: chọn khung ít nhất là không bị hỏng hoặc bị bỏ rơi. Spring Roo thực hiện rất nhiều lời hứa, nhưng khi bạn dành vài ngày cố gắng làm cho nó hoạt động, không thành công, bạn bắt đầu tự hỏi mình: lợi thế mà tôi đang nhận được ở đâu? Đừng làm cho tôi sai, tôi rất thích sử dụng Spring Roo, nhưng nó đã được khá không thể làm như vậy.

+1

Vui lòng thêm các vấn đề cụ thể mà bạn gặp phải sẽ trả lời các câu hỏi cụ thể của OP là giá trị sử dụng. –