Vì vậy, gần đây chúng tôi đã chọn React trong công ty của chúng tôi làm công nghệ front-end để xây dựng ứng dụng web doanh nghiệp lớn của chúng tôi. Bằng cách nói gần đây, tôi có nghĩa là chúng ta không có kinh nghiệm trước đó với React (chúng ta có một nền tảng lớn của AngularJS), và bằng cách nói ứng dụng rất lớn, ý tôi là nó rất lớn và rất năng động với rất nhiều và nhiều phần và chức năng khác nhau.Kiến trúc phản ứng cho một ứng dụng kinh doanh lớn
Bởi vì chúng tôi sẽ có rất nhiều thành phần lớn, tất cả đều đóng vai trò rất quan trọng và có logic phức tạp bên trong chúng, và bởi vì chúng tôi muốn chúng dễ dàng cắm và sử dụng lại được, chúng tôi muốn chúng càng tách biệt càng tốt bên ngoài thế giới và các phần khác của ứng dụng của chúng tôi, bởi vì nếu không vì kích thước và chức năng phức tạp của nó, nó sẽ là khá nhiều không thể phát triển và duy trì chúng. Đó là lý do tại sao chúng tôi quyết định KHÔNG sử dụng Redux, ít nhất là ngay từ đầu, trong khi chúng tôi chỉ phát triển các thành phần riêng biệt, vì nó thỏa hiệp cách ly thành phần và làm cho toàn bộ luồng dữ liệu ứng dụng không thể hiểu được khi có quá nhiều phức tạp các thành phần. Mặc dù tôi tin rằng lựa chọn của chúng tôi có thể sai, bởi vì như tôi đã đề cập, chúng tôi không có kinh nghiệm với React.
Như tôi đã đề cập, ứng dụng rất năng động. Bằng cách đó, tôi có nghĩa là các thành phần thực sự được kết xuất bởi dữ liệu. Chúng tôi sử dụng các lớp nhà cung cấp cấu hình khác nhau tương tác với các điểm cuối API của chúng tôi để có được các phần cấu hình của ứng dụng, như cấu hình điều hướng, trang, các biểu mẫu khác nhau, danh sách, v.v, và cố gắng hiển thị các thành phần được đọc từ cấu hình đó. Vấn đề là, sau một vài tuần đấu tranh để có được động lượng với React và khám phá các mô hình phù hợp và giải pháp chung cho các vấn đề của chúng tôi, chúng tôi đã nói chuyện với phi hành đoàn của chúng tôi, có thể React không phải là công nghệ phù hợp chúng ta, vì nó là một thư viện UI, không phải là một khung công tác và nó không giúp ích gì cho chúng ta, nhưng chỉ thêm các quy tắc dựng hình mà chúng ta phải phá vỡ vào những thời điểm để đạt được tính năng động và độc lập thành phần mà chúng ta muốn.
Xem xét cách ly thành phần và quản lý lưu lượng dữ liệu, cá nhân tôi đã nghe nói rằng có một ngôn ngữ để phát triển front-end Elm có cấu trúc luồng dữ liệu khá mạnh. không biết liệu nó có đáng để thử không, vì nó có thể rơi sau yêu cầu lớn của chúng tôi khá sớm.
Lý do tôi viết câu hỏi này ở đây là tôi hy vọng sẽ có được thông tin chi tiết từ những người có nền tảng vững chắc về làm việc với các ứng dụng đầu cuối lớn. Tôi muốn biết liệu có thể phát triển một ứng dụng như vậy với React hay không, liệu React có phù hợp với sự phức tạp và động lực hay không, cho dù chúng ta thực sự cần Redux hay cái gì khác, con đường, thực hành, ý thức hệ nào chúng ta nên làm theo. Nếu bạn hiểu câu hỏi của tôi một cách chính xác, đó là khía cạnh kiến trúc mà chúng tôi đang đấu tranh, hơn là công nghệ. Có lẽ chúng ta đang đi trên con đường dẫn đến ngày càng khó khăn và phức tạp hơn nhưng không hướng tới sản xuất.
Vui mừng khi biết rằng ai đó ở đây đã biết những gì chúng ta đang trải qua. Nói về 'Redux', tôi đã cố gắng viết một thành phần dạng động với nó và đã rất bối rối ngay khi tôi cần cung cấp cấu hình và dữ liệu cho tiểu bang từ nhiều nguồn khác nhau và sau đó biểu mẫu chính xác và nhận các phần khác nhau của nó đồng bộ . Và sau đó phần xác thực cũng khởi động, và sau đó variuos tạo ra các kiểu trường, như tự động hoàn thành tải các lựa chọn của nó từ một API trực tuyến. Tuy nhiên, tôi vẫn nghĩ rằng sự nhầm lẫn có thể là do sự thiếu kinh nghiệm và kiến thức của tôi về thư viện/khung công tác. – Salivan