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.[6], 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[7] 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.

Eclipse
Phát triển bởiEclipse Foundation
Phát hành lần đầu1.0 / 7 tháng 11 năm 2001; 22 năm trước (2001-11-07) [1]
Phiên bản ổn định
4.13(2019-09 R)[2] / 18 tháng 9 năm 2019; 4 năm trước (2019-09-18)[3]
Bản xem thử
4.14(2019-12 R)
Kho mã nguồn
Viết bằngC[4] and Java
Hệ điều hànhLinux, macOS, Solaris, Windows
Nền tảngJava SE, Standard Widget Toolkit, x86-64
Ngôn ngữ có sẵn44 ngôn ngữ
Danh sách ngôn ngữ
sq, Arabic, Basque, Bulgari, Catalan, Tiếng Trung (giản thể, phồn thể), Séc, Đan Mạch, Hà Lan, Tiếng Anh (Australia, Canada), Estonian, Phần Lan, Tiếng Pháp, Tiếng Đức, Hy Lạp, Hebrew, Hindi, Hungarian, Indonesian, Italian, Tiếng Nhật, Klingon, Tiếng Hàn, Kurdish, Lithuanian, Malayalam, Mongolian, Myanmar, Nepali, Na Uy, Persian, Ban Lan, Bồ Đào Nha (Bồ Đào Nha, Brazil), Romanian, Tiếng Nga, Serbian, Slovak, Slovenian, Tay Ban Nha, Swedish, Tiếng Thái, Turkish, Ukrainian, Việt Nam[5]
Thể loạiCông cụ lập trình, Môi trường phát triển tích hợp (IDE)
Giấy phépEclipse Public
Websiteeclipseide.org
Môi trường phát triển tích hợp Eclipse phiên bản 3.1.2 trên nền Windows XP.

Codebase ban đầu có nguồn gốc từ IBM VisualAge.[8] 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)[9]

Eclipse SDKphầ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.[10] 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.[8] 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.[11]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 đó.[12] Các thành viên ban đầu là Borland, IBM, Merant, QNX Software Systems, Rational Software, Red Hat, SuSE, TogetherSoft, và WebGain.[13] 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.[14]

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.[15]

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

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.[17] 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).[18]

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.[19]

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ạpIndigo, 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.[20] Kepler, Luna, và Mars tiếp tục chủ đề thiên văn học, và sau đó, NeonOxygen 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. Tính đến năm 2018, 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.[21]

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ý.[22]

Phát hành

Từ 2006, Foundation đã điều phối các phát hành Simultaneous Release hàng năm.[23] 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.[24]

Tên phiên bảnNgàyPhiên bản PlatformDự ánThay đổi chính
N/A21/6/2004Phiên bản cũ, không còn được hỗ trợ: 3.0[25]
N/A28/6/2005Phiên bản cũ, không còn được hỗ trợ: 3.1Bổ sung hỗ trợ Java 5: generics, annotations, boxing-unboxing, enums, enhanced for loop, varargs, static imports[26]
Callisto30/6/2006Phiên bản cũ, không còn được hỗ trợ: 3.2Dự án Callisto[27]
Europa29/6/2007Phiên bản cũ, không còn được hỗ trợ: 3.3Dự án Europa[23]
Ganymede25/6/2008Phiên bản cũ, không còn được hỗ trợ: 3.4Dự án Ganymede[28]
Galileo24/6/2009Phiên bản cũ, không còn được hỗ trợ: 3.5Dự án Galileo[29]
Helios23/6/2010Phiên bản cũ, không còn được hỗ trợ: 3.6Dự án Helios[30]
Indigo22/6/2011Phiên bản cũ, không còn được hỗ trợ: 3.7Dự án Indigo[31]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[32]
Juno27/6/2012Phiên bản cũ, không còn được hỗ trợ: 3.8 and 4.2[33]

[Notes 1]

Dự án Juno[36]
Kepler26/6/2013Phiên bản cũ, không còn được hỗ trợ: 4.3Dự án Kepler[37]
Luna25/6/2014Phiên bản cũ, không còn được hỗ trợ: 4.4Dự án Luna[38]Tích hợp các hỗ trợ Java 8;[39] trong phiên bản trước, điều này có thể thông qua một Java 8 patch plug-in
Mars24/6/2015Phiên bản cũ, không còn được hỗ trợ: 4.5Dự án Mars[40]
Neon22/6/2016Phiên bản cũ, không còn được hỗ trợ: 4.6Dự án Neon[41]
Oxygen28/6/2017Phiên bản cũ, không còn được hỗ trợ: 4.7dự án Oxygen[42]Oxygen.1a giới thiệu Java 9 và Junit 5 và Oxygen.3a giới thiệu Java 10 support.[43]

Bỏ hỗ trợ cho các nền tảng dựa trên Unix sau: AIX, Solaris, HP-UX và s390.[44]

Photon27/6/2018Phiên bản cũ, không còn được hỗ trợ: 4.8Photon projects[45]Loại bỏ các hỗ trợ cho phiên bản 32bit của Windows và Linux
2018-0919/9/2018Phiên bản cũ, không còn được hỗ trợ: 4.92018-09 projects[46]
2018-1219/12/2018Phiên bản cũ, không còn được hỗ trợ: 4.102018-12 projects[47]
2019-0320/3/2019Phiên bản cũ, không còn được hỗ trợ: 4.112019-03 projects[48]
2019-0619/6/2019Phiên bản cũ, không còn được hỗ trợ: 4.122019-06 projects[49]
2019-0918/9/2019Phiên bản cũ, không còn được hỗ trợ: 4.132019-09 projects[50]
2019-1218/12/2019Phiên bản ổn định hiện tại: 4.142019-12 projects[51]
Chú giải:
Phiên bản cũ
Phiên bản cũ, vẫn được hỗ trợ
Phiên bản mới nhất
Phiên bản xem trước mới nhất
Ra mắt trong tương lai

Tham khảo

Sources

Liên kết ngoài