2009-09-15 10 views
5

Tôi mới sử dụng Java. Chỉ sáu tháng nhưng tôi hiểu Java.Groovy/Grails/Hibernate/JBoss/Jade trong điều kiện rất đơn giản là gì?

Trong khi đọc về nó đôi khi, tôi đi qua các điều khoản này - Groovy, Grails, Hibernate, JBoss, Jade và nhiều hơn nữa.

Tôi biết tôi có thể đọc tất cả về riêng lẻ. Nhưng ai đó có thể cho tôi một cái nhìn ngọn cây về những gì đang xảy ra ở đây? Tất cả điều này là gì? Chúng ta có Java và chúng dựa trên Java? Tại sao có quá nhiều thứ? Tại sao chúng ta cần chúng?

Trả lời

15
  • Groovy là ngôn ngữ lập trình riêng của nó, nhưng chạy trên Máy ảo Java.
  • Grails là một khung ứng dụng web cho Groovy (xây dựng trang web có hỗ trợ cơ sở dữ liệu).
  • Hibernate là một công cụ để ánh xạ các đối tượng Java tới các bảng cơ sở dữ liệu và ngược lại.
  • JBoss là một máy chủ ứng dụng Java, nơi bạn có thể triển khai các ứng dụng web.
  • Jade, tôi tin rằng, là một khuôn khổ để xây dựng "đại lý" phân tán trong Java.

Để trả lời lý do chúng tôi có: ngôn ngữ lập trình là không đủ. Nếu bạn đã nói với tôi tại một cuộc phỏng vấn "Tôi biết Java" nhưng không biết về những thứ như Hibernate, Spring, log4j, JAXB, vv tôi sẽ nói bạn không biết Java. Đó là bởi vì không ai xây dựng các ứng dụng chỉ với ngôn ngữ cốt lõi nữa. Họ tái sử dụng các khuôn khổ và các thành phần để họ có thể dành ít thời gian hơn để phát triển cơ sở hạ tầng và nhiều thời gian giải quyết vấn đề kinh doanh hơn. Vì vậy, Hibernate, JBoss và Jade là các khung công tác hoặc nền tảng có thể tái sử dụng cho ngôn ngữ Java. Tương tự Grails là một khuôn khổ cho ngôn ngữ Groovy, cả hai đều hỗ trợ tích hợp với Java.

Đó là một thời gian tuyệt vời để trở thành một nhà phát triển, nhưng cũng có quá nhiều thứ để học hỏi :-)

+0

mát mẻ! Tôi tự hỏi tại sao không có điều gì xảy ra với các ngôn ngữ khác - C/C++? – Lazer

+1

Tôi nghĩ rằng nó có một mức độ nhất định trong Ruby, Groovy, có lẽ những người khác. Có một số lượng tốt các thư viện cho C++ (ví dụ: Boost) nhưng không có nhiều thư viện đã trở thành tiêu chuẩn thực tế, trong khi với Java thì có. – SingleShot

1

The Java Posse thực sự nói về một thời gian ngắn này trong một trong những chương trình tin tức gần đây của họ. Trong nhiều vòng tròn lập trình, thường có một thư viện hoặc khung chính cho một mục đích cụ thể (Python có xu hướng giống như thế này). Nhưng trong Java, thường có nhiều hơn một, như bạn đề cập đến. Họ suy đoán rằng điều này là do cộng đồng lập trình Java là quá lớn rằng đơn giản là đủ chỗ cho nhiều hơn một giải pháp chính cho cùng một vấn đề.

Có nói rằng, các dự án bạn đề cập đều được thiết kế thực sự với các mục đích khác nhau.

Nếu bạn có khuynh hướng nghe podcast, tôi khuyên bạn nên sử dụng Java Posse để xem giải trí của họ về các công nghệ mới xung quanh và liên quan đến Java.

0

Một số điều này là tương tự và không hoàn hảo. Đây là một đơn giản hơn nhưng nên cung cấp cho bạn một điểm khởi đầu để có thêm thông tin. Groovy là Ruby nhưng chạy trên JVM. Grails là một phiên bản java của Ruby on Rails sử dụng Groovy thay vì Ruby là ngôn ngữ lập trình. Hibernate là một Object relational mapper được sử dụng bởi rất nhiều lập trình viên Java và cũng được sử dụng trong khung công tác Grails. Jboss là Apache nhưng nó chạy mã Java thay vì CGI hoặc PHP. Tôi không biết gì về Jade nên sẽ giới thiệu bạn đến câu trả lời của SingleShot. Chúng ta có rất nhiều thứ bởi vì cộng đồng Java là rất lớn, và mọi người có ý tưởng riêng về cách mọi thứ nên được thực hiện. Chúng tôi không cần những thứ này về mặt kỹ thuật vì Java hoàn toàn Turing nhưng chúng làm tăng năng suất của nhà phát triển. Việc sử dụng Grails dễ dàng hơn rất nhiều sau đó là viết các tệp Spring XML bằng tay.

+2

JBOSS không phải là Apache và không bao giờ. Nó là một máy chủ ứng dụng Java EE nguồn mở có công ty được Red Hat mua lại. Và nó thậm chí còn không gần để nói rằng một máy chủ ứng dụng Java EE "chạy mã Java thay vì CGI hoặc PHP". – duffymo

+1

"Việc sử dụng Grails dễ dàng hơn rất nhiều khi đó là viết các tệp Spring XML bằng tay". - điều này cũng đơn giản là sai. Các quy ước của Grails không phải là loại bỏ cấu hình Spring XML. Xin lỗi, tôi phải bỏ phiếu này xuống. Có quá nhiều thông tin sai lạc. – duffymo

+0

Tôi cũng không đồng ý rằng 'Groovy là Ruby trên JVM' - JRuby là Ruby trên JVM, Groovy gần với Java hơn Ruby. Grails vay mượn một số quy ước từ Rails nhưng cũng khá khác biệt trong cách tiếp cận để mô hình hóa cơ sở dữ liệu. – leebutts

0

JADE (Khung phân phối đại lý Java) là một khung phần mềm được triển khai đầy đủ bằng ngôn ngữ Java. Nó đơn giản hoá việc thực hiện các hệ thống đa-agent thông qua một trung-ware tuân thủ các thông số kỹ thuật FIPA và thông qua một bộ công cụ đồ họa có hỗ trợ gỡ lỗi và các giai đoạn triển khai

để biết thêm thông tin: http://jade.tilab.com/