مقدمه
در دنیای فناوری مدرن، بیشتر برنامهها حول محور توسعه سمت مشتری میچرخند. شیرپوینت همچنین از شیرپوینت 2010 به بعد، با معرفی انواع مختلف API سمت کلاینت، بیشترین تمرکز را بر روی توسعه سمت مشتری متمرکز کرد.
در زیر APIهای رایج برای دسترسی به اشیاء شیرپوینت از سمت سرویس گیرنده آورده شده است. آن ها هستند،
- مدل شیء سمت مشتری مدیریت شده
- مدل شی جاوا اسکریپت شیرپوینت
- REST API
- خدمات وب
توسعه برنامه های کاربردی با استفاده از مدل های فوق مستلزم صرف زمان زیادی از توسعه دهندگان در توسعه است. مدل های سمت مشتری برای بازیابی نتیجه به فرآیند زیر نیاز دارند.
- برای ایجاد اتصال به سایت شیرپوینت.
- درخواست را در صف و بسته بندی کنید
- ارسال درخواست همراه به سرور
- نتیجه را بازیابی و رندر کنید
PnP-JS-Core – کتابخانه جاوا اسکریپت برای شیرپوینت
برای ساده کردن زندگی برنامهنویس به جای نوشتن خطوط زیاد برای پردازش مراحل بالا، تیم PnP (الگوها و روشها) روشهای کمکی و کاربردی زیادی ایجاد کرد و آن را PnP JS Core نامید. کتابخانه.
تیم PnP یک گروه علاقه ویژه برای جاوا اسکریپت ایجاد کرد که دارای یک کتابخانه هسته جاوا اسکریپت است و این یک پروژه منبع باز است، بنابراین هر کسی می تواند در بهبود این کتابخانه هسته جاوا اسکریپت مشارکت کند. در حال حاضر به طور کامل بر اساس SharePoint REST API با استفاده از Typescript توسعه یافته است. بنابراین ما می توانیم برنامه های سمت کلاینت را با استفاده از جاوا اسکریپت یا TypeScript توسعه دهیم.
PnP JS Core به زبان ساده،
نسخه کوتاه شده JavaScript API برای شیرپوینت به
آدرس مخزن مراجعه کنید که حاوی منبع کتابخانه هسته PnP جاوا اسکریپت برای شیرپوینت است. ما می توانیم از این مکان GitHub کلون کنیم و شروع به کمک به بهبود این کتابخانه کنیم.
این کتابخانه از شیرپوینت 2013 به بعد در محل و محیط شیرپوینت آنلاین پشتیبانی می کند.
تا کنون تیم PnP یک نسخه اصلی 1.0 و همچنین یک نسخه مینور 1.0.1 را با مشکلات جزئی حل شده منتشر کرده است.
جزئیات مربوط به هر نسخه از کتابخانه PnP JS Core را در مکان زیر پیدا کنید.
مقایسه API
مثالهای زیر در هر ناحیه عنوان و توضیحات وبسایت را برمیگرداند.
مدل شی جاوا اسکریپت بومی شیرپوینت
- function getwebdetails() {
- varclientContext = SP.ClientContext.get_current(); // equivalent to SPContext.Current
- oWeb = clientContext.get_web(); //Gets the current Web Object
- clientContext.load(oWeb, 'Title', 'Description', );
- clientContext.executeQueryAsync(new function() {
- varstrmsg += "<b>Web Title:</b> " + oWeb.get_description() + "<br/>";
- console.log(strmsg);
- }, onFailed);
- }
- ExecuteOrDelayUntilScriptLoaded(getwebdetails, "sp.js");
SharePoint REST API
- //Include jquery file to the SharePoint page
- $.ajax({
- url: _spPageContextInfo.webAbsoluteUrl + "/_api/web?$select=Title,Description", //THE ENDPOINT
- method: "GET",
- headers: {
- "Accept": "application/json; odata=verbose"
- },
- success: function(data) {
- //RESULTS HERE!!
- console.log("Web: " + data.d.Title + " - Description: " + data.d.Description);
- }
- });
کد اصلی PnP JS
- //Include pnp.js file to the SharePoint page
- $pnp.sp.web.get().then(function(web) {
- console.log(web.Title + ' - ' + web.Description);
- });
نتیجه گیری
از مقایسه هر مدل، PnP JS Core کد را ساده می کند و زندگی توسعه دهنده را آسان می کند.
منابع