2012-01-20 36 views
11

Tôi đã phát hiện Ember.js qua this article.Tổng quan về mã Ember.js

Một lướt qua lướt qua tài liệu hướng dẫn hứa hẹn một công cụ rất ấn tượng. Một cái nhìn lướt qua mã nguồn cho thấy một con quái vật. Phiên bản "được biên dịch" của nguồn là gần 15000 dòng mã và GIT repo có đầy đủ các tệp nằm rải rác xung quanh.

Tôi sẽ không muốn bắt tay vào việc học một khuôn khổ JavaScript nếu tôi cảm thấy mình không thể có ít nhất một sự hiểu biết toàn cầu về mã. (Một trong những chất lượng của jQuery hoặc Backbone là cơ sở mã là tương đối đơn giản.)

Bạn có lời khuyên nào để điều hướng (và cuối cùng là hiểu) mã không?

+5

Cần lưu ý rằng mọi khung công tác có kích thước đáng kể thường sẽ bị chia nhỏ trên nhiều tệp. Ngay cả jQuery, nhỏ hơn, được chia nhỏ. Như @ebryn giải thích, nó thực sự được tổ chức rất tốt. Hơn nữa, vì Ember có nhiều tính năng hơn jQuery và Backbone nên không có gì ngạc nhiên khi nó có kích thước lớn hơn. –

+3

để điều hướng mã, điểm bắt đầu là ở đây: https://github.com/emberjs/ember.js/tree/master/packages –

Trả lời

31

Ember.js bao gồm một số gói bao gồm cả những người phù hợp nhất:

  • ember kim loại
  • ember-runtime
  • ember-views
  • ember-tay lái
  • ember định tuyến

Nó cũng có một vài gói phụ thuộc :

  • tay lái
  • Metamorph

kim loại bao gồm một số công nghệ nền tảng: các nhà quan sát, các ràng buộc, tính tính toán, và một vòng chạy.

Thời gian chạy cung cấp hệ thống đối tượng Ember cùng với một số ít các lớp hữu ích. Hệ thống đối tượng được xây dựng với nhiều công nghệ nền tảng được thực hiện bằng kim loại, nhưng cho chúng thấy một cách rõ ràng hơn nhiều đối với nhà phát triển ứng dụng.

Gói chế độ xem ember khá tự giải thích, đó là hệ thống chế độ xem Ember được xây dựng bên trên thời gian chạy. Trên hết, là gói xử lý ember phụ thuộc vào các khung nhìn ember để cung cấp các mẫu tự động cập nhật trên đầu trang của hệ thống templating Handlebars.

Gói định tuyến ember cung cấp hệ thống chịu trách nhiệm duy trì cấu trúc và trạng thái ứng dụng. Nó cho phép kết nối các khung nhìn đến các phần cụ thể của ứng dụng của bạn cũng như chuyển đổi giữa các trạng thái. Để biết thêm chi tiết, hãy xem Router code source

Để biết thêm thông tin về Handlebars, hãy xem Handlebars website.

Metamorph là thư viện nhỏ được viết bởi Yehuda và Tom, cung cấp cho Ember khả năng cập nhật các phần cụ thể của DOM, cho phép chức năng ràng buộc DOM của Ember.

+21

Nó cũng đáng chú ý là Ember.js được ghi chép kỹ lưỡng và các ember.js chưa được biên tập mà chúng tôi gửi kèm theo tài liệu đó. Tôi chạy cloc (dòng mã đếm) so với nguồn đã biên dịch và nhận được 3.214 dòng trống, 4.800 dòng nhận xét và 7.328 dòng mã. Cũng lưu ý rằng nguồn được biên dịch bao gồm Handlebars.js, trong đó clocs thành 1.314 dòng mã (nó bao gồm đầu ra được biên dịch của trình tạo trình phân tích cú pháp Jison). Điều này làm cho Ember.js có khoảng 6.000 dòng mã thực. Điều này rõ ràng không phải là nhỏ như Backbone, nhưng Ember làm nhiều hơn Backbone ... –

Các vấn đề liên quan