2008-12-31 37 views
9

Tôi đã thực hiện rất nhiều phát triển web java bằng cách sử dụng jsps và servlet, và tôi đã tìm thấy cách tiếp cận này đơn giản và linh hoạt. Tuy nhiên, một số nền tảng liên quan - chẳng hạn như quản lý các kết nối cơ sở dữ liệu - khá tẻ nhạt và phải mất một lượng công việc vừa đủ để có được một ứng dụng web mới. Vì vậy, tôi đang xem xét việc sử dụng một khuôn khổ lần đầu tiên, nhưng ấn tượng của tôi về khung công tác là chúng hầu như được sử dụng cho các ứng dụng J2EE lớn và liên quan đến rất nhiều cấu hình phức tạp. Những gì tôi đang tìm kiếm là một cái gì đó đơn giản mà (sau khi đường cong học tập ban đầu) sẽ cho phép tôi để có được và chạy với một ứng dụng web mới càng nhanh càng tốt.Việc sử dụng khung công tác cho một ứng dụng web java đơn giản có hợp lý không?

Vì vậy, câu hỏi của tôi là - sử dụng khung làm việc cho một ứng dụng web java đơn giản có hợp lý không?

Lưu ý rằng tôi không yêu cầu sử dụng khung làm việc nào (nếu thực sự là một khung được khuyến nghị), vì nó đã được yêu cầu here.

Trả lời

7

Điều này có ý nghĩa rất nhiều.Nhóm của tôi đã dành phần năm năm tốt hơn với ngăn xếp nguồn mở của chúng tôi và không có vấn đề gì và chúng tôi có dự án "hạt giống" (hoạt động như appfuse) mà chúng tôi sử dụng để tạo tất cả các ứng dụng web mới. Ngay cả hai máy nhắn tin đơn giản từ pov của việc duy trì các ứng dụng, nó trông giống như mọi ứng dụng khác, chỉ nhỏ hơn.

Ngắn hạn là bạn sẽ không nhận được bất kỳ lợi tức đầu tư nào ngay bây giờ, nhưng bạn sẽ như dự án phát triển và bạn duy trì nó.

+0

Bạn cũng phải làm việc trong dự án của mình;) – branchgabriel

0

Tôi muốn nói sử dụng một - như bạn đã nói, thật là tẻ nhạt khi tải nội dung và chạy cho ngay cả một ứng dụng web java đơn giản. Nếu khung làm việc giúp bạn hoàn thành công việc nhanh hơn và cung cấp các dịch vụ bạn cần, tôi sẽ nói điều đó có ý nghĩa.

2

Có điều đó có ý nghĩa. Ứng dụng có thể phát triển và thay đổi và có thể yêu cầu thứ gì đó mà một khung công tác có thể cung cấp dễ dàng trong tương lai.

Ví dụ tại nơi làm việc của tôi, chúng tôi có ứng dụng jsp/servlet đơn giản. Nó cần phải được viết lại chỉ vì những gì tôi đã giải thích ở trên. Nếu ai đó đã dành thời gian để có được thiết lập khung, chúng tôi sẽ có hình dạng tốt hơn ngày hôm nay.

7

Vâng, tôi sẽ sử dụng một khuôn khổ web vì những lý do sau đây:

  1. Tăng khả năng điều hướng và điều khiển. Mặc dù bạn có thể không cần chúng, chúng có sẵn để bạn sử dụng nếu bạn yêu cầu chúng bất cứ lúc nào
  2. Như những người khác đã chỉ ra, các ứng dụng phát triển theo thời gian và bạn sẽ cảm thấy cần thiết cho khuôn khổ tại một thời điểm nào đó trong Tương lai. Khi bạn cần thêm các trang bổ sung và điều hướng
  3. Tính năng cho phép bạn cắm vào các khung công tác khác như khung bảo mật và truy cập DB. Mùa xuân là một ví dụ điển hình trong thế giới Java. Bạn không bao giờ phải sử dụng mùa xuân nhưng nó cắm vào rất tốt với Struts, Spring MVC, Hibernate, Acegi vv Nó kết thúc tiết kiệm cho bạn những rắc rối làm tất cả các hệ thống ống nước trên của riêng bạn.
  4. Hỗ trợ !!! Các khung làm việc tốt hầu như luôn có một cộng đồng năng động để hỗ trợ họ và hỏi và trả lời các câu hỏi.

