3

Như nhiều bạn đã biết, các nhà công nghệ là một nhóm có nhiều ý kiến ​​và các cuộc tranh luận về các chủ đề như khung JavaScript là vua không bao giờ kết thúc. Với ý nghĩ đó, lý do tôi sắp chia sẻ mô tả lý do tại sao chúng tôi chọn sử dụng React vào đầu năm 2015 trên Angular để xây dựng Grommet. Tôi hiểu tôi sẽ không thuyết phục được mọi người. Trên thực tế, tôi chắc chắn rằng điều này sẽ gây ra tất cả các loại phản ứng tôn giáo. Tôi đang mong đợi các câu trả lời phản bác từng điểm tôi đưa ra với các con trỏ tới các blog từ chối các xác nhận (vâng, tôi đã đọc hầu hết các blog đó). Điểm mấu chốt là chúng ta tiếp tục thấy việc áp dụng Grommet mạnh mẽ dựa trên mô hình React và những người áp dụng của chúng tôi đang cung cấp phản hồi khẳng định lợi ích được mô tả dưới đây.

Như đã nói, chúng tôi đã chọn React vì những lợi ích sau. Trong khi tiến hành điều tra, chúng tôi đã dựa vào kinh nghiệm và phản hồi của những người chấp nhận khác. Như vậy, tôi đã lưu ý công ty nào chỉ ra những lợi ích trong quá trình đánh giá của chúng tôi. Kể từ khi chúng tôi áp dụng, nhiều công ty khác đã bắt đầu sử dụng React.

  • Tuyên bố - Có lẽ lợi ích lớn nhất mà chúng ta đã thấy với React là bản chất khai báo cho phép các nhà phát triển khai báo cấu trúc và hành vi của từng thành phần. Khi trạng thái thay đổi, nó được xử lý với các sự kiện và mã để kết xuất thành phần được viết một lần. Điều này có lợi ích to lớn trong việc đơn giản hóa sự phát triển và tăng chất lượng. Virtual DOM là một yếu tố quyết định chính của khả năng này. ( Yahoo! , BBC , Atlassian HipChat )
  • Đơn giản - Mô hình đơn giản; khi các thành phần được tạo, chúng độc lập và tương tác với các thành phần thông qua một giao diện đơn giản sử dụng các thuộc tính và trạng thái. Khi các nhà phát triển bắt đầu nghĩ về React, nó sẽ đơn giản hóa các ứng dụng. Nó cũng làm cho các ứng dụng dễ dàng gỡ lỗi vì có một luồng dữ liệu có thể dự đoán được khi dữ liệu luôn chảy theo một hướng. ( Atlassian HipChat , Netflix )
  • Isomorphic - Khả năng chạy cùng một mã JavaScript trên cả máy khách và máy chủ cho phép tải cả trang ban đầu nhanh từ máy chủ và trải nghiệm tuyệt vời trên máy khách. Đó là điều tốt nhất của cả hai thế giới và không thể có trong nhiều khung web. ( BBC )
  • Nhỏ - Nó không đủ để phát triển các ứng dụng doanh nghiệp nhưng không phải là bồn rửa trong nhà bếp. Với sự hỗ trợ được thêm gần đây cho ES6 và Thành phần, API thậm chí còn nhỏ hơn. ( Netflix , Hiplass Atlassian )
  • Nhanh - Bạn có thể đọc về các so sánh hiệu suất khác nhau, nhưng không cần phải nói, React rất nhanh, thậm chí nhanh hơn một số người đã cố gắng tối ưu hóa các giải pháp. ( Netflix )
  • Có thể kiểm tra - Các giao diện đơn giản dễ dàng kiểm tra theo cách không đầu và tự động. ( Hiplass Atlassian )
  • Mô-đun - Sử dụng các thành phần đặt mã (đánh dấu và hành vi) trong cùng một mô-đun thay vì tách các công nghệ (HTML và JavaScript). React sử dụng phương pháp mô đun bằng cách bao gồm mọi thứ cần thiết cho một mô-đun trong một tệp. ( Netflix )
  • Đường cong học tập ngắn - Nhiều người đã tìm thấy đường cong học tập ngắn hơn đáng kể cho React so với các nền tảng khác. Mã đơn giản hơn và API có thể được ghi nhớ trong một ngày. ( Netflix , Yahoo! )
  • Cộng đồng - React là nền tảng JavaScript phát triển nhanh nhất trên GitHub. Nhóm Grommet thường xuyên tham dự các cuộc gặp gỡ trong Khu vực Vịnh San Francisco và được kết nối chặt chẽ với cộng đồng React. ( Yahoo! )

Mặc dù chúng tôi chưa có dự án React Native cho Grommet, nhưng chúng tôi sẽ bắt đầu sớm. Điều này sẽ cho phép các nhà phát triển tìm hiểu một nền tảng và viết các ứng dụng cho Web, iOS và Android. So sánh điều này với Web, Swift / Objective-C và Android / Java.

Đã nói tất cả những điều này, Angular là sự lựa chọn rõ ràng khi chúng tôi bắt đầu đánh giá. Tuy nhiên, khi chúng tôi bắt đầu Grommet vào đầu năm 2015, Angular 2.0 là chủ đề nóng. Các hội nghị kiễu góc trong tháng 10 năm 2014 nói lên góc 2.0 một cách rầm rộ. Angular 2.0 ban đầu được nhắm mục tiêu phát hành vào tháng 10 năm 2015, nhưng vẫn chưa được phát hành vào tháng 1 năm 2016; Bây giờ nó được gọi là rất gần . Khi chúng tôi đánh giá Angular, chúng tôi nhận ra rằng tấm thảm sẽ được kéo ra từ dưới chúng tôi khi 2.0 được phát hành. Cộng đồng Angular tuyên bố công khai rằng sẽ không có con đường di chuyển nào được khám phá từ Angular 1.x đến 2.0 cho đến sau khi 2.0 phát hành. Đó là một vị trí thực sự khó khăn để đưa dự án và công ty của chúng tôi vào khi nhìn từ cấp độ vĩ mô. Vào tháng 8 năm 2015, nhóm Angularcông bố kế hoạch hỗ trợ Angular 1.x và 2.0 trong cùng một ứng dụng cho mục đích di chuyển. Tuy nhiên, việc di chuyển là xa tự động.

Một phát hiện đáng ghét khác mà chúng tôi phát hiện ra trong cuộc điều tra của chúng tôi là thực tế rằng chính Google hầu như không sử dụng Angular. Tại thời điểm đánh giá của chúng tôi , Google đã sử dụng Angular cho DoubleClick và YouTube trên PS3 PS3 và đó là tất cả những gì chúng tôi có thể tìm thấy. Trong trường hợp đó, có lẽ nó có ý nghĩa tại sao cộng đồng Angular sẵn sàng thay đổi hoàn toàn cốt lõi của nền tảng. Họ không có toàn bộ doanh nghiệp của họ để di chuyển xuống một con đường mới. Tôi không thể đặt Grommet hoặc Hewlett-Packard Enterprise vào vị trí đó.

Cuối cùng, không có nền tảng hoàn hảo. Grommet cung cấp một nền tảng vững chắc cho phép các nhóm tạo ra các ứng dụng doanh nghiệp tuyệt vời. Chúng tôi hài lòng với quyết định áp dụng React và rất vui mừng được tiếp tục phát triển khả năng của nền tảng và cộng đồng.

|