1 / 20

Обзор технологий Client Side

Обзор технологий Client Side. ECMAScript , Silverlight и объектная модель для SharePoint 2007 и 2010. Что это и зачем?. Удобство для пользователя Меньше перезагрузок страниц Более понятный отклик интерфейса на события Больше возможностей для взаимодействия

manton
Download Presentation

Обзор технологий Client Side

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Обзор технологий Client Side ECMAScript, Silverlight и объектная модель для SharePoint 2007 и 2010

  2. Что это и зачем? • Удобство для пользователя • Меньше перезагрузок страниц • Более понятный отклик интерфейса на события • Больше возможностей для взаимодействия • JavaScript + XmlHttpRequest+ .asmx, .svc, … -> AJAX • Создание с нуля требует больших затрат и потенциально глючно, сохраняются проблемы совместимости браузеров (IE 6)

  3. Что у нас есть? SharePoint v3 / 2007 SharePoint v4 / 2010 В коробке Ajax везде Веб-части Silverlight ClientOM для .NET ClientOMдля ECMAScript (SP.js, SP.debug.js) <ScriptLink>/SP.SOD.execute <- любые js-библиотеки, в том числе собственные В коробке • Core.js, init.js, form.js,… • ActiveX-контролы.ocx и .dll Дополнительно • ASP.NET AJAX • Silverlight blueprint • jQuery, jQuery UI, jPoint, jQuery.SPServices • ExtJS, Prototype.js…

  4. ClientSide 2007 Популярные инструменты Популярные js-библиотеки и расширения для SharePoint 2007

  5. Взаимодействие с сервером FrontPage RPC / OWS Веб-службы XmlHttpRequest… jQuery.ajax() jPoint jQuery.SPServices Silverlight • owsapi.js http://darrenjohnstone.net var lists = new SPAPI_Lists("http://server") ; var listcollection = lists.getListCollection(); if(listcollection.status == "200"){ $(listcollection.responseXML) .find("List").each(function(){ //here we have each list }); http://jpoint.codeplex.com var listItems = jP.getList('/','Title').getSPItemsWithQuery(CamlQuery,RowLimit); var itemObjects = listItems.getItemsFieldData();

  6. Зоопарк или оркестр? • ECMAScript или Silverlight? • Собственная разработка или типовое решение? • Взаимодействие или конфликт? • Методы развертывания, контроль версий • Гдеразместить? • Как развернуть? • Как изменить? • Как сберечь? http://muhimbi.com/Products/SharePoint-Infuser-(Free).aspx http://SmartTools.CodePlex.com http://SPCS.CodePlex.com http://SPServices.CodePlex.com http://jPoint.CodePlex.com

  7. muhimbi.infuser

  8. SmartTools.jQueryLoader

  9. ClientSide 2010 Полная объектная модель для клиентских приложений

  10. Основные объектыClient Object Model Site Web ContentType Change List Navigation Form NavigationNode View UserCustomAction Field RoleDefinition ListItem RoleAssignment Folder Интерфейс WorkflowAssociation Данные, схема File WorkflowTemplate Логика WebPart Безопасность

  11. JavaScript (см. _layouts/SP.debug.js) • var context; • varweb; • function testButtonClick() • { • context = new SP.ClientContext(); • web = context.get_web(); • context.load(web) • context.executeQueryAsync(titleRetrievedContinue); • } • function titleRetrievedContinue() • { • web.set_title(web.get_title() + " + JavaScript"); • web.update(); • context.executeQueryAsync(sayDone); • }

  12. C#(_layouts/ClientBin/Microsoft.SharePoint.Client*.dll) • private ClientContext context; • private Webweb; • private void TestButton_Click(object sender, RoutedEventArgs e) • { • context = ClientContext.Current; • web = context.Web;context.Load(web); • context.ExecuteQueryAsync(TitleRetrievedContinue, null); • } • private void TitleRetrievedContinue(object sender, ClientRequestSucceededEventArgsargs) • { • web.Title = web.Title + " + Silverlight"; • web.Update(); • context.ExecuteQueryAsync(SayDone, null); • }

  13. Запрос данныхс помощью LINQ clientContext.Load(oList,list=> list.Fields .Where(field => field.Hidden == false && field.Filterable== true)); clientContext.ExecuteQuery();

  14. Silverlight Веб-части Silverlight

  15. Работа с данными SharePoint из Silverlight • Client Object Model • ADO.NET Data Services(REST) • Веб-службы SharePoint • Работа с HTML DOM • Дополнительные веб-службы SharePoint Server SilverlightPlug-in

  16. Silverlight HTML Bridge • Обработка HTML DOM из Silverlight • Вызов функций JavaScript из Silverlight • Вызов кода Silverlight из Javascript • Вызов обработчиков событий Javascriptиз Silverlight • Вызов обработчиков событий Silverlight из Javascript • Обмен объектами между Silverlight и Javascript

  17. Взаимодействие Silverlight веб-частей SendMessage() Register(SilverlightApp 2 Client ID) Web Part 1 Web Part 2 Silverlight App2Client ID SilverlightApp 1 SilverlightApp 2 Page ISilverlightConnection Silverlight App1 Client ID

  18. Выводы • В SharePoint 2007 можно сделать удобный и красивый интерфейс с помощью дополнительных библиотек *.jsи ‘Blueprint for Silverlight’ • В SharePoint 2010 удобно делать красивые и удобные интерфейсы с помощью согласованной объектной модели как на js/ecmascript, так и на Silverlight

More Related