2008-12-03 25 views
6

Tôi đã trò chuyện với ai đó vào ngày khác, người đã đề xuất rằng Rails và PHP là những nền tảng phù hợp nhất cho các ứng dụng web và để tránh Java. Nền của tôi chủ yếu là Java, và tôi biết rằng nó được coi là một số quá dài và "nặng", nhưng thỉnh thoảng được sử dụng (ví dụ: LinkedIn). Vì vậy, tôi tự hỏi liệu có ai đã thành công bằng cách sử dụng Java cho một ứng dụng web gần đây đã đi vào hoạt động hay không, sử dụng chính ngôn ngữ đó (ví dụ: với Stripes/Spring + Hibernate), hoặc thời gian chạy với ngôn ngữ dymamic (như vậy như JRuby, Groovy, Jython)? Nếu vậy, hãy chia sẻ những gì đã làm việc và những gì bạn sẽ làm khác đi.Java có phù hợp với các ứng dụng "Web 2.0" không?

Một số nền(bổ sung sau): Tim O'Reilly quan niệm phrased "Web 2.0" và đây là định nghĩa của mình: http://www.oreillynet.com/lpt/a/6228

Tôi nghĩ rằng đó là "End of the chu kỳ phát hành" và "Mô hình lập trình nhẹ", liên quan đến lặp lại nhanh chóng và triển khai đơn giản, trong đó Java có thể ít phù hợp hơn. Suy nghĩ?

+0

Tôi không thực sự là một fan hâm mộ của Java (mặc dù tôi sử dụng nó trong công việc), nhưng tôi muốn chọn Java trên PHP ngày nay. PHP là quá ad-hoc và mất quá nhiều nỗ lực để duy trì một codebase sạch cho một dự án lớn. Tất cả ý kiến ​​của tôi tất nhiên. – Dan

Trả lời

9

có hai khái niệm hoàn toàn khác nhau được gọi là 'Web 2.0' :

  1. người dùng tạo ra nội dung (thường là với một số 'mạng xã hội')

  2. động các ứng dụng web dựa trên AJAX

thứ hai hơi dictates các công nghệ mà bạn có để sử dụng (ít nhất một số JS và nội dung có thể đọc được bằng máy trong (một số) phản hồi). tất nhiên, không có gì chống lại việc sử dụng Java (hoặc CGI, Perl, bất cứ điều gì) trên máy chủ.

tùy chọn đầu tiên không liên quan gì đến công nghệ và mọi thứ liên quan đến dịch vụ mà bạn đang cung cấp. một lần nữa, bạn có thể sử dụng bất cứ điều gì bạn muốn.

tại sao hai thứ này được trộn lẫn trong cùng một nhiệt? và nhiều hơn nữa cho quan điểm của bạn: tại sao ngôn ngữ động được giả định 'thích hợp hơn' cho nó? tôi đoán đó chỉ là trùng hợp thời gian, tất cả ba thứ (nội dung do người dùng tạo, AJAX, ngôn ngữ động nghiêm trọng) nhảy lên ánh đèn sân khấu gần như cùng một lúc, và hầu hết những người ủng hộ mỗi khái niệm đều sử dụng hai cái kia.

ngắn gọn, tránh các thuật ngữ thị trường không xác định rõ ràng hơn như "web 2.0" và sử dụng mô tả phù hợp. ít nhất là trong khi làm việc. khi bán cho các VC và PHB, hãy sử dụng bất kỳ và tất cả các buzzwords đến gần!

19

Tôi cho rằng không có công nghệ cụ thể cho Web 2.0. Khái niệm chính đằng sau ứng dụng Web 2.0 là phần lớn nội dung được cung cấp bởi người dùng và không phải là một người cụ thể. Nếu bạn có thể đạt được điều này với Java, thì điều đó là tốt. Nhiều người đang tạo ra các công ty khởi nghiệp với công nghệ miễn phí vì họ không có vốn.

+0

+1 vì web 2.0 là một "kiểu" hay loại ứng dụng web.Một số ngôn ngữ có thể phù hợp hơn với một số loại ứng dụng nhất định so với các ngôn ngữ khác, nhưng không có gì dictating rằng bạn phải sử dụng ngôn ngữ X hoặc Y. – Dan

3

