Thông tin cơ bản

Tôi là một tác giả mô-đun npm. Tôi đã viết gần 500 mô-đun. Chỉ trong tuần vừa qua, tôi đã xuất bản khoảng 10 cái mới. Các mô-đun tôi duy trì đã được tải xuống hơn 750 triệu lần. Rất nhiều bạn thân của tôi cũng là tác giả mô-đun.Bạn có thể nói rằng tôi đã đầu tư vào hệ sinh thái Node.js. Các ưu tiên của Node đã thay đổi trong những năm qua.Tôi yêu Nút. Nó là một nền tảng linh hoạt giúp bạn dễ dàng viết nhiều loại chương trình khác nhau. Nó được sử dụng cho máy chủ http, ứng dụng khách bittorrent, công cụ xây dựng, mạng xã hội p2p thế hệ tiếp theo, ứng dụng dành cho máy tính để bàn và nhiều ứng dụng khác!Theo tôi, Node hoạt động vì hai điều:Nó có một lõi nhỏ với các mô-đun để giao tiếp với những thứ như hệ thống tệp, mạng, v.v.Nó có npm cho phép bạn truy cập vào hơn 350.000 mô-đun.Hệ thống mô-đun Node được xây dựng với khả năng tương thích ngược như một tính năng hạng nhất. Nó cho phép bạn sử dụng nhiều phiên bản của cùng một mô-đun. Thật không may, các mô-đun Core không có tính năng này. Khi bạn yêu cầu một mô-đun lõi, bạn sẽ nhận được mô-đun được vận chuyển cùng với phiên bản Nút mà bạn đã cài đặt.Thực tế, điều này làm cho lõi Node trở thành "sự phụ thuộc ngang hàng". Nếu bạn không quen thuộc với thuật ngữ này, thì về cơ bản, nó có nghĩa là một phụ thuộc được cung cấp cho bạn nhưng bạn không thể phiên bản. Bạn chỉ cần đối phó với một trong những bạn đã được đưa ra.Khi viết các mô-đun, sự phụ thuộc ngang hàng đặc biệt khó chịu. Bạn không thể dựa vào các tính năng mới có sẵn vì những người dùng khác nhau sẽ cài đặt các phiên bản Node khác nhau. Vấn đề thậm chí còn nghiêm trọng hơn, nếu bạn thực hiện một thay đổi đột phá đối với sự phụ thuộc ngang hàng, bạn có nguy cơ phá vỡ mã ổn định cũ.May mắn thay, cho đến gần đây, lõi Node đã ổn định phần nào. Mã cũ có xu hướng chỉ hoạt động.Đổi mới không nên đến từ lõi Node. Nó nên đến từ các mô-đun. Nó nên đến từ các mô-đun vì chúng dễ xuất bản và cực kỳ dễ cập nhật. Chúng tôi sử dụng phiên bản chính khi chúng tôi muốn thực hiện các thay đổi đột phá và nó không phá vỡ bất kỳ mã cũ nào vì điều đó sẽ chỉ phụ thuộc vào phiên bản cũ. Core không có sự sang trọng này.Công việc của Core là nhàm chán: không bao giờ hỏng, nâng cấp v8 và nhanh.Trong tương lai, tôi hy vọng chúng tôi sẽ thực hiện một số thay đổi đối với cách thức hoạt động của cốt lõi.