Eclipse (phần mềm)

Eclipse là một môi trường phát triển tích hợp dùng cho lập trình máy tính., Nó chứa một không gian làm việc cơ sở và một hệ thống plug-in để mở rộng để tùy chỉnh môi trường. Eclipse được viết chủ yếu bằng Java và nó được dùng chủ yếu cho lập trình ứng dụng Java, nhưng nó cũng có thể dùng để lập trình ứng dụng bằng các ngôn ngữ khác thông qua plug-ins, bao gồm Ada, ABAP, C, C++, C#, Clojure, COBOL, D, Erlang, Fortran, Groovy, Haskell, HTML, JavaScript, Julia Lasso, Lua, NATURAL, Perl, PHP, Prolog, Python, R, Ruby (Bao gồm Ruby on Rails framework), Rust, Scala, và Scheme. Nó cũng có thể dùng để phát triển các tài liệu bằng LaTeX (thông qua một plug-in TeXlipse) và các gói tin cho phần mềm Mathematica. Môi trường phát triển bao gồm Eclipse Java development tools (JDT) cho Java và Scala, Eclipse CDT cho C/C++, và Eclipse PDT for PHP, và những gói khác.

Codebase ban đầu có nguồn gốc từ IBM VisualAge. Eclipse SDK, bao gồm các công cụ phát triển Java, dành cho các nhà phát triển Java. Người dùng có thể mở rộng khả năng của mình bằng cách cài đặt các plug-ins được viết cho Eclipse Platform, chẳng hạn như bộ công cụ phát triển cho các ngôn ngữ lập trình khác và có thể viết và đóng góp các mô đun plug-in của riêng họ. Kể từ khi giới thiệu triển khai OSGi (Equinox) trong phiên bản 3 của Eclipse, plug-ins có thể được cắm tự động và được gọi là các gói (OSGI)"500 lines or less: Eclipse" says "With the switch to OSGi, Eclipse plugins became known as bundles"

Eclipse SDK là phần mềm tự do nguồn mở, phát hành theo các điều khoản của Eclipse Public License, mặc dù nó không tương thích với GNU General Public License. Nó là một trong những IDE đầu tiên chạy dưới GNU Classpath và nó chạy mà không gặp vấn đề gì với IcedTea.

 Lịch sử 
Eclipse lấy cảm hứng từ môi trường phát triển tích hợp dựa trên Smalltalk VisualAge. Mặc dù khá thành công, một nhược điểm lớn của các sản phẩm VisualAge là mã được phát triển không nằm trong mô hình kỹ thuật phần mềm dựa trên thành phần. Thay vào đó, tất cả mã cho một dự án được giữ trong một khối nén (hơi giống như file zip nhưng ở định dạng độc quyền gọi là.dat). Các lớp riêng lẻ không thể dễ dàng truy cập, chắc chắn không nằm ngoài công cụ. Một nhóm chủ yếu tại phòng thí nghiệm IBM Cary NC đã phát triển sản phẩm mới dưới dạng thay thế dựa trên Java.
Vào tháng 11 năm 2001, một consortium được thành lập với một ban quản trị để tiếp tục phát triển Eclipse dưới dạng phần mềm nguồn mở. Người ta ước tính rằng IBM đã đầu tư gần 40 triệu đô la vào thời điểm đó. Các thành viên ban đầu là Borland, IBM, Merant, QNX Software Systems, Rational Software, Red Hat, SuSE, TogetherSoft, và WebGain. Số lượng người quản lý đã tăng lên hơn 80 vào cuối năm 2003. Vào tháng 1 năm 2004, Eclipse Foundation được thành lập.

Eclipse 3.0 (phát hành ngày 21 tháng 6 năm 2004) đã chọn các đặc tả của OSGi Service Platform làm kiến trúc runtime.

Association for Computing Machinery đã công nhận Eclipse với Giải thưởng ACM Software Systems Award 2011 ngày 26/4/2012.

Cấp phép
Eclipse Public License (EPL) là giấy phép cơ bản theo đó các dự án Eclipse được phát hành. Một số dự án yêu cầu cấp phép kép, trong đó Eclipse Distribution License (EDL) có sẵn, mặc dù việc sử dụng giấy phép này phải được áp dụng và được xem xét trong từng trường hợp cụ thể.

Eclipse ban đầu được phát hành theo Common Public License, nhưng sau đó đã được cấp phép lại theo Eclipse Public License. Free Software Foundation đã tuyê bố rằng cả hai giấy phép đều là giấy phép phần mềm tự do, nhưng không tương thích với GNU General Public License (GPL).

