2014-11-15 13 views
14

Tôi bị lỗi. Tôi đã học MeteorJS để phát triển một ứng dụng web và tôi đã hoàn thành một phần tư. Sau đó, đi cùng Meteor đã được phát hành gần đây. Nó đã nhận được rất nhiều báo chí, tài trợ và nó có lợi ích của việc có thể chuyển đến Cordova. Bây giờ tôi không chắc liệu có nên gắn bó với ExpressJS hay chuyển sang Meteor hay không.ExpressJS vs MeteorJS

Điểm chính: Khả năng mở rộng, Dễ sử dụng, Hiệu quả phát triển

+0

_Tôi đã học MeteorJS để phát triển một ứng dụng web và tôi là một phần tư con đường của tôi done_ Tôi nghĩ bạn có nghĩa là bạn đã học expressJS? –

Trả lời

24

Express = MVC Framework được xây dựng bằng Javascript và được hỗ trợ bởi Nút.

Meteor = Full stack mà có front-end và back-end các thành phần để xây dựng một ứng dụng thời gian thực.

Để tạo thực hiện cùng một Meteor sử dụng Express, bạn cần phải nhìn vào ngăn xếp MEAN, trong đó bao gồm MongoDB, Express, AngularJS, và Node. Bạn có thể tạo điều tương tự trong Meteor mà bạn có thể với giá trị trung bình stack, bạn chỉ cần đi để được làm học tập nhiều hơn nữa đặc biệt là với AngularJS. Express và Angular được quan tâm trong Meteor sử dụng hệ thống mẫu của Meteor và Blaze.

tôi sẽ gắn bó với Meteor. Nó vẫn có một vài nhược điểm, nhưng có cách giải quyết. Thật tuyệt vời những gì bạn có thể ném cùng nhau trong thời gian ngắn.

8

Bạn đang so sánh cam với khoai tây. Expressjs là backend và Meteor là fullstack, so sánh như vậy là không công bằng chút nào!

Tôi đã làm việc với Meteor từ 0.8 và tôi bị đau da khi nâng cấp, loại bỏ các gói bên thứ ba quan trọng cũ, v.v. bạn có ý tưởng. Mặc dù Meteor đạt tới 1.0, tôi không nghĩ rằng thành phần di động đã sẵn sàng, hãy kiểm tra vấn đề github trên đó.

Tôi nghĩ Meteor đã sẵn sàng để xây dựng nền tảng trực tuyến. Nếu bạn thấy rằng nó không hoạt động tốt trên thiết bị di động, bạn vẫn có thể duy trì ứng dụng Meteor và tạo API trên đầu trang, bạn có thể tìm các gói trên atmospherejs.com cho nó (hoặc thậm chí sử dụng sắt: bộ định tuyến). Đó là những gì bạn làm với Expressjs: tạo một API để các thiết bị di động sử dụng.

Giới thiệu về các điểm chính của Meteor: Khả năng mở rộng - Có thể mở rộng Meteor mặc dù bạn sẽ không có một bài viết hay về nó nhưng nếu bạn nhìn vào Kadira, Arunoda quản lý nó. Dễ sử dụng - Khá dễ dàng để viết một ứng dụng Meteor ngay từ đầu nhưng về lâu dài bạn sẽ gặp phải một số vấn đề như tôi gặp phải. Hiệu quả phát triển - Kinh nghiệm của tôi trong nhóm không phải là tích cực, chúng tôi có những lựa chọn thiết kế kiến ​​trúc xấu và một số lỗi vì các nhà phát triển mới (thậm chí là những người có kinh nghiệm) không có Meteor, ví dụ: Thay vì sử dụng Collections cho phép và từ chối các quy tắc, họ sử dụng Meteor .methods cho mọi thứ không dịch sang bảo mật. Một số thậm chí xuất bản toàn bộ cơ sở dữ liệu cho khách hàng và nói: Các công trình lớn trên localhost của tôi: D

Về nhanh: Tôi có chút kinh nghiệm về nó nhưng so sánh nó với Meteor, thật không công bằng chút nào. Meteor không có cùng mục đích như Expressjs.

Một so sánh với MEAN stack sẽ có ý nghĩa nhiều hơn nữa: http://mean.io/

4

Express.js là khá khác biệt so với Meteor. Meteor cố gắng đưa ra một khuôn khổ tốt cho mọi người tham gia nhiều quyết định (hy vọng những quyết định tốt) thường không quan tâm đến quan điểm phát triển ứng dụng: thư viện truyền tải để sử dụng, cách đồng bộ hóa dữ liệu, cách xây dựng API có thể sử dụng lại, bảo mật, các hoạt động CRUD với cơ sở dữ liệu, v.v.

Thay vì Meteor cung cấp cho bạn trải nghiệm thống nhất trên toàn bộ ngăn xếp. Vì nó có rất nhiều quyền kiểm soát đối với backend, transport, interfaces, front-end, xây dựng chuỗi công cụ - nó có thể xây dựng rất nhiều tính năng gọn gàng, khó có thể kết dính với Mongo + Express + framework front-end yêu thích của bạn + socket.io + grunt/gulp.

Đọc blog của người tạo trên Socket.io về mức độ khó khăn trong việc cung cấp trải nghiệm người dùng tốt trong các ứng dụng từng trang trong những ngày này: http://rauchg.com/2014/7-principles-of-rich-web-applications/. Meteor làm được nhiều thứ hơn thế nữa. (ngoại trừ việc hiển thị và dự đoán phía máy chủ, ít nhất là ngay bây giờ).

Hãy suy nghĩ về số lỗ hổng bảo mật bạn sẽ có nếu bạn chọn trừu tượng quá thấp với hy vọng sẽ thực hiện mọi thứ đúng.

+0

Meteor vẫn còn nhiều việc phải làm khi nói đến bảo mật nhưng bạn có một điểm tốt về quản lý một chồng phức tạp, đó là nơi Meteor tỏa sáng. –

+1

@ Mário: bạn có thể mở rộng trên [những gì Meteor cần làm khi nói đến bảo mật] (http://wiki.dandascalescu.com/essays/Why_Meteor#6._Security)? –

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