2013-01-15 22 views
5

Tôi đã đọc gần đây về SPA và thế nào là tốt .. Tôi đã tự hỏi nếu ai đó có thể biết khi nào tôi nên sử dụng hoặc thậm chí tốt hơn khi tôi không nên sử dụng SPA như đi với thường xuyên MVCSPA, những điều xấu?

Trả lời

4

Các dụng cụ cho MVC (Rails, MVC4) trưởng thành hơn nhiều. Có nhiều tài liệu tập trung hơn vào việc phát triển các trang MVC truyền thống. Phát triển ứng dụng đơn trang là HARD. Các ứng dụng JavaScript dày đặc khó viết và có thể vô cùng khó khăn để gỡ lỗi.

Nếu bạn muốn tham gia SPA, hãy xem John Papa's video training series trên Pluralsight.com - theo kiến ​​thức của tôi, cung cấp điểm khởi đầu tốt nhất để phát triển các ứng dụng SPA. Hoặc nghiên cứu xương sống, nhưng điều đó không đơn giản là vì trái tim yếu ớt.

Một đề xuất khác: nếu bạn là nhà phát triển ASP.Net, hãy xem BreezeJS (http://www.breezejs.com) để quản lý dữ liệu.

0

Điều này blog post cung cấp thông tin tổng quan về một số vấn đề tiềm ẩn với SPA, cùng với một số đề xuất giải pháp.

Những vấn đề tiềm năng bao gồm:

  • trình duyệt không phải là loài tốt nhất trong việc xử lý bộ nhớ và thu gom rác thải. Đặc biệt khi nói đến xử lý DOM. Ví dụ, các phần tử bị loại bỏ khỏi DOM là stil được giữ trong bộ nhớ. Nếu chúng ta cho phép người dùng để làm việc trên DOM trong một thời gian dài mà không làm mới, trình duyệt có thể đấu tranh để cop lên với bộ nhớ vấn đề

  • Chúng tôi lý tưởng nên tái sử dụng càng nhiều càng tốt các yếu tố DOM mà không cần xử lý. Nhưng ngay cả với cách tiếp cận đó, nếu người dùng tạo ra hàng nghìn phần tử DOM có thể tái sử dụng khi cô ấy sử dụng ứng dụng, trình duyệt có thể phải chịu cảnh báo. Mặt khác, rò rỉ bộ nhớ được tạo ra bởi các thực hành mã hóa xấu cũng sẽ chồng chất lên trong DOM dài.

  • Nếu chúng ta cần chức năng bộ sản phẩm hoàn chỉnh có sẵn dưới dạng một ứng dụng đơn, có thể quá nhiều mã JS/CSS được tải cùng một lúc ảnh hưởng đến thời gian tải ban đầu.

1

Tôi đã đọc gần đây về SPA và thế nào là tốt ..

SPAs chỉ đảo ngược trách nhiệm của trình duyệt-client. Các ứng dụng phía máy chủ truyền thống thực hiện hầu hết công việc trong chương trình phụ trợ. SPA làm hầu hết các công việc trên front-end.

Điều tốt là tạo ra lượt xem trong ứng dụng khách có nghĩa là người dùng đầu cuối có thể thực hiện tất cả thiết kế của họ trong trình duyệt mà không phải lo lắng về việc chạm vào chương trình phụ trợ.

Xem từ Mô hình (tức là bộ điều khiển tồn tại ở cả hai đầu) có nghĩa là dữ liệu có thể được hiển thị dưới dạng REST API trên máy chủ và được sử dụng lại cho khách hàng nhắm mục tiêu đến các nền tảng khác (ví dụ: điện thoại di động, máy tính bảng, TV thông minh).

Loại bỏ nhu cầu làm mới mỗi khi trang được tải làm cho trải nghiệm người dùng tốt hơn.

Tôi đã tự hỏi nếu ai đó có thể biết khi nào tôi nên sử dụng hoặc thậm chí tốt hơn khi tôi không nên sử dụng SPA như đi với thường xuyên MVC

Chuyển đổi sang xây dựng SPAs từ phía máy chủ kiến ​​trúc MVC thể rất khó khăn cho một số người. Nhiều devs làm việc độc quyền trong một ngôn ngữ phía máy chủ có thể chỉ ghét phải đối phó với Javascript (esp devs người chương trình độc quyền trong các ngôn ngữ đánh máy tĩnh).

Thực hiện công việc của SPA yêu cầu một số cách giải quyết thay thế url và chuyển hướng. Đây có thể là một trải nghiệm rất khó hiểu/bừa bãi để làm việc cho những người không có hiểu biết cấp thấp hơn về máy chủ.

Người dùng đã tắt Javascript theo mặc định sẽ không thể tải trang web.

SPA giới thiệu tải nhiều hơn trên máy khách, với mọi thứ chạy trong ngữ cảnh chính điều này có thể làm cho giao diện người dùng chậm/không hồi đáp. Có nhiều giải pháp để giải quyết vấn đề này trong các khuôn khổ SPA mới hơn nhưng bạn nên ghi nhớ nó.

Viết mã cho trình duyệt khác nhiều so với viết mã cho máy chủ. Có rất nhiều phức tạp hơn (ví dụ: DOM) trong trình duyệt.

Chuỗi công cụ để phát triển giao diện người dùng khác với những gì bạn thấy được sử dụng để phát triển hầu hết các ngôn ngữ phía máy chủ. Một số lập trình viên sống và chết bởi IDE của họ.

Tìm nạp dữ liệu động qua Ajax có thể cực kỳ khó khăn lúc đầu đối với một số người. Đặc biệt, các nhà phát triển không hiểu rõ về HTTP.


Thực sự, có một câu hỏi. Bạn có muốn dành thời gian để tìm hiểu làm thế nào để xây dựng SPA?

Các vấn đề liên quan