برنامهنویسی سمت سرور(Server Side) همانطور که از اسم آن مشخص است با زبانهایی مانند C# و VB.NETسمت سرور نوشته میشود و روی سرور اجرا میشود. در طرف دیگر برنامهنویسی سمت کاربر (Client Side) با زبانهایی مانند جاوااسکریپت و فریم ورکهای آن نوشته میشود و روی مرورگر (Browser) کاربر اجرا میشود.
همیشه در پروژههای شیرپوینتی و سازمانهای مختلف که از شیرپوینت استفاده میکنند این سوال مطرح است که “بهترین روش برای توسعه نیازها استفاده از برنامهنویسی سمت سرور است یا برنامه نویسی سمت کاربر؟” برای پاسخ به این سوال ابتدا باید با امکانات این دو روش برنامهنویسی در شیرپوینت بیشتر آشنا شویم و پس از بیان تفاوتها به این سوال جواب بدهیم.
سفارشیسازی شیرپوینت در سمت سرور با استفاده از ASP.NET انجام میشود که در آن کدها از .NET Framework استفاده خواهند کرد و با زبانهایی مثل C# و VB.NET نوشته میشود.
بر خلاف کدنویسی سمت سرور، کدها در برنامهنویسی سمت کاربر در صفحه گذاشته میشود و توسط مرورگر کاربر اجرا میشود. برنامهها با زبانهایی مانند JavaScript نوشته شده و میتوانند با تمامی موارد داخل صفحه تعامل داشته باشد.
استفاده اززبانهایی مانند C# که برروی امکانات بسیار زیاد .NET Framework قراردارد مزیتهای بسیار زیادی به برنامهنویسان Server Side شیرپوینت داده مانند ارثبری، اینترفیسها و چندریختی که از امکانات زبانهای برنامهنویسی شیگرا میباشد. با توجه به این موارد از مزیتهای این روش برنامهنویسی شیرپوینت میتوان موارد زیر را نام برد.
در طرف دیگر برنامهنویسی سمت کلاینت شیرپوینت امکانات بسیار زیادی به برنامهنویسان شیرپوینت میدهد. امکاناتی که با استفاده از آن میتوان وبپارتها و یا صفحاتی با طراحی مطلوب ایجاد نمود و یا با استفاده از این امکانات HTML یا CSS های صفحات شیرپوینت را تغییر داد. از مزیتهای برنامهنویسی سمت کاربر شیرپوینت میتوان موارد زیر را نام برد.
برای برنامه نویسی Server Side شیرپوینت نیاز به سروری که شیرپوینت روی آن نصب و کانفیگ شده باشد از الزامات است ( به دلیل استفاده و رفرنس دادن DLL ها و Namespace های شیرپوینت در کد) بنابراین برنامهنویسان نیاز به یک فارم توسعه شبیه به فارم عملیاتی دارند تا بتوانند کدهای خود را روی آن نوشته و تست نمایند و سپس به سرور عملیاتی منتقل و Deploy کنند. همچنین برای شروع توسعه نیاز به نصب برنامه visual studio نیز میباشد.
در هر بار Debug یا Deploy برنامههای سمت سرور کاربران سامانههای شیرپوینت با قطعی هر چند اندک مواجه خواهند شد پس بهتر است پس از اطمینان از صحت برنامه آنرا به فارم عملیاتی منتقل نمود.
در طرف دیگر برنامهنویسان سمت کاربر میتوانند با استفاده از یک ویرایشگر متن مانندNotepad و Notepad++ کدهای خودرا بنویسند یا با استفاده از ویرایشگرهای متن مخصوص برنامهنویسان Client Side مانند VS Code ،Sublime ،Atom و.. کدهای خود را بنویسند و مستندسازی نمایند. همچنین برای محیط توسعه نیازی به یک سرور جداگانه نیست و برنامهنویس میتواند در سایت مخصوص به سامانه تمامی کدهای خود را بارگذاری و استفاده نماید.
برای Debug کردن کدهای Client Side مرورگرها ابزار بسیار زیادی دارند تا برنامهنویس بتواند با استفاده از آنها کدهای خود را دیباگ نماید.
وابسته به نیاز در حال توسعه در شیرپوینت مسلما برای سرعت و کارآیی هر چه بیشتر سایتهای شیرپوینت، زمان پاسخ مطلوب صفحات طراحی شده و بقیه موارد ذکر شده بهتر این است که اولین گزینه استفاده از کدنویسی Client Side باشد. همچنین با توجه به Road Map مایکروسافت که به صورت کلی مسیر خود را در طراحی امکانات جدید شیرپوینت به سمت برنامه نویسی Client Side برده است به نظر استفاده از این نوع برنامه نویسی در شیرپوینت سازگارتر و قابل اطمینان تر خواهد بود.