Ember. Đặt cược tốt nhất của bạn.

Nếu bạn đang xem xét sử dụng công cụ nào để giúp bạn xây dựng ứng dụng tiếp theo của mình, bạn cần xem xét Ember.js. Xây dựng một ứng dụng lối vào là vô cùng phức tạp và bao gồm nhiều vấn đề khác nhau. Đó là một cuộc phiêu lưu mà bạn không muốn thực hiện một mình và bạn muốn chuẩn bị cho mọi kịch bản xảy ra. Ember có lưng của bạn và tôi sẽ làm sáng tỏ lý do tại sao bạn nên xem xét nó cho dự án tiếp theo của bạn.

Thư viện không phải là khung.

Thư viện là công cụ. Chúng cho phép bạn làm một điều cụ thể. Hãy xem xét một bàn chải sơn, nó làm một công việc và một công việc duy nhất. Các khung bao gồm nhiều công cụ. Trong Ember, các công cụ này đã được cộng đồng quản lý để trở thành giải pháp tốt nhất cho một số vấn đề phức tạp và phổ biến nhất trong phát triển frontend.

Ember là một hộp công cụ được quản lý tốt

Vấn đề tôi thấy là cộng đồng frontend nói chung đã nhầm lẫn cả hai khá nhiều. Ví dụ: Glimmer.js, Vue.js và React.js là các công cụ lớp xem - chúng giúp bạn quản lý các thành phần kết xuất trên một trang. Tuy nhiên, có những công cụ giải quyết các vấn đề khác, chẳng hạn như React-Router và router.js để hỗ trợ định tuyến cũng như tạo-Reac-app và ember-cli để tạo công cụ.

Các khung bao gồm các công cụ này để bạn có thể bắt đầu xây dựng ứng dụng của mình. Khung đầu tiên của tôi là Rails, một ví dụ tuyệt vời về khung bao gồm một số thư viện xuất sắc. Vấn đề là một khung công tác phụ trợ không dịch về mặt tinh thần trên frontend, bởi vì sau tất cả các frontend chỉ là UI - phải không?

Không. Phát triển Frontend bao gồm hỗ trợ api web, công cụ, triển khai, thử nghiệm và nhiều hơn nữa. Những phần riêng lẻ này đã được cải thiện bởi nhiều thư viện, nhưng có một khung trong túi của bạn là rất quan trọng - nó cho phép bạn cung cấp phần mềm nhanh hơn, giảm thiểu mệt mỏi khi quyết định.

Cung cấp phần mềm.

Đảm bảo rằng phần mềm tuyệt vời được vận chuyển là trách nhiệm chính của tôi. Là một kỹ sư phần mềm, tôi xây dựng mọi thứ. Những điều này là khách hàng phải đối mặt và bất cứ điều gì cản trở mục tiêu đó là một sự xao lãng.

Một số người có thể nói rằng thiết lập một khung là trách nhiệm của một kỹ sư phần mềm. Và, nó là. Tuy nhiên, chúng ta cũng cần phải cân bằng chi phí của công việc so với giá trị mà người dùng phải đối mặt.

Các đội tôi thích làm việc với sự quan tâm nhất về phần mềm vận chuyển. Họ nhận ra có một sự cân bằng tinh tế và sự khác biệt rõ rệt giữa nhu cầu giải quyết các vấn đề phát triển thường gặp với nhu cầu của khách hàng.

Ember làm điều này ra khỏi hộp. Nó đã thành lập một cộng đồng làm việc cùng nhau để giải quyết các vấn đề phổ biến đồng thời cung cấp các tính năng bạn cần nhất trong ứng dụng của mình. Nếu nó không có những gì bạn cần, thì hệ sinh thái addon mở rộng của nó chắc chắn có một giải pháp cho bạn. Cuối cùng, nếu nó không hoạt động, tôi chắc chắn rằng bạn sẽ tìm thấy những người khác sẵn sàng giúp đỡ bạn.

Lợi ích cho việc chọn Ember.

Một cuộc sống đơn giản hơn.

Kể từ khi tôi chọn Ember, tôi đã lo lắng về công cụ, hỗ trợ api web, tuân thủ bảo mật và nhiều hơn nữa. Tại sao vậy? Bởi vì cộng đồng bao gồm các chuyên gia trong các lĩnh vực này đã dành cả cuộc đời của họ để giúp bạn, tôi và mọi người khác.