Nó có vẻ như quá nhiều rắc rối ban đầu nhưng chắc chắn giúp bạn tiết kiệm nhiều thời gian trong tương lai

3

Tôi muốn nói nó thực sự quan trọng khá nhiều khuôn khổ cho bạn đi. Một cái gì đó giống như Spring MVC là khá kín đáo trong mã của bạn và cho phép bạn hiện có các công cụ để chạy khá nhiều như-là. Các khung công tác khác có nhiều ý tưởng cụ thể hơn về cách bạn nên làm mọi thứ.

2

Có điều đó hợp lý. Tuy nhiên, ngầm định trong câu hỏi của bạn là khuôn khổ sai (cho bạn) có thể đau hơn nó đáng giá - và đó là sự thật. Có một thế giới khác biệt giữa một số khung công tác J2EE nặng và một thứ gì đó nhẹ nhàng và vui vẻ như grails.

2

Giải pháp thay thế là gì? Lăn của riêng bạn? Nhúng tất cả điều hướng và logic trong JSP?

Tôi đồng ý với những người nói rằng khung web là đáng giá. Hiện có hàng trăm giờ (ví dụ: Struts, JSF, Spring, Wicket, v.v.). Chọn một cái phù hợp với bạn.

2

Có hai loại ứng dụng:

1) các loại mà bạn vứt đi và không bao giờ sử dụng một lần nữa, và do đó không nên lo lắng về mô đun, bảo trì và rõ ràng.

2) loại thực. Có thể đôi khi dường như ứng dụng của bạn có thể không bao giờ phải phát triển, mở rộng hoặc dịch vụ một cơ sở người dùng/người dùng tính năng lớn hơn bạn hiện đang lên kế hoạch .... Tôi đảm bảo với bạn, nhận thức đó luôn sai.

Frameworks, đặc biệt những thứ như Struts cho MVC trong Java, Spring MVC cho và Dependency Injection, Hibernate cho Object-Relational Modeling đều công cụ cực kỳ có giá trị mà dẫn đến mô đun, bảo trì và rõ ràng trong mã của bạn. Vì vậy, để trả lời câu hỏi ban đầu của bạn .... Vâng, nhấn mạnh.

1

nhưng ấn tượng của tôi về khuôn khổ là họ đang chủ yếu sử dụng cho các ứng dụng J2EE lớn và bao gồm rất nhiều cấu hình phức tạp

Không hẳn đã đúng. Các khung công tác tốt được xây dựng để mở rộng quy mô để chúng sẽ đưa bạn từ các ứng dụng nhỏ đến các ứng dụng rất lớn. Nhiều khung công tác ngày nay đang chuyển sang cấu hình 0 để bạn sẽ thấy chúng dễ sử dụng hơn.

Bạn có quyền thực hiện một nỗ lực ban đầu để tìm hiểu chính khuôn khổ đó nhưng khoản đầu tư đó tự trả cho chính ứng dụng đầu tiên bạn xây dựng. Và các khung công tác meta như AppFuse giúp bạn bắt đầu dễ dàng hơn kể từ khi cấu hình trước các khung công tác cho bạn.

1

Các khung có ý nghĩa đối với hầu hết các ứng dụng. Nó có thể là cần thiết cho bạn để xây dựng của riêng bạn hoặc áp dụng một số khuôn khổ khác. Các câu hỏi quan trọng nhất là độ chi tiết của cấu trúc dữ liệu của bạn. Những gì tôi có nghĩa là bởi điều này là bạn cần phải chỉ cần nhập dữ liệu hoặc làm bạn cần phải phân tích cú pháp, biên dịch và thực thi mã động?

