В текущем проекте я пытаюсь понять, как эффективно использовать Knockout 2.1.0, Upshot 1.0.0.2, ASP.NET MVC4 и Entity Framework 4.3. . Есть много основных архитектурных вопросов, на которые, похоже, нет готовых ответов. Я перечисляю несколько своих вопросов (в отдельных постах) в надежде, что кто-то сможет дать разумное руководство для меня и других, когда мы попытаемся реализовать эту комбинацию в реальных приложениях.
В потрясающей презентации Стива Сандерсонао Knockout и Upshot.js на TechDays Netherlands в феврале он упомянул, что Upshot поддерживает несколько способов подключения к серверу. (Если вы не видели презентацию, ее стоит посмотреть. Вы можете посмотреть ее по адресу http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2159.)
К сожалению, у него не было времени подробно описать, что это за механизмы связи, какие из них были рекомендованы и при каких обстоятельствах.
Согласно Denver Developerв своем блоге под названием «Digging into Upshot.js» (http://denverdeveloper.wordpress.com/2012/03/07/digging-into-upshot-js/), Upshot.js предоставляет доступ к трем поставщикам данных.Это:
• по умолчанию DataProvider()и использует метод /Submit и операцию, которую вы ему предоставляете, для получения данных с помощью метода jQuery $.ajax. (Примечание AG: я полагаю, что это обычно связано с объектами DbDataController, предоставляемыми WebAPI, но я не уверен, какие именно ограничения.)
• следующий — riaDataProvider( )— аналогично первому, но для получения данных используется метод /json/SubmitChanges и /json/{ваша операция}
• наконец, у нас также есть odataDataProvider()— вот этот сильно отличается, потому что в настоящее время не поддерживает обновление данных — он доступен только для чтения.
При выборе поставщика для типичного использования естественным образом возникает ряд тесно связанных вопросов.
Кстати, в Интернете очень мало документации по результатам. Помимо 4700+ строк кода в upshot.js, есть ли другие достойные источники документации для этой библиотеки?
Ресурсы, которые я рассмотрел до сих пор, включают следующее (плюс еще несколько).
Исходный код из демо SPA Стива Сандерсона (доступен по адресу http://blog.stevensanderson.com/2012/03/06/single-page-application-packages-and-samples/).
Исходный код из вариаций Барта Джоллинга на демонстрационном приложении SPA Стива Сандерсона из его статьи «Создание одностраничных приложений с помощью ASP.NET MVC4» (части 1-4). http://bartjolling.blogspot.com/2012/04/building-single-page-apps-with-aspnet.html
Демо-код Big Shelf SPA с сайта ASP.NET — http:/ /www.asp.net/single-page-application/spa-samples/sample-bigshelf-application
Microsoft ASP.NET «Путешествие по SPA» (в основном фокусируется на итоговых примерах) http://www.asp.net/single-page-application/spa-samples.