Một số lý do để phát triễn ứng dụng web với Meteor
Để tiếp nối bài viết Giới thiệu một số framework của Nodejs kỳ trước, hôm nay mình sẽ viết một vài lý do vì sao mình lại chọn Meteor : Khi lần đầu tiên tìm hiểu về Meteor, mình thấy một ai đó viết: "Meteor là Node.js như Rails là Ruby" và mình nghĩ đó là một so sánh tốt. Cách đây vài năm, Rails ...
Để tiếp nối bài viết Giới thiệu một số framework của Nodejs kỳ trước, hôm nay mình sẽ viết một vài lý do vì sao mình lại chọn Meteor : Khi lần đầu tiên tìm hiểu về Meteor, mình thấy một ai đó viết: "Meteor là Node.js như Rails là Ruby" và mình nghĩ đó là một so sánh tốt. Cách đây vài năm, Rails đã mang lại nhiều điều mới mẻ, rải một số "ma thuật" hữu ích thông qua quá trình phát triển để lập trình trên web dễ tiếp cận hơn. Và bây giờ Meteor lại mang âm hưởng của Rails ngày xưa. Vậy nên đây là một framework mà bạn nên xem xét nghiêm túc cho các dự án sắp tới của bạn. Đây là một vài lý do tại sao.
1 Your applications are real-time by default.
Gần đây, các công ty như Twitter và Facebook đã được chuyển sang một web thời gian thực. Điều không thể tránh khỏi là sớm hơn bạn mong đợi, người dùng sẽ mong đợi các ứng dụng web sẽ hoạt động gần như tức thời (real-time).
Vấn đề là, tạo ra các ứng dụng web thời gian thực là rất tốt. Hoặc ít nhất nó đã như vậy. Meteor có thời gian thực được tích hợp vào lõi của framework này. Khi cơ sở dữ liệu được cập nhật, dữ liệu ngoài view của bạn được cập nhật ngay tức thì. Khi người dùng nhấp vào một nút hoặc gửi biểu mẫu, hành động sẽ xảy ra ngay lập tức. Trong phần lớn các trường hợp, điều này thậm chí không đòi hỏi bất kỳ nỗ lực nào.
2. You can develop with just one language.
Một trong những phần bực bội của việc là một nhà phát triển web là cần phải lựa chọn bao nhiêu loại ngôn ngữ cho web site của mình. Từ back-end đến front-end, và cơ sở dữ liệu. Meteor đơn giản hóa quá trình này bằng cách thu hẹp phạm vi của những gì bạn cần để xem xét, cho phép bạn xây dựng và quản lý front-end, back-end, và cơ sở dữ liệu mà không có gì ngoài JavaScript.
Điều này, ví dụ, là cách chúng ta tạo ra một "collection" - tương đương với một bảng SQL - trong Meteor:
BlogPosts = new Meteor.collection('posts');
Vì vậy, chúng ta có thể tạo ra một collection với một cú pháp quen thuộc, nhưng cũng có thể thao tác một bộ sưu tập với một cú pháp quen thuộc. Dưới đây là cách chúng tôi chèn dữ liệu:
BlogPosts.insert({ title: 'Hello World', content: 'This is the content.', published: true });
Một dòng code có thể chạy trên cả client lẫn sever và làm những thứ khác nhau trong cả hai môi trường và sử dụng một cú pháp quen thuộc trong suốt chu kỳ phát triển.Đây là lý do tại sao vấn đề này quan trọng:
3. You can save a lot of time with smart packages.
Giả sử bạn muốn tạo một hệ thống tài khoản người dùng trong một dự án Meteor. Làm thế nào bạn có thể tiếp cận nó?
Trong Meteor, đây là cách tạo một hệ thống tài khoản:
meteor add accounts-password
Chúng tôi chạy lệnh này Meteor bổ sung thêm một trong những "package thông minh" được tích hợp vào project. Package này tạo ra một hệ thống tài khoản dự kiến một email (hoặc tên người dùng) và mật khẩu. Ngoài ra nếu muốn đăng nhập bằng các tài khoản mạng xã hội thì có thể thực hiện bằng các lệnh sau: Đối với tài khoản twitter:
meteor add accounts-twitter
Hoặc bằng tài khoản Google:
meteor add accounts-google
Hay tài khoản Facebook:
meteor add accounts-facebook
Và bạn có thể chọn tất cả các lệnh này để tích hợp nhưng tài khoản cho phép login vào website của bạn.
Meteor cũng cung cấp một gói accounts-ui tạo ra giao diện của hệ thống tài khoản này và chỉ cần một lệnh khác:
meteor add accounts-ui
Với hệ thống tài khoản ở trên, bạn có thể làm mọi thứ cần thiết khi làm việc trên một ứng dụng web, và để kiểm tra người dùng đã đăng nhập vào web hay chưa chỉ bằng các đoạn code đơn giản sau:
{{#if currentUser}} <p>You're logged in.</p> {{else}} <p>You're not logged in.</p> {{/if}}
Hiện nay các nhà phát triễn đã cho ra đời rất nhiều các package thông minh và mạnh mẻ hơn cho phép bạn thực hiện một số yêu cầu hoặc chức năng một cách nhanh chóng và hiệu quả:
- Writing your applications in CoffeeScript.
- Automatically compiling LESS files into CSS.
- Integrating extras like D3.js and Bootstrap.
4. The community is extremely supportive.
Không có gì thu hút nhiều hơn đến một framework hoặc công nghệ mới với một cộng đồng phát triễn lớn mạnh và năng động.
- Sẽ có rất nhiều tài liệu chi tiết.
- Sẽ tiết kiệm thời gian tìm hiểu và nghiên cứu.
- Sẽ rất phổ biến trong tương lai gần.
Có rất nhiều nguồn tài nguyên hữu ích được xuất hiện :
- Crater là một trang web Reddit-like như để theo dõi những gì đang xảy ra trong thế giới của Meteor.
- Evented Mind là một trang đào tạo video dành cho các nhà phát triển, mong muốn hiểu sâu hơn về cách Meteor hoạt động.
5. It’s optimized for developer happiness.
- Tính năng LiveReload tích hợp, do đó bạn sẽ không phải refresh trình duyệt của mình theo cách thủ công.
- Tự do để cấu trúc dự án của bạn, làm bất cứ điều gì bạn muốn. Có những tiêu chuẩn bạn có thể theo nhưng không có quy tắc nghiêm ngặt hoặc quy ước.
- Mô-đun của Meteor cho phép kết hợp các thành phần khác nhau trong trường hợp một phần của Meteor không theo ý thích của bạn.
Ở trên là một số lý do bạn nên chọn Meteor mà mình nêu ra.