2011-01-12 25 views
6

Tôi muốn bắt đầu phát triển một trò chơi dựa trên web nhỏ và sẽ đánh giá cao một số lời khuyên trước khi tôi tham gia. Hy vọng đây là nơi để yêu cầu!Mùa xuân là lựa chọn đúng đắn cho tôi?

Trò chơi về cơ bản là trò chơi theo phong cách tưởng tượng-bóng đá, nơi bạn tạo một nhóm người chơi cạnh tranh với những người dùng khác. Không có gì lạ mắt.

Tôi chưa được mã hóa nhiều kể từ khi học đại học và am rất bị gỉ. Tôi muốn viết mã bằng Java vì một vài lý do:

  1. Đó là ngôn ngữ tôi quen thuộc nhất.
  2. Những công việc phát triển hạn chế mà tôi đã làm từ khi học đại học ở Java (Tôi có kinh nghiệm ở cấp độ mới với Tomcat và Glassfish, tức là tôi đã chạy và triển khai các ứng dụng web cơ bản mà tôi đã mã hóa từ đầu).
  3. Tôi thực sự thích những gì tôi đã thấy trong khuôn khổ GWT vì vậy tôi muốn phát triển GUI của mình với điều đó.

Lần cuối tôi thực hiện bất kỳ chương trình nào khoảng 3 năm trước khi tôi viết một giao diện web cho hệ thống trợ giúp crappy chỉ có một khách hàng dày và API web. Điều đó đã được thực hiện trong Java.

Vì vậy, về cơ bản, đầu tiên, tôi muốn thiết lập và chạy trò chơi trên bộ xương. Về cơ bản cho phép người dùng đăng nhập, xem nhóm của họ, đăng xuất. Vì vậy, câu hỏi của tôi bắt đầu bằng:

  1. Có một khung phát triển cụ thể nào mà tôi nên đọc không? Tôi đã thấy Spring được đề xuất - đây có phải là lựa chọn tốt không? Tôi đã tìm thấy điều này để tôi bắt đầu nếu đó là lựa chọn thích hợp: http://static.springsource.org/docs/Spring-MVC-step-by-step/
  2. Cách dễ nhất để tôi xử lý đăng nhập/xác thực/ủy quyền mà không phải tự mình viết một hệ thống bảo mật là gì? Hy vọng rằng có một số loại khung/thư viện tôi có thể chỉ cần thả vào mã? Hay Spring Security xử lý điều đó?
  3. Tôi thực sự thích GWT - có khó khăn gì khi tích hợp với Spring không?

Rất cám ơn vì đã dành thời gian của bạn, tôi thực sự đánh giá cao!

Trả lời

6
  1. Mùa xuân là lựa chọn tốt.
  2. Kiểm tra mô-đun bảo mật mùa xuân. Nó dựa trên ý tưởng lập trình hướng khía cạnh.
  3. Có vẻ như Spring does hỗ trợ GWT. Nó tương đối mới (tháng 5 năm 2010).

Nếu bạn đã quen với Java, bạn có thể muốn giảm thiểu các công nghệ mới mà bạn giới thiệu cùng một lúc.

Java là ngôn ngữ hướng đối tượng, vì vậy bạn có thể viết các đối tượng bạn cần để lập mô hình trò chơi của bạn và khiến chúng chạy mà không có bất kỳ giao diện người dùng hoặc cơ sở dữ liệu nào. Điều đó sẽ cho phép bạn tập trung vào trò chơi, đối tượng và các trường hợp sử dụng mà không bị quấn quanh trục với giao diện người dùng, bảo mật, kiên trì, v.v.

Khi bạn đã phân loại và kiểm tra đầy đủ, bạn có thể chuyển sự chú ý của mình với các tính năng khác: kiên trì, giao diện người dùng, bảo mật, v.v.

Có thể bạn có thể thử xác thực/ủy quyền cơ bản trước khi đi sâu vào Bảo mật mùa xuân.

Nếu bạn cắn quá nhiều cùng một lúc, bạn sẽ không bao giờ thực hiện việc này. Thực hiện các bước nhỏ.

+0

Rất nhiều người cảm ơn! Chắc chắn sẽ phá vỡ nó thành những phần nhỏ! – Neobyte

0

Đối với mô hình Inversion of Control (Dependency Injection) mà Spring thường được liên kết với, tôi thấy Guice cách tuyệt vời hơn.

+0

Mùa xuân nhiều hơn DI: đó là AOP và các mô-đun hỗ trợ truy cập từ xa, kiên trì, nhắn tin, vv Guice là tốt, nhưng đó không phải là tất cả những gì Spring đã làm cho nó. – duffymo

+0

@duffymo: Bạn rõ ràng không đọc câu trả lời của tôi. – stolsvik

+0

Tôi đã đọc câu trả lời của bạn. Bạn rõ ràng không hiểu nhận xét của tôi. – duffymo

2

Mùa xuân là ví dụ điển hình về những gì những đứa trẻ tuyệt vời không thích về Java. Nhiều, nhiều tập tin cấu hình mà làm cho mọi khía cạnh của ứng dụng tùy biến nhưng rất khó để giữ trong đầu của bạn, nơi công cụ thuộc về. Nếu bạn không phải là một công ty lớn, điều này gần như chắc chắn không phải là những gì bạn cần.

Tôi khuyến khích bạn xem xét các khung hình Play hoặc Wicket nếu bạn muốn tiếp tục sử dụng Java. Cả hai đều đơn giản hơn về mặt khái niệm, không ném vào bồn rửa nhà bếp và được hướng nhiều vào các trang web. Spring MVC chỉ là một phần của hệ sinh thái Spring rất lớn.

+0

Bắt đầu từ khung công tác zend php, Play! đã tạo ra sự quan trọng nhất đối với tôi và tôi quyết định viết một webapp với nó cho tiến sĩ của tôi –

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