Tôi đang tạo ứng dụng web kinh doanh mới và tôi muốn đạt được:
- Sử dụng các công nghệ tốt nhất từ các lĩnh vực tương ứng của họ. Tôi muốn khung phụ trợ đáng tin cậy với ORM vững chắc. Và tôi muốn khung công tác SPA (ứng dụng một trang) tiên tiến nhất với việc sử dụng các tính năng HTML và Javascript cập nhật nhất cho ứng dụng lối vào
- Đưa ra các thực thể phụ trợ và dịch vụ kinh doanh để sử dụng từ các loại ứng dụng khác nhau - ví dụ: ứng dụng web, di động (Android) và có thể các loại khác (thiết bị thông minh, v.v.)
Vì vậy - để đáp ứng cả hai yêu cầu, tôi có xu hướng tách biệt hoàn toàn ứng dụng của mình trong các ứng dụng phụ trợ và frontend và tổ chức giao tiếp giữa chúng bằng API REST (JSON). Đây có phải là cách tiếp cận âm thanh?
Sự tách biệt như vậy không phải là giải pháp thiết kế rõ ràng, bởi vì nhiều công nghệ ứng dụng web đã tích hợp các lớp khung nhìn trong đó ứng dụng phía máy chủ ít nhiều kiểm soát việc tạo ra khung nhìn và xử lý một phần các phản hồi từ khung nhìn (ví dụ SpringMVC có lớp xem, PHP Yii với chế độ xem lớp, Java JSF / Facelets hoàn toàn lưu trạng thái của các thành phần của chúng trên máy chủ). Vì vậy - có nhiều công nghệ xung quanh đề xuất khớp nối mạnh mẽ hơn và hứa hẹn thời gian phát triển nhanh hơn và hành trình con đường chuẩn hơn. Vì vậy - tôi phải thận trọng khi bắt đầu sử dụng các công nghệ theo cách không được sử dụng rộng rãi.
Theo tôi hiểu thì giao diện SPA tách biệt hoàn toàn thường xuất phát từ sự cần thiết phải sử dụng API của bên thứ ba. Nhưng thiết kế âm thanh tách rời như vậy khi cả phụ trợ và frontend được phát triển bởi một công ty?
Sự lựa chọn công nghệ của tôi hiện tại là Java / Spring backend và Angular2 / Web Components / Polymer cho frontend - nếu tôi được phép nói điều này. Nhưng điều đó không liên quan đến câu hỏi này, bởi vì câu hỏi này là về thiết kế chung chứ không phải về sự lựa chọn công nghệ cụ thể?
So - I must be cautious when starting to use technologies in manner which is not widely used.
Vâng, bạn phải thận trọng nếu bạn đang dự định sử dụng búa để ném lụa. Có lẽ nó không phải là công cụ phù hợp.