Tên gọi
Theo Lee Nackman, CTO của bộ phận Rational thuộc IBM tại thời điểm đó, tên gọi "Eclipse" (được đặt từ năm 2001) không phải là một trò chơi chữ trên Sun Microsystems, vì đối thủ cạnh tranh chính của sản phẩm tại thời điểm đặt tên là Microsoft Visual Studio, mà Eclipse nghĩa là nhật thực.

Các phiên bản khác nhau của Eclipse đã được đặt tên khác nhau liên quan đến khoa học. Các phiên bản được đặt tên theo Callisto, Europa, và Ganymede, là những vệ tinh của sao Mộc, được theo sau bởi một phiên bản được đặt tên theo Galileo, người phát hiện ra các mặt trăng đó. Sau đó là hai cái tên theo chủ đề mặt trời, Helios trong thần thoại Hy Lạp và Indigo, một trong bảy màu của cầu vồng (được tạo ra bởi mặt trời).  Phiên bản sau đó, Juno, có ba nghĩa: một một nhân vật thần thoại La Mã, một một tiểu hành tinh, và một tàu không gian thăm dò sao Mộc. Kepler, Luna, và Mars tiếp tục chủ đề thiên văn học, và sau đó, Neon và Oxygen tạo thành một chủ đề của các nguyên tố hóa học. Photon đại diện cho sự trở lại với tên theo chủ đề mặt trời. , sơ đồ chữ cái đã bị hủy bỏ và thay vào đó các bản phát hành được đặt tên theo định dạng YYYY-MM.

Bắt đầu với phiên bản 4.9, dự án đã chọn bỏ quy ước đặt tên đó để phù hợp hơn với chiến lược Simultaneous Release mới và áp dụng quy ước đặt tên theo ngày để phản ánh các bản phát hành hàng quý.

Phát hành
Từ 2006, Foundation đã điều phối các phát hành Simultaneous Release hàng năm. Mỗi một phát hành bao gồm Eclipse Platform và một vài dự án Eclipse khác.

Từ năm 2008 đến năm 2018 mỗi Simultaneous Release diễn ra vào ngày Thứ tư cuối cùng của tháng 6. Năm 2018 dự án chuyển sang hàng quý (13 tuần) YYYY-MM phát hành mà không phát hành dịch vụ trung gian.

 Tên phiên bản Ngày Phiên bản Platform Dự án Thay đổi chính  21/6/2004   28/6/2005  Bổ sung hỗ trợ Java 5: generics, annotations, boxing-unboxing, enums, enhanced for loop, varargs, static imports Callisto 30/6/2006  Dự án Callisto Europa 29/6/2007  Dự án Europa Ganymede 25/6/2008  Dự án Ganymede Galileo 24/6/2009  Dự án Galileo Helios 23/6/2010  Dự án Helios Indigo 22/6/2011  Dự án Indigo Bổ sung các hỗ trợ Java 7 (3.7.1 sr1): Improved Type Inference for Generic Instance Creation (Diamond), Multi-catch, try-with-resources statement, Simplified Varargs Method Invocation, Strings in switch, Binary Literals and Underscores in Numeric Literals, Polymorphic Methods Juno 27/6/2012 Dự án Juno Kepler 26/6/2013  Dự án Kepler Luna 25/6/2014   Dự án LunaTích hợp các hỗ trợ Java 8; trong phiên bản trước, điều này có thể thông qua một Java 8 patch plug-in Mars 24/6/2015  Dự án Mars Neon 22/6/2016  Dự án Neon Oxygen 28/6/2017  dự án Oxygen Oxygen.1a giới thiệu Java 9 và Junit 5 và Oxygen.3a giới thiệu Java 10 support.
Bỏ hỗ trợ cho các nền tảng dựa trên Unix sau: AIX, Solaris, HP-UX và s390. Photon 27/6/2018  Photon projects Loại bỏ các hỗ trợ cho phiên bản 32bit của Windows và Linux 2018-09 19/9/2018  2018-09 projects 2018-12 19/12/2018  2018-12 projects 2019-03 20/3/2019  2019-03 projects 2019-06 19/6/2019  2019-06 projects 2019-09 18/9/2019  2019-09 projects 2019-12 18/12/2019  2019-12 projects

Tham khảo

 Sources 







 Liên kết ngoài 



Thể loại:Môi trường phát triển tích hợp
Thể loại:Công nghệ Java
Thể loại:UML
Thể loại:Phần mềm nguồn mở
Thể loại:Phần mềm cho Linux
Thể loại:Nền tảng Java