Thử nghiệm trong Ember là một ví dụ hoàn hảo về cách cuộc sống trở nên dễ dàng hơn. Đơn vị, tích hợp và đầy đủ về thử nghiệm chấp nhận là một phần của khung. Bạn chỉ phải chọn người chạy thử nghiệm nào (ví dụ: qunit [2], mocha, v.v.) bạn muốn sử dụng. Mọi thứ khác kết hợp với nhau và bạn có thể nhanh chóng bắt đầu viết và thực hiện các bài kiểm tra của mình.

Trao quyền cho các kỹ sư viết các bài kiểm tra chấp nhận không đau đớn có thể loại bỏ yêu cầu của một bộ phận QA riêng biệt, đặc biệt là đối với các nhóm nhỏ và ngân sách eo hẹp. Và bạn nhận được tất cả những điều này miễn phí.

Một cộng đồng thân thiện.

Cộng đồng có lẽ là một trong những khía cạnh tốt nhất để chọn Ember. Bởi vì các cuộc hội thoại là minh bạch và công khai, lý do tại sao một mô hình được triển khai trên một mô hình khác hoặc tại sao một kỹ thuật nhất định tốt hơn - tất cả đều được ghi lại trên web [3]. Sẵn sàng để bạn xem xét, phê bình, tránh hoặc thực hiện.

Cũng lưu ý rằng Ember sẽ không biến mất. Nền tảng mà cộng đồng Ember đã thiết lập được xây dựng bởi một liên minh gồm các cá nhân và công ty. Mọi người trong cộng đồng đều đến từ những nền tảng khác nhau, với những vấn đề khác nhau và rất nhiều ý kiến. Nhưng đây là nơi sức mạnh cốt lõi của khuôn khổ - trong các cuộc thảo luận lành mạnh, thực hiện và cung cấp các giải pháp đã được thử nghiệm.

Tài liệu.

Thư viện là tài liệu rất tốt [4]. Từ mã nguồn, hướng dẫn hoặc các cuộc hội thoại kênh chùng, bạn có thể tìm thấy câu trả lời cho câu hỏi của mình. Và thậm chí tốt hơn - nó đã thực hiện nghiêm túc. Tài liệu được phiên bản, các cuộc hội thoại dựa trên cộng đồng trên Github rất kỹ lưỡng và nhóm nòng cốt đã thực hiện các hướng dẫn giúp quy trình chuẩn này được thực hiện trong hệ thống addon mở rộng của nó.

Những lời chỉ trích phổ biến của Ember.

Nó không mát.

Vâng, đó là - có một loạt các tính năng trong khung tôi đặt cược bạn yêu thích sử dụng. Ví dụ: bản đồ nguồn hoạt động tốt - có nghĩa là bạn có thể sử dụng các công cụ dành cho nhà phát triển Chrome, để xây dựng rộng rãi ứng dụng của mình.

Yêu thích sự ổn định có thể không hào nhoáng nếu bạn bắt đầu, và điều đó có thể làm phiền bạn rằng Ember doesn không cho phép bạn phá vỡ mọi thứ. Chúng tôi đã từng làm điều đó, và nó rất vui.

Tin tốt là giọng nói của bạn có thể được nghe thấy. Ember có một quy trình RFC có tổ chức để tranh luận về những thay đổi lớn trong khuôn khổ. Bạn có thể tìm hiểu về các thay đổi trước khi chúng xảy ra, đưa hai xu của bạn hoặc tạo RFC của riêng bạn để phản hồi.

Đường cong học tập là dốc.

Ember bao gồm nhiều phần quan trọng khác nhau giúp dễ dàng cho quá trình phát triển ứng dụng. Ví dụ: định tuyến, triển khai và kiểm tra tự động được triển khai. Điều đó có nghĩa là, không chỉ bạn sẽ cần tìm hiểu về các mẫu thiết kế được đề xuất của EmberTHER - mà bạn còn cần tìm hiểu về các khía cạnh khác để vận chuyển phần mềm hoạt động tốt.

Điều này làm cho đường cong học tập hơi dốc, bởi vì có nhiều thứ hơn là chỉ học về việc soạn các thành phần cho lớp thị giác. Lập luận về đường cong học tập dốc Ember thang đã được sử dụng để chống lại nó, nhưng tôi sẽ thách thức rằng với thực tế là cuối cùng bạn sẽ cần học những khía cạnh phát triển khác này khi nhu cầu của bạn tăng lên ngoài lớp xem.

