VietTechiesHIỂU CÔNG NGHỆ. MỞ GÓC NHÌN.
☰ Chuyên mục

Từ Xerox PARC đến Cocoa: Mô hình đối tượng của NeXTSTEP đã tái định hình kiến trúc phần mềm như thế nào

06/10/2026 · VietTechies · Biên tập

Bức minh họa biên tập tối giản thể hiện một khối lập phương mô-đun màu đen nhám lớn đặt trên các trụ bê tông với một quả cầu acrylic màu vàng kim trong suốt nằm phía trước trên nền bê tông.
Ảnh minh họa do AI tạo.

Tại triển lãm Macworld Expo vào tháng 1 năm 1997, Steve Jobs bước lên sân khấu với tư cách là nhân viên của Apple lần đầu tiên kể từ năm 1985. Trình diễn phần mềm phát triển từ NeXTSTEP, ông kéo một ô nhập liệu và một thanh trượt qua màn hình, nối chúng bằng một thao tác di chuột, rồi tạo nên một giao diện người dùng hoạt động hoàn chỉnh mà không cần viết một dòng mã nào. Theo Bảo tàng Lịch sử Máy tính (Computer History Museum), buổi trình diễn đó không chỉ đơn thuần là xem trước sản phẩm; đó là màn ra mắt công khai của một kiến trúc phần mềm hướng đối tượng được thiết kế để giải quyết cuộc khủng hoảng kéo dài nhiều thập kỷ về năng suất của nhà phát triển.

Khái niệm trừu tượng bị bỏ lỡ tại PARC

Chặng đường dẫn đến màn trình diễn năm 1997 bắt đầu từ năm 1979, khi Jobs ghé thăm Trung tâm Nghiên cứu Palo Alto của Xerox (Xerox PARC). Lúc tìm hiểu trạm máy tính Xerox Alto, Jobs đã bị thu hút mạnh mẽ bởi cơ chế hiển thị của các cửa sổ, menu thả xuống và con trỏ chuột. Tuy nhiên, điều bị bỏ qua trong cuộc gặp ban đầu đó chính là lớp phần mềm vận hành giao diện: Smalltalk. Được thiết kế tại PARC bởi Alan Kay, Dan Ingalls và Adele Goldberg, Smalltalk là môi trường xây dựng xoay quanh lập trình hướng đối tượng. Thay vì dựa vào mã thủ tục truyền thống nơi các chương trình con tách biệt thao tác trên dữ liệu thô, Smalltalk đóng gói dữ liệu và các chương trình con thành các đối tượng độc lập, giao tiếp với nhau bằng cách gửi thông điệp.

C lai và tầm nhìn đối tượng có thể tái sử dụng

Dù Smalltalk rất linh hoạt, việc phụ thuộc vào một máy ảo đã làm giảm tốc độ thực thi và tiêu tốn dung lượng bộ nhớ đáng kể. Trong thập niên 1980, nhà khoa học máy tính Brad Cox đã thành lập Stepstone và tạo ra Objective-C nhằm khỏa lấp khoảng trống này. Bằng cách phủ lớp truyền thông điệp đối tượng động kiểu Smalltalk lên ngôn ngữ C thủ tục tiêu chuẩn, Cox cho phép các nhà phát triển duy trì hiệu năng cấp thấp của C trong khi vẫn cấu trúc kiến trúc ứng dụng bằng các đối tượng tái sử dụng. Cách tiếp cận của Cox trực tiếp thách thức quan điểm đồng thuận về kỹ thuật phần mềm thời bấy giờ. Trong bài báo kinh điển No Silver Bullet xuất bản năm 1986, Fred Brooks từng nhận định rằng không một công nghệ lập trình đơn lẻ nào có thể mang lại mức tăng gấp 10 lần về năng suất của nhà phát triển. Dù vậy, Cox cho rằng các đối tượng phần mềm mô-đun có sẵn có thể tạo ra bước nhảy vọt còn thiếu đó.

Bệ phóng kiến trúc NeXTSTEP

Sau khi rời Apple vào năm 1985, Jobs thành lập NeXT và đón nhận tầm nhìn lai của Cox. NeXT mua bản quyền Objective-C từ Stepstone và tích hợp các thư viện đối tượng động vào hệ điều hành NeXTSTEP của mình. Thay vì buộc các nhà phát triển phần mềm phải xây dựng lại các thành phần điều khiển trực quan từ đầu, NeXT tích hợp sẵn các thư viện đối tượng cấp cao hơn — nổi bật là ApplicationKit hay AppKit — trực tiếp vào nền tảng cùng với công cụ thiết kế giao diện trực quan mang tên Interface Builder. Kiến trúc này cho phép các nhà phát triển kết nối các thành phần đồ họa dựng sẵn chỉ trong vài giờ thay vì nhiều tháng. Nền tảng này đã chứng tỏ sức mạnh vượt trội: năm 1989 tại CERN, Sir Tim Berners-Lee đã dùng máy tính NeXT và NeXTSTEP để viết nên trình duyệt và công cụ chỉnh sửa WorldWideWeb đầu tiên trong một khoảng thời gian ngắn hơn rất nhiều so với quy trình phát triển C thông thường.

Sân khấu năm 1997 và chồng ứng dụng hiện đại

Đến năm 1996, Apple thất bại trong nỗ lực tạo ra một hệ điều hành hiện đại để thay thế hệ điều hành Mac OS đã già cỗi và quyết định thâu tóm NeXT để chọn NeXTSTEP làm nền tảng kỹ thuật mới. Khi Jobs giới thiệu OpenStep và Interface Builder tại triển lãm Macworld tháng 1 năm 1997, ông đã chứng minh cho giới lập trình viên thấy các lớp trừu tượng đối tượng cấp cao giúp họ không phải viết lại những đoạn mã giao diện thừa thãi ra sao. Trong quá trình Apple xây dựng Mac OS X, AppKit đã phát triển trực tiếp thành bộ khung Cocoa trên máy tính để bàn. Về sau, khi Apple ra mắt các thiết bị di động, Cocoa được tùy biến thành Cocoa Touch, và các mô hình cốt lõi của AppKit tái xuất hiện dưới tên gọi UIKit.

Các khung hướng đối tượng được thiết kế cho NeXTSTEP vào cuối thập niên 1980 đã sống sót qua những thất bại thương mại về phần cứng của dòng trạm máy tính NeXT. Bằng việc thiết lập các thư viện đối tượng tái sử dụng làm giao diện nền tảng chính, NeXTSTEP đã tạo nên bệ phóng kiến trúc đóng vai trò nền tảng cho các khung phần mềm đang vận hành trên hàng tỷ thiết bị macOS và iOS ngày nay.

Ảnh minh họa do AI tạo, không phải ảnh tư liệu.

Nguồn: The Deep History of Your Apps: Steve Jobs, NeXTSTEP, and Early Object-Oriented Programming