Eclipse (môi trường phát triển tích hợp)

Bách khoa toàn thư mở Wikipedia
Bước tới điều hướng Bước tới tìm kiếm
Eclipse
Eclipse-Luna-Logo.svg
Welcome screen of Eclipse 4.12
Welcome screen of Eclipse 4.12
Phát triển bởiEclipse Foundation
Phát hành lần đầu1.0 / 7 tháng 11 năm 2001; 18 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; 10 tháng trước (2019-09-18)[3]
Bản xem thử
4.14(2019-12 R)
Repository Sửa dữ liệu tại Wikidata
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ữ
Albanian, 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
Websitewww.eclipse.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.

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.

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ử[sửa | sửa mã nguồn]

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[sửa | sửa mã nguồn]

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[sửa | sửa mã nguồn]

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ạ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.[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[sửa | sửa mã nguồn]

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ản Ngày Phiên bản Platform Dự án Thay đổi chính
N/A 21/6/2004 Phiên bản cũ, không còn được hỗ trợ: 3.0[25]
N/A 28/6/2005 Phiên bản cũ, không còn được hỗ trợ: 3.1 Bổ sung hỗ trợ Java 5: generics, annotations, boxing-unboxing, enums, enhanced for loop, varargs, static imports[26]
Callisto 30/6/2006 Phiên bản cũ, không còn được hỗ trợ: 3.2 Dự án Callisto[27]
Europa 29/6/2007 Phiên bản cũ, không còn được hỗ trợ: 3.3 Dự án Europa[23]
Ganymede 25/6/2008 Phiên bản cũ, không còn được hỗ trợ: 3.4 Dự án Ganymede[28]
Galileo 24/6/2009 Phiên bản cũ, không còn được hỗ trợ: 3.5 Dự án Galileo[29]
Helios 23/6/2010 Phiên bản cũ, không còn được hỗ trợ: 3.6 Dự án Helios[30]
Indigo 22/6/2011 Phiên bản cũ, không còn được hỗ trợ: 3.7 Dự á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]
Juno 27/6/2012 Phiên bản cũ, không còn được hỗ trợ: 3.8 and 4.2[33]

[Notes 1]

Dự án Juno[36]
Kepler 26/6/2013 Phiên bản cũ, không còn được hỗ trợ: 4.3 Dự án Kepler[37]
Luna 25/6/2014 Phiên bản cũ, không còn được hỗ trợ: 4.4 Dự á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
Mars 24/6/2015 Phiên bản cũ, không còn được hỗ trợ: 4.5 Dự án Mars[40]
Neon 22/6/2016 Phiên bản cũ, không còn được hỗ trợ: 4.6 Dự án Neon[41]
Oxygen 28/6/2017 Phiên bản cũ, không còn được hỗ trợ: 4.7 dự á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]

Photon 27/6/2018 Phiên bản cũ, không còn được hỗ trợ: 4.8 Photon projects[45] Loại bỏ các hỗ trợ cho phiên bản 32bit của Windows và Linux
2018-09 19/9/2018 Phiên bản cũ, không còn được hỗ trợ: 4.9 2018-09 projects[46]
2018-12 19/12/2018 Phiên bản cũ, không còn được hỗ trợ: 4.10 2018-12 projects[47]
2019-03 20/3/2019 Phiên bản cũ, không còn được hỗ trợ: 4.11 2019-03 projects[48]
2019-06 19/6/2019 Phiên bản cũ, không còn được hỗ trợ: 4.12 2019-06 projects[49]
2019-09 18/9/2019 Phiên bản cũ, không còn được hỗ trợ: 4.13 2019-09 projects[50]
2019-12 18/12/2019 Phiên bản ổn định hiện tại: 4.14 2019-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
  1. ^ Có một phiên bản 3.8 của Eclipse Juno; nó không được quảng bá trên trang tải xuống chính, nhưng một bản phân phối đóng gói có sẵn để tải xuống.[34] Eclipse 3.8 cung cấp các sửa lỗi cho Indigo & bổ sung hỗ trợ Java 7, và bảo trì của nó được truyền phát kép với 4.2.[35] Các tính năng và plug-ins tương đương với phân phối được đóng gói có thể được thêm vào từ IDE.

Tham khảo[sửa | sửa mã nguồn]

  1. ^ “Eclipse Tools Project”. Archive.eclipse.org. Truy cập ngày 28 tháng 12 năm 2018. 
  2. ^ “Simultaneous Release - Eclipsepedia”. Wiki.eclipse.org. Truy cập ngày 30 tháng 9 năm 2018. 
  3. ^ “Eclipse Project Downloads”. Download.eclipse.org. Truy cập ngày 30 tháng 9 năm 2018. 
  4. ^ “482387 – Add arm and aarch64 source only fragments”. Bugs.eclipse.org. Truy cập ngày 28 tháng 2 năm 2018. 
  5. ^ “Babel Project – Eclipse translation”. Eclipse.org. The Eclipse Foundation. Truy cập ngày 5 tháng 3 năm 2017. 
  6. ^ “IDEs vs. Build Tools: How Eclipse, IntelliJ IDEA & NetBeans users work with Maven, Ant, SBT & Gradle”. Zeroturnaround.com. Truy cập ngày 28 tháng 12 năm 2018. 
  7. ^ “GitHub - JuliaComputing/JuliaDT: Julia Development Toolkit for Eclipse.”. Github.com. Ngày 10 tháng 10 năm 2018. Truy cập ngày 28 tháng 12 năm 2018 – qua GitHub. 
  8. ^ a ă “Where did Eclipse come from?”. Eclipse Wiki. Truy cập ngày 16 tháng 3 năm 2008. 
  9. ^ "500 lines or less: Eclipse" says "With the switch to OSGi, Eclipse plugins became known as bundles"
  10. ^ Free Software Foundation, Inc. (ngày 5 tháng 11 năm 2012). “Various Licenses and Comments About Them”. 
  11. ^ Rick DeNatale (ngày 15 tháng 10 năm 2008). “Will It Go Round in Circles?”. Bản gốc lưu trữ ngày 19 tháng 10 năm 2008. 
  12. ^ Milinkovich, Mike. “IBM and Eclipse: A Decade of Software Innovation”. Building a Smarter Planet. Truy cập ngày 3 tháng 11 năm 2011. 
  13. ^ “About the Eclipse Foundation: History of Eclipse”. Eclipse. Truy cập ngày 1 tháng 1 năm 2014. 
  14. ^ “About the Eclipse Foundation”. The Eclipse Foundation. Truy cập ngày 13 tháng 8 năm 2008. 
  15. ^ “OSGi – the footings of the foundation of the platform”. The Eclipse Foundation. Bản gốc lưu trữ ngày 13 tháng 6 năm 2008. Truy cập ngày 25 tháng 6 năm 2008.  Đã bỏ qua tham số không rõ |df= (trợ giúp)
  16. ^ “ACM Honors Computing Innovators for Advances in Research, Education, and Industry”. Association for Computing Machinery. Bản gốc lưu trữ ngày 29 tháng 4 năm 2012. Truy cập ngày 26 tháng 4 năm 2012. 
  17. ^ “Eclipse Public License”. Truy cập ngày 24 tháng 2 năm 2012. 
  18. ^ “Various Licenses and Comments about Them”. Free Software Foundation. Ngày 17 tháng 5 năm 2007. Truy cập ngày 20 tháng 5 năm 2007. 
  19. ^ Darryl K. Taft (ngày 20 tháng 5 năm 2005). “Eclipse: Behind the Name”. eWeek.com. Ziff Davis Enterprise Holdings. Truy cập ngày 11 tháng 8 năm 2008. 
  20. ^ Sharma, Ankur (ngày 14 tháng 2 năm 2011). “Naming Indigo +1”. Eclipse. Truy cập ngày 4 tháng 7 năm 2016. 
  21. ^ “An interview with Wayne Beaton, Director of Open Source Projects at the Eclipse Foundation: "Eclipse Photon marks the end of an era". jaxenter.com. Ngày 28 tháng 6 năm 2018. Truy cập ngày 16 tháng 9 năm 2019. 
  22. ^ “Simultaneous Release FAQ”. Eclipse. Ngày 9 tháng 3 năm 2018. Truy cập ngày 2 tháng 3 năm 2019. 
  23. ^ a ă “Simultaneous Release”. Truy cập ngày 12 tháng 1 năm 2018. 
  24. ^ “SimRel/Simultaneous Release Cycle FAQ”. Truy cập ngày 15 tháng 3 năm 2019. 
  25. ^ “Eclipse Foundation”. Eclipse.org. Ngày 21 tháng 6 năm 2004. Truy cập ngày 12 tháng 1 năm 2018. 
  26. ^ “Eclipse 3.1 Inside!”. Truy cập ngày 12 tháng 1 năm 2018. 
  27. ^ “Eclipse Callisto Projects”. Eclipse. Truy cập ngày 12 tháng 1 năm 2018. 
  28. ^ “Ganymede Simultaneous Release”. wiki.eclipse.org. Truy cập ngày 12 tháng 1 năm 2018. 
  29. ^ “Galileo Simultaneous Release”. wiki.eclipse.org. Truy cập ngày 12 tháng 1 năm 2018. 
  30. ^ “Category:Helios”. wiki.eclipse.org. Truy cập ngày 12 tháng 1 năm 2018. 
  31. ^ “Category:Indigo”. wiki.eclipse.org. Truy cập ngày 12 tháng 1 năm 2018. 
  32. ^ “Help - Eclipse Platform”. help.eclipse.org (bằng tiếng Anh). Truy cập ngày 12 tháng 1 năm 2018. 
  33. ^ “Eclipse Juno Release Train Has Arrived”. Eclipse. Ngày 27 tháng 6 năm 2012. Truy cập ngày 12 tháng 1 năm 2018. 
  34. ^ “Eclipse 3.8.2 Maintenance Build: 3.8.2”. archive.eclipse.org. Ngày 31 tháng 1 năm 2013. Truy cập ngày 12 tháng 1 năm 2018. 
  35. ^ “389175 – Dual stream simultaneous release (3.x and 4.x)”. bugs.eclipse.org. Truy cập ngày 28 tháng 12 năm 2018. 
  36. ^ “Category:Juno”. wiki.eclipse.org. Truy cập ngày 12 tháng 1 năm 2018. 
  37. ^ “Category:Kepler”. wiki.eclipse.org. Truy cập ngày 12 tháng 1 năm 2018. 
  38. ^ “Category:Luna”. Wiki.eclipse.org. Truy cập ngày 12 tháng 1 năm 2018. 
  39. ^ “Eclipse Project 4.4.0”. Truy cập ngày 12 tháng 1 năm 2018. 
  40. ^ “Category:Mars”. Wiki.eclipse.org. Truy cập ngày 12 tháng 1 năm 2018. 
  41. ^ “Category:Neon”. wiki.eclipse.org. Truy cập ngày 12 tháng 1 năm 2018. 
  42. ^ “Category:Oxygen”. wiki.eclipse.org. Truy cập ngày 12 tháng 1 năm 2018. 
  43. ^ “Eclipse Oxygen - New and Noteworthy”. Truy cập ngày 3 tháng 7 năm 2018. 
  44. ^ “Eclipse Project Oxygen (4.7) M1 - New and Noteworthy”. Truy cập ngày 22 tháng 8 năm 2019. 
  45. ^ “Category:Photon”. wiki.eclipse.org. Truy cập ngày 12 tháng 1 năm 2018. 
  46. ^ “Category:SimRel-2018-09”. wiki.eclipse.org. 
  47. ^ “Category:SimRel-2018-12”. wiki.eclipse.org. 
  48. ^ “Category:SimRel-2019-03”. wiki.eclipse.org. 
  49. ^ “Category:SimRel-2019-06”. iki.eclipse.org. 
  50. ^ “Category:SimRel-2019-09”. wiki.eclipse.org. 
  51. ^ “Category:SimRel-2019-12”. wiki.eclipse.org. 

Sources[sửa | sửa mã nguồn]

Liên kết ngoài[sửa | sửa mã nguồn]