Tôi làm việc ở đâu, tất cả các ứng dụng của chúng tôi đều được xây dựng bằng Java. Chúng là các ứng dụng web, được xây dựng bằng cách sử dụng JDBC hibernate hoặc trực tiếp trên đầu cuối dữ liệu và sử dụng Struts hoặc JSF cho phía trình bày. Tôi sẽ không làm việc với JSF một lần nữa trừ khi chúng tôi đã truy cập vào phiên bản mới nhất (chúng tôi đã bị mắc kẹt trên 1.0 vì IDE của chúng tôi) vì chúng tôi gặp phải vấn đề MANY và được thông báo rằng chúng đã được sửa trong các phiên bản sau. Đối với phần còn lại của công nghệ, chúng hoạt động tốt nếu bạn biết cách sử dụng chúng.

Nói chung, bạn sẽ phát triển tốt hơn bằng ngôn ngữ mà bạn biết rõ và có khả năng thực hiện công việc hơn là bạn không biết nhưng có thể là ngôn ngữ "tốt nhất" cho công việc.

5

Tất nhiên rồi. Java có một số khuôn khổ cực kỳ trưởng thành và được thử nghiệm tốt để thực hiện các ứng dụng web, bao gồm các trang web được gọi là Web 2.0. Hibernate, Spring, ngay cả Struts và Tiles, hoặc thậm chí Plain Old Servlets sẽ làm. Ngoài ra, Java rất nhanh (xem các bài kiểm tra tốc độ Debian) so với Ruby, điều này rất tốt cho các trang web xử lý rất nhiều và nhiều yêu cầu, mà Ajax có khuynh hướng thổi phồng số lượng! :)

1

Tôi xây dựng các ứng dụng web tại nơi làm việc trong Java và sau đó tôi sử dụng PHP cho các dự án cá nhân của mình. Trong khi Java chắc chắn có khả năng của tất cả những gì bạn có thể yêu cầu nó để làm, tôi đã tìm thấy nó một chút cồng kềnh ở lần và đã ước tôi đã sử dụng PHP (hoặc ngôn ngữ khác, cho rằng vấn đề). Nó phụ thuộc vào loại và kích thước của ứng dụng bạn đang xây dựng, nhưng tôi nghĩ có nhiều lý do tại sao nhiều người chọn PHP, Ruby và Python cho các dự án cá nhân của họ, tức là khi họ họ chọn ngôn ngữ họ tạo ứng dụng web trong (và không phải cấp trên của họ).

2

"Web 2.0" thường xuyên hơn không đề cập đến giao diện người dùng so với công nghệ cơ bản cấp nguồn cho webapp.

Điều gì khiến một ứng dụng web dựa trên Java ngừng hoàn toàn hào nhoáng và AJAX-y trong lớp giao diện người dùng? Không có gì. Bạn sẽ viết các lớp trung gian trong Java - đó là minh bạch cho người dùng.

Tôi nghĩ rằng những người đã cho bạn lời khuyên này quan tâm hơn đến việc trở thành "hông" và (những gì họ cảm nhận được) hiện tại với nội dung "nóng" ngay bây giờ - điều này hoàn toàn không liên quan đến đánh dấu giao diện người dùng của bạn. Tôi sẽ không nghe họ.

4

Bạn bè của bạn, với tất cả sự tôn trọng, đều là cá heo. Java là một ngôn ngữ phong phú với các công cụ đáng kinh ngạc hỗ trợ. Bạn có thể xây dựng một phụ trợ tuyệt vời trong Java và sử dụng bất cứ thứ gì bạn muốn cho giao diện người dùng.

Tôi mất một lúc để tìm ra điều cần nói trong câu trả lời này bởi vì tôi đã rất háo hức với sự điên rồ tuyệt đối của khái niệm.

2

Ngày tuyệt vời, tôi có thể đăng bài về Wicket một lần nữa! :)

Java rất phù hợp cho các ứng dụng Web2.0 miễn là bạn biết cách sử dụng các công cụ có sẵn cho bạn. Apache Wicket mà tôi vừa kết nối là một khung ứng dụng web dựa trên POJO với cách đáng kinh ngạc như vậy để ẩn tất cả các công cụ máy chủ-máy khách nhàm chán mà nó cho phép bạn làm mọi thứ mà bạn có thể nghĩ đến. Điểm mạnh ở đây là vì Wicket chỉ là POJO, bạn có thể nhận được mã kiểm tra rất nhanh, lặp lại và đơn vị hoạt động giống như một trình duyệt mong đợi trong trình duyệt.

Để tạo các trang web Web2.0 bằng Java, bạn không cần phải sử dụng Wicket nhưng tôi vẫn khuyên bạn nên sử dụng Wicket.

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