Nếu bạn nghĩ một khung hoạt động như một thước đo và bên trái là tất cả các khung công việc sẵn sàng đã sẵn sàng hoặc đã đóng và bên phải là tất cả khung tùy chỉnh thì siêu áp đặt mã của bạn ở trên cùng của khung đó mức độ phức tạp tăng lên bên phải. Bạn càng đi xa hơn thì bạn sẽ phải làm việc với công việc khung (IMO).

Tuy nhiên, bạn cũng có thể di chuyển từ khung hiện tại sang khung tùy chỉnh.

Ngoài ra còn có câu hỏi về doanh nghiệp của bạn. Nếu bạn làm việc cho một doanh nghiệp mà không nhìn vào phần mềm vì nó là sự phối hợp cốt lõi như ngân hàng hay bệnh viện thì bạn cần phải làm theo cách đó vào bao nhiêu công việc khung bạn muốn xây dựng.

Điểm mấu chốt là một loại khung nào đó sẽ luôn hữu ích.

8

Nếu bạn không sử dụng một khung công tác web, bạn thường sẽ chỉ viết một - kém.

+2

Đây là một điểm rất hay và tôi đã thấy điều này được thực hiện. – MCS

+2

Mặc dù ở bên trái nếu bạn tự viết một mình, nó thường chính xác những gì bạn cần - không nhiều hơn và không ít hơn. – MCS

1

Sử dụng khung làm việc có thể làm tăng thêm chi phí cho việc phát triển ứng dụng web của bạn do đường cong học tập. Tuy nhiên, tùy thuộc vào khuôn khổ mà bạn chọn, bạn có thể nhận ra những lợi ích sau:

  1. Khả năng mở rộng
  2. Bảo trì
  3. Rõ ràng Division của mô hình của bạn (ví dụ như MVC)
  4. Out-of-the thành phần -box (SessionManagement, xác thực, vv)
  5. bên plugins thứ ba
  6. mô đun kế thừa từ khuôn khổ
  7. Nhiều người khác.

Bên cạnh đó, đường cong học tập là yếu tố thay đổi. Một số khuôn khổ có thể dễ học hơn những khung khác tùy theo kỹ năng của bạn.

2

Không nó không trừ:

  1. bạn không có bất kỳ kinh nghiệm java trong nhóm của bạn
  2. bạn đang làm chỉ là một nguyên mẫu mà phải sẵn sàng trong giờ
  3. bạn don không tin tưởng các nhà phát triển của bạn đủ để cho phép họ viết ứng dụng
  4. của bạn mà bạn không định để cho các nhà phát triển của mình tìm hiểu và cải thiện

Danger trong việc sử dụng các khuôn khổ bao gồm nhưng không giới hạn:

  1. bạn sẽ nhận được tất cả các khiếm khuyết khung về hàng đầu trên của riêng
  2. bạn sẽ không thể làm dự toán thực tế cho đến khi bạn bí quyết của bạn hoàn toàn khung
  3. nhóm của bạn sẽ không tìm hiểu cách lập chương trình máy chủ web
  4. bạn sẽ tìm thấy nhóm của mình vượt qua và hơn thế nữa trên google thay vì giải quyết sự cố bằng cách viết mã.

Điều duy nhất tồi tệ nhất là chọn một khung nguồn mở là có một nhóm R & D riêng biệt trong công ty nên tạo "khung công tác hoàn thiện lớn nhất".

1

Bạn nên xem xét sử dụng khung công tác ngay cả khi không có lý do nào khác ngoài việc nó sẽ cung cấp cho bạn một lĩnh vực kiến ​​thức mới. Nếu bạn có thời gian để đầu tư vào việc học một khuôn khổ thì bạn có thể tìm thấy trong thời gian dễ dàng hơn và nhanh hơn để sử dụng nó cho các dự án mới cho dù họ đơn giản đến mức nào.

Ngoài ra, nếu tôi có thể bỏ phiếu cho bài đăng của SamBeran thì tôi sẽ làm như vậy.Bắt đầu với một khuôn khổ sẽ liên quan đến một số khoảnh khắc của "oh tuyệt vời! Tôi không cần phải viết tất cả các boilerplate một lần nữa!".

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