1 điểm bởi GN⁺ 2024-12-17 | Chưa có bình luận nào. | Chia sẻ qua WhatsApp
  • Dillo, bắt đầu từ Gzilla/Armadillo năm 1999, đã tròn 25 năm vào tháng 12 năm 2024 và vẫn đang được duy trì sau nhiều giai đoạn gián đoạn phát triển
  • Quá trình phát triển ban đầu dựa trên GTK 1.0, chuyển sang GPL, kiến trúc giao tiếp dựa trên tín hiệu và Concomitant Control Chain, qua đó củng cố cấu trúc nội bộ của trình duyệt
  • Việc chuyển sang FLTK 2 vào giữa thập niên 2000 bị đình trệ do chậm trễ và thiếu kinh phí, nhưng sau khi bản port được công bố năm 2007, các bản vá tăng lên và dẫn tới bản phát hành Dillo 2.0.0 năm 2008
  • Khi FLTK2 dừng lại mà không có bản phát hành chính thức, Dillo chuyển sang FLTK 1.3 và phát hành 3.0.0 năm 2011; sau cái chết của Sebastian Geerken năm 2016 và email cuối cùng của Jorge năm 2019, hoạt động phát triển nhanh chóng nguội đi
  • Năm 2022, việc mất dillo.org khiến website, kho lưu trữ và mailing list biến mất, nhưng dự án đã sống lại nhờ khôi phục dựa trên GitHub và bản phát hành Dillo 3.1.0 trong năm 2024

25 năm bắt đầu từ Gzilla/Armadillo

  • Dillo bắt đầu vào năm 1999 khi một nhóm lập trình viên do Jorge Arellano Cid dẫn dắt fork mã nguồn Gzilla/Armadillo của Raph Levien
  • Tính đến tháng 12 năm 2024, dự án đã tròn 25 năm; dù phát triển từng dừng lại nhiều lần, bản thân dự án vẫn tiếp tục cho đến nay
  • Jorge dẫn dắt dự án từ năm 1999 đến năm 2019, và hiện không còn tin tức gì về ông
  • Người bảo trì hiện tại không có quan hệ trực tiếp với các nhà phát triển trước đây, nhưng đang hồi sinh dự án theo hướng giữ nguyên mục tiêu ban đầu
  • Lịch sử dự án dựa trên tư liệu thu thập từ mailing list, ChangeLoglịch sử Git

Thiết kế ban đầu dựa trên GTK 1.0

  • Khi được fork, Dillo dùng GTK 1.0 làm thư viện UI, và bản phát hành đầu tiên, theo ChangeLog, ra mắt vào tháng 12 năm 1999
  • Jorge đặt ra quy tắc viết mã như thêm tiền tố a_ vào tên hàm công khai và thụt lề 3 khoảng trắng, qua đó thống nhất codebase
  • Tháng 3 năm 2000, với sự cho phép của Raph Levien, nhà phát triển chính của Gzilla/Armadillo, giấy phép được đổi sang GPL
  • Đợt viết lại lớn nhằm duy trì nhiều luồng giao tiếp đã dẫn tới bài báo Network programming internals of the Dillo Web browser của Jorge Arellano-Cid và H.H. Von Brand
  • Dòng phát triển này về sau tiến hóa thành Concomitant Control Chain, cơ chế Dillo dùng để theo dõi nhiều kết nối và mô-đun nội bộ

Mở rộng engine kết xuất và tính năng

  • Sebastian Geerken bắt đầu gửi các bản vá nhỏ vào khoảng tháng 6 năm 2000, rồi chuyển sang làm engine kết xuất và sau đó trở thành kiến trúc sư chính của phần này
  • Engine kết xuất là thành phần cốt lõi đọc cây phần tử và bố trí kích thước cùng vị trí của các phần tử như từ ngữ và hình ảnh trong đoạn văn lên màn hình
  • Trong vài năm sau đó, hỗ trợ HTML và CSS được mở rộng, đặc biệt là các tính năng liên quan đến bảng và phần tử văn bản
  • Ngay cả sau khi GTK2 ra mắt, nhóm vẫn thận trọng với việc chuyển Dillo nguyên trạng sang phiên bản GTK mới vì lo ngại độ phức tạp và kích thước của nó
  • Tháng 10 năm 2003, Jorge hỏi maintainer FLTK Michael Sweet xem có thể chuyển Dillo sang FLTK hay không, và nhóm đánh giá FLTK phù hợp hơn với mục tiêu tốc độ và độ ổn định

Chuyển sang FLTK 2 và tách khỏi toolkit

  • Nhóm cho rằng GTK 2.0 cồng kềnh và chậm hơn, nên quyết định tập trung vào FLTK 2
  • Khi đó FLTK 2 chưa được phát hành, nhưng dự kiến sẽ sớm ra mắt
  • Tháng 8 năm 2004, Sebastian đề xuất một thiết kế để giúp Dillo độc lập với widget toolkit
    • Mục đích là tránh tình trạng Dw bị gắn quá chặt với Gtk+, khiến phiên bản GTK và phiên bản FLTK tách ra với các tính năng khác nhau
    • Cùng thiết kế lại này cũng có thể mở ra các tính năng như cửa sổ xem trước toàn trang thu nhỏ và tái sử dụng Dw trong plugin đồ họa
  • Cùng thời điểm, cơ chế plugin dựa trên giao thức DPI cũng được cải thiện, và một số tính năng như tải xuống, bookmark, FTP và HTTPS được chuyển sang các chương trình bên ngoài giao tiếp với trình duyệt
  • Dillo 0.8.3, phát hành tháng 10 năm 2004, đã có hỗ trợ HTTPS

Bản port FLTK 2 bị trì hoãn và Dillo 2.0.0

  • Bản port FLTK2 nhằm làm trình duyệt nhỏ hơn và cung cấp các tính năng như khử răng cưa; tháng 4 năm 2005, Jorge chia sẻ rằng công việc port đang tiến triển nhanh
  • Tuy nhiên, mã nguồn của bản port FLTK2 mới không được đưa lên CVS công khai trong một thời gian, và Jorge tập trung vào việc huy động vốn để trang trải chi phí phát triển dự án
  • Tháng 3 năm 2006, Jorge cho biết việc gọi vốn không thành công, khiến dự án đứng trước nguy cơ đình trệ
  • Từ giữa năm 2006 đến năm 2008, Dillo không có bản phát hành nào, và bản port FLTK2 vẫn ở trạng thái đóng
  • Ngày 30 tháng 9 năm 2007, Jorge thông báo rằng bản port FLTK2 đã có thể sử dụng
    • Một phần quan trọng của codebase được chuyển sang C++
    • Engine kết xuất bắt đầu dùng thư viện FLTK2 thay vì GTK1
    • Khuyến khích nhà phát triển tham gia và đóng góp
  • Sau khi bản port được công bố, các bản vá từ những nhà phát triển khác nhanh chóng được tích hợp và dự án sôi động trở lại
  • Tháng 9 năm 2008, hỗ trợ tab được công bố, và tháng 10 năm 2008 Dillo 2.0.0 được phát hành

Chuyển sang FLTK 1.3 và sự đình trệ trở lại

  • Năm 2011, bản phát hành cuối cùng của nhánh 2.X là 2.2.1 ra mắt, và từ thời điểm này không còn thấy bản vá hay hoạt động mailing list của Sebastian nữa
  • Khi chính việc phát triển FLTK2 bị đình trệ và không có bản phát hành chính thức, Dillo gặp vấn đề phải liên kết với một gói FLTK không có sẵn trong các bản phân phối
  • Nhóm quyết định khi FLTK 1.3 được phát hành, Dillo sẽ được chuyển sang đó và nâng lên dòng 3.X
  • Sau khi FLTK 1.3 phát hành vào tháng 6 năm 2011, việc port Dillo sang FLTK 1.3 được tiến hành, và vài tháng sau bản phát hành đầu tiên dựa trên FLTK 1.3, Dillo 3.0.0, ra mắt
  • Tháng 7 năm 2012, Sebastian công bố thuật toán xử lý gạch nối mới triển khai cơ chế giống TeX, và phần triển khai này được đưa vào Dillo 3.0.3 tháng 4 năm 2013
  • Nhiều bản phát hành tiếp tục xuất hiện cho đến Dillo 3.0.5 vào tháng 6 năm 2015

Cái chết của Sebastian và việc mất dillo.org

  • Khi đó Sebastian đang làm việc trên thiết kế lại GROWS, nhằm thay đổi cách tính kích thước của widget phần tử trang
  • Tháng 10 năm 2016, Sebastian qua đời, khiến nhiều phần việc không được đưa vào bản phát hành mới
  • Sau đó, phát triển nhanh chóng đình trệ; năm 2019 Jorge để lại email cuối cùng, khuyên dùng phiên bản hiện tại trong kho lưu trữ thay vì chờ bản phát hành 3.1
  • Năm 2022, việc mất tên miền DNS dillo.org khiến website, kho Mercurial, mailing list và máy chủ email biến mất
  • Sau đó, không còn thấy hoạt động của nhà phát triển, dự án rơi vào trạng thái bị bỏ mặc; trang dillo.org trông như bản sao của website gốc nhưng chứa đầy spam từ blog Wordpress

Sự hồi sinh dựa trên GitHub năm 2024

  • Từ tháng 12 năm 2023, maintainer hiện tại bắt đầu áp dụng các bản vá để Dillo build lại được và sửa các lỗi đơn giản
  • Khi thấy một diễn đàn Atari port Dillo sang Atari dựa trên kho đó, người này nhận ra khả năng hồi sinh dự án và chia sẻ lên Hacker News, thu hút sự quan tâm lớn hơn dự kiến
  • Sau đó, một tổ chức GitHub được tạo, các kho Git được tập hợp lại, và website Dillo mới được dựng bằng GitHub Pages
  • Công việc sao chép các tư liệu có thể thu thập được lên website mới và mailing list mới cũng được tiến hành
  • Sau khi sửa nhiều vấn đề, Dillo 3.1.0 được phát hành vào tháng 5 năm 2024
  • Tính đến ngày 15 tháng 12 năm 2024, dự án vẫn tiếp tục được bảo trì, và đã có những contributor mới tham gia vào các bản vá cũng như thảo luận phát triển
  • Tuy vẫn chưa có đủ nhà phát triển để xử lý mọi issue, dự án đang tiến triển chậm rãi
  • Bản phát hành mới nhất hiện tại là Dillo 3.1.1

Chưa có bình luận nào.

Chưa có bình luận nào.