Lưu ý rằng điều này đã thu hút sự chú ý của nhóm nòng cốt, và có một phong trào lớn để đơn giản hóa mọi thứ để đảm bảo rằng rào cản gia nhập được đơn giản hóa. Ví dụ: chuyển sang các lớp JavaScript, loại bỏ sự cần thiết của this.get và this.set và nhiều thứ khác đã được đề xuất để loại bỏ các nguồn gây nhầm lẫn lớn nhất cho các nhà phát triển JavaScript.

Bản địa không phải là một công dân chính.

Ember là một khung cam kết với kiến ​​trúc Ứng dụng Trang đơn (SPA). Những lợi ích bạn nhận được từ SPA là những lợi ích của Ember. Vì SPA không phải là một khái niệm cho các ứng dụng gốc, Ember không phù hợp với người bản xứ.

Hãy nhớ rằng Ember đang tiến bộ với các ứng dụng web tiến bộ. Vì vậy, nếu đó là một tùy chọn bạn muốn xem xét, hãy xem Xây dựng ứng dụng web lũy tiến với Ember bằng mixonic.

Tại sao bạn nên chọn Ember.

Ember đang được sử dụng trong thế giới khởi nghiệp và ở cấp độ doanh nghiệp. Có nhiều ứng dụng khác nhau đã được chứng minh là có khả năng phục hồi theo thời gian. Nó được sử dụng trong nhiều ngành công nghiệp và đã được chứng minh quy mô nhanh chóng và hiệu quả. Ember đã giúp các doanh nghiệp vận chuyển giá trị và ổn định các nhóm phát triển.

Xuất phát từ quan điểm công nghệ phần mềm, sự ổn định của một nhóm có giá trị hơn bất kỳ thứ gì khác mà tôi đã làm. Khi bạn có thể làm việc trong một nhóm và chia sẻ cùng một ngôn ngữ mà không có sự nhầm lẫn nào về kỹ thuật, nhóm sẽ phát triển và trở nên có giá trị hơn so với sản phẩm thực tế.

Từ góc độ sản phẩm, bạn có thể thấy sự tiến bộ nhanh chóng. Trên thực tế, nếu công cụ mà bạn đã chọn cung cấp cho bạn khả năng lặp lại nhanh chóng các tính năng và thực hiện phản hồi trong thời gian ngắn - thì đối với tôi có vẻ như đó là công cụ phù hợp cho công việc.

Và cuối cùng từ góc độ kinh doanh, tôi càng sớm có thể gia tăng giá trị cho sản phẩm của mình thì càng tốt.

Nếu bạn muốn nhóm của bạn làm việc hiệu quả hơn và hài lòng hơn trong khi cung cấp giá trị, thì bạn nên cân nhắc chọn Ember. Nếu bạn vẫn còn do dự, hãy liên hệ với tôi trên Twitter tại @alvincrespo, tôi sẽ rất vui khi giúp bạn tìm ra công cụ tốt nhất cho công việc.

Cảm ơn.

Cảm ơn tất cả những người đã giúp tôi viết bài này. Thời gian và nỗ lực của bạn được đánh giá rất cao và tôi hy vọng rằng những lời tôi nói ở đây phản ánh chính xác đánh giá của bạn.

Ghi chú.

[1] tạo-phản ứng-ứng dụng (CRA) hơi dựa trên triết lý tương tự như ember-cli. CRA cung cấp trải nghiệm ban đầu trong việc tạo một ứng dụng, tuy nhiên một khi nhu cầu của bạn vượt quá mục tiêu của dự án đó - bạn sẽ tự mình thực hiện. Mặt khác, ember-cli cung cấp một hệ sinh thái addon cung cấp cho bạn khả năng móc vào cli để tùy chỉnh các bản dựng của bạn.

[2] ember-qunit là trình chạy thử mặc định, không yêu cầu cấu hình trước

[3] Ví dụ về các cuộc hội thoại minh bạch:

  • https://github.com/emberjs/rfcs/pull/176
  • https://github.com/emberjs/rfcs/pull/240

[4] Ví dụ về tài liệu:

  • https://github.com/emberjs/ember.js/blob/v2.15.0/packages/ember-rp4/lib/mixins/observable.js#L96
  • https://github.com/emberjs/ember.js/blob/v2.15.0/packages/ember-routing/lib/system/route.js#L1458