در SharePoint 2010 گزینه دیگری در برنامه نویسی، برای دسترسی به دادههای SharePoint تدارک دیده شده است: Client Object Model. این یک روش جدید، در برنامه نویسی شیرپوینت است. اگرچه استفاده از web services، پوشش وسیعی از امکانات شیرپوینت را به شما میدهد، اما برنامه نویسی به روش Client Object Model و API با استفاده از web services بسیار متفاوت است. استفاده از web services کار را برای شما سخت خواهد کرد و لازم است دو روش برنامه نویسی کاملا مختلف را بیاموزید. همچنین فراخوانی web services با JavaScript پیچیده است و نیازمند ساخت و دستکاری XMLهای فراوان است. Client Object Model تمام این مسائل را حل و برنامه نویسی سمت client را راحت کرده است.
در واقع Client Object Model سه Object Model جدا از هم است:
نسخه: .NET CLR برای ساخت WinForms, Windows Presentation Foundation (WPF), console applications
نسخه Silverlight : برای کا با هر دو حالت داخل in-browser و out-of-browser Silverlight applications
نسخه JavaScript : کدهای Ajax و jQuery را قادر میسازد تا دادههای شیرپوینت را فراخوانی کنند
یکی از سوالاتی که در مورد Client Object Model پیش میآید، این است که چه کارهایی را با آن میشود انجام داد؟ Client Object Model امکان دسترسی به بیشتر اشیاء رایج را مانند sites, webs, content types, lists, folders, navigations فراهم میکند. این اشیا با اسمهای مشابه در Client Object Model وجود دارند که در جدول زیر مشخص شدهاند.
در زیر یک مثال ساده از استفادههای Client Object Model را توضیح خواهم داد که لیستهای موجود در سایت را در خروجی نمایش میدهد.
1- در Visual Studio یک پروژه Console application ایجاد کنید.
2- بر روی References کلیک راست کرده Add Reference را انتخاب کنید. از مسیر زیر
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI
Microsoft.SharePoint.dll Microsoft.SharePoint.Client.Runtime.dll
static void Main(string[] args) { var ctx = new ClientContext(@"http://localhost"); var web = ctx.Web; var lists = web.Lists; ctx.Load(lists, l => l.Include (list => list.Title).Where (list => list.BaseType == BaseType.GenericList)); ctx.ExecuteQuery(); foreach (var list in lists) Console.WriteLine(list.Title); Console.ReadLine(); }
انتشار TypeScript 4.8
Here’s a quick list of what’s new in TypeScript 4.8!
Improved Intersection Reduction, Union Compatibility, and Narrowing
Improved Inference for infer Types in Template String Types
--build, --watch, and --incremental Performance Improvements
Errors When Comparing Object and Array Literals
Improved Inference from Binding Patterns
File-Watching Fixes (Especially Across git checkouts)
Find-All-References Performance Improvements
Exclude Specific Files from Auto-Imports
Correctness Fixes and Breaking Changes
JSLint.VS
JSLint.VS افزونهای است رایگان برای VS.Net2005/2008 جهت بررسی سادهتر مشکلات دستوری در فایلهای JavaScript یک پروژه.
اکنون بجای اینکه در مرورگر به دنبال خطاهای گزارش شده بگردیم، میتوان پیش از بررسی نهایی آنها، در VS.Net مشکلات ممکن را یافته و برطرف ساخت.
JSLint.VS به منوی کلیک راست بر روی یک فایل js اضافه میشود و یا در حالت انتخاب قطعهای کد و سپس کلیک راست و بررسی مشکلات موجود و یا در حالت یکپارچه با امکانات build پروژه قابل استفاده است (برای یکپارچه سازی با Build باید به منوی Tools قسمت JSLint.VS options مراجعه کرد و سپس گزینه build را درصفحه ظاهر شده تیک زد).
پس از دریافت آن، محتویات پوشه bin آنرا در مسیر زیر کپی نمائید:
%My Documents%/Visual Studio 2008/Addins
Or
%My Documents%/Visual Studio 2005/Addins
بررسی روش ارتقاء به NET Core 1.1.
آخرین نگارشی را که میتوانید بدون مشکل با VS 2015 اجرا کنید، 1.0.0-preview2-1-003177 است (واقع در پوشهی C:\Program Files\dotnet\sdk). پس از آن، این سیستم از نگارش JSON ایی فعلی به XML ایی تغییر کردهاست و ابزارهای آن فقط برای VS 2017 ارائه شدهاند و VS 2015 از این لحاظ دیگر هیچ پشتیبانی نخواهد داشت (حتی NuGet 4.0 هم برای آن به روز رسانی نشدهاست).
اگر برای مثال SDK مربوط به .NET Core 1.1.1. را نصب کنید و سپس فایل global.json را به 1.0.1 تغییر دهید:
C:\Users\Vahid>dotnet --version 1.0.1
The following error occurred attempting to run the project model server process (1.0.1). Unable to start the process. No executable found matching command "dotnet-projectmodel-server"
اگر برای مثال SDK مربوط به .NET Core 1.1.1. را نصب کنید، درون VS 2015 قادر به Restore بستههای نیوگت نخواهید شد و با پیام خطای ذیل مواجه میشوید:
\.vs\restore.dg(1,1): error MSB4025: The project file could not be loaded. Data at the root level is invalid. Line 1, position 1.
1- ارتقاء به VS 2017 و فراموش کردن VS 2015
2- استفاده از VS 2015 و بازیابی بستهها از طریق خط فرمان (چون دیگر ابزارهای VS 2015 با نگارش جدید SDK سازگار نیستند)
برای این منظور دقت کنید در پنجرهی output ویژوال استودیوی 2015، چه فرمانی صادر شدهاست که سبب بروز خطای فوق گردیدهاست:
"C:\Program Files\dotnet\dotnet.exe" restore "D:\project1\.vs\restore.dg"
پس از آن پروژه بدون مشکل Build میشود (در داخل VS 2015).
3- و یا ... این SDK جدید 1.0.1 را حذف کنید از سیستم (اگر میخواهید با VS 2015 بدون دردسر کار کنید).
و یا کلا به VSCode مهاجرت کنید و VS کامل را فراموش کنید. VSCode با ابزارهای خط فرمان NET Core. کار میکند و در این حالت به سادگی میتوان همواره آخرین نگارش NET Core. را مورد استفاده قرار داد؛ بدون نگرانی از سازگاری ابزارهای ویژوال استودیو با آن. چون اساسا هیچ نوع وابستگی به این ابزارها ندارد. همچنین حجم بسیار کمتری هم داشته و اگر با دریافت VS 2017 مشکل دارید، مهاجرت به VSCode انتخاب بسیار مناسبی است.
خلاصهی بحث
از این پس برای کار کردن بدون دردسر با نگارشهای جدید NET Core. تنها دو راه را پیش رو دارید: مهاجرت به VS 2017 و یا مهاجرت به VSCode.
برای ادامه دادن این سری از مقالات آموزش MDX Query نیاز میباشد که پایگاه دادهی Advwnture Work DW را نصب کرده و سپس توسط SSAS عمل Deploy را انجام دهیم تا پایگاه دادهی Multidimensional Database توسط SSAS ساخته شود .
در ابتدا میبایست فایل نصب پایگاه داده ی Advwnture Work را دانلود نمایید برای این منظور به آدرس زیر رفته و فایل AdventureWorks2008R2_SR1.exe را دانلود نمایید .
http://www.general-files.biz/download/gs4ac37d18h17i0/AdventureWorks2008R2_SR1.exe.html
یا به آدرس زیر مراجعه کنید
https://msftdbprodsamples.codeplex.com/releases/view/59211
نیاز میباشد قبل از شروع به نصب نرم افزار SQL Server Management Studio را ببندید.
سپس مراحل زیر را انجام دهید.
1. فایل AdventureWorks2008R2_SR1.exe را اجرا نمایید.
2. کمی صبر کنید تا صفحهی زیر نمایش داده شود. و گزینهی I Accept … را انتخاب نماید و دکمهی Next را بزنید.
3. در صورتی که از ویندوز 8 استفاده نماید احتمال دارد با خطای زیر مواجه شوید در این صورت به قسمت روش نصب در ویندوز 8 در ادامهی این مقاله مراجعه کنید .
4. در صورتی که از ویندوزهای Server 2003, XP , Win7 استفاده کنید صفحهی زیر را خواهید دید. در این صفحه ابتدا Instance مربوط به SQL سرور خود را انتخاب نماید (در صورت داشتن چندین Instance روی سرور پایگاه داده) سپس مسیر نصب فایلهای Sample را مشخص نمایید (بعدا از همین مسیر اقدام به Deploy کردن پایگاه دادهی Multidimensional خواهیم کرد) و پیش فرضها را بپذیرید و دکمهی Install را بزنید.
5. کمی صبر کنید تا نصب انجام گردد. و در انتها کلید Finish را بزنید.
پس از مراحل بالا (به جز ویندوز 8) با باز کردن نرم افزار SQL Server Management Studio و اتصال به سرویس Database Engine در قسمت Database تصویر زیر را خواهید دید (البته امکان دارد شما از قبل دارای پایگاه دادههای شخصی بوده باشید که بنابر این آنها نیز در لیست شما وجود خواهند داشت)
همچنین شما میتوانید از پنجرهی Object Explorer در قسمت Connect اقدام به اتصال به سرویس SSAS نموده .
و در پنجرهی باز شده Server Name را انتخاب نمایید (با توجه به اینکه شما در حال حاضر میخواهید به SSAS موجود در سیستم Local متصل شوید ، بنابر این انتخاب سرور Local با وارد کردن کاراکتر (.) انجام میشود.)
بعد از اتصال شکل زیر را خواهید داشت و در شاخهی Database همچنان هیچ Multidimensional Database ی نخواهید داشت.(بعد از عمل Deploy که در ادامه آموزش داده خواهد شد پایگاه دادهی Multidimensional ساخته میشود.)
تنها روشی که تاکنون برای نصب پایگاه دادهی Adventure Work DW برروی ویندوز 8 یافته ام (البته کمی غیر حرفه ای میباشد.) به صورت زیر میباشد.
فایل بالا را ( AdventureWorks2008R2_SR1.exe ) روی سیستم عاملهای ( Server 2003,XP,Win 7 ) نصب کرده (به عنوان یک سیستم عامل واسط) و سپس سرویس Database Engine را Stop کرده و فایلهای پایگاه داده را به سیستم عامل ویندوز 8 انتقال داده و به صورت دستی Restore کنیم.
مراحل ایجاد پایگاه دادهی Multidimensional در ویندوزهای مختلف ، یکسان میباشد.
بعد از نصب پایگاه دادهی Adventure Work DW باید به شاخهی نصب Sample بروید (همان مسیری که در مراحل نصب وارد کردیم و البته آدرس پیش فرض آن C:\Program Files\Microsoft Sql Server\100\Tools\Sample میباشد.)
(در صورتی که در ویندوز 8 مراحل نصب را دنبال میکنید مسیر زیر را در سیستم خود درست نمایید و فایلها و پوشههای موجود در مسیر فوق در سیستم عامل واسط (همان سیستم عاملی که فایل نصب بر روی آن نصب شده است) را به درون آن انتقال دهید.)
سپس به زیر شاخهی \ AdventureWorks 2008R2 Analysis Services Project\enterprise بروید و فایل Adventure Works.sln را با Visual Studio 2010 باز کنید.
احتمال دارد که نیاز باشد روی کل شاخهی enterprise در قسمت Security کاربر جاری را Add کنید و به آن دسترسی Full Control بدهید تا عملیات Convert این پروژه به درستی انجام شود.
پس از باز کردن پروژه در Visual Studio 2010 صفحه ای مطابق تصویر زیر در پنجرهی Solution Explorer خواهید دید.
به هیچ عنوان نگران ساختار این پروژه نباشید ، زیرا در مقالههای آیند شرح کاملی در این خصوص کار با Business Intelligence Management Studio خواهم داد. فعلا هدف ما ایجاد پایگاه دادهی Multidimensional می باشد.
برای ساخت پایگاه دادهی Multidimensional مراحل زیر را دنبال نمایید.
1. در ابتدا روی پروژه کلیک راست کرده و گزینهی Properties را انتخاب نمایید.
2. در قسمت Configuration Properties منوی Deployment را انتخاب کرده و اطمینان حاصل کنید که سرور شما LocalHost و نام پایگاه داده شما Adventure Works DW 2008R2 باشد.
3. سپس روی Adventure Works.ds کلیک راست کنید تا تنظیمات Connection String به DW را انجام دهیم. مطابق شکل زیر
4. سپس در پنجرهی باز شده دکمهی Edit را بزنید .
5. و در صفحه باز شده تنظیمات زیر را مطابق تصویر زیر انجام دهید. دقت داشته باشید که تغییرات را از بالا به پایین باید انجام دهید و قبل از زدن دکمهی OK حتما Test Connection را بزنید تا از صحت تنظیمات مطمعا شوید.
6. سپس دو بار دکمهی OK را در دوصفحه کلیک کنید. (بعد از این مراحل شما آمادهی Deploy کردن میباشد)
7. در ابتدا پروژه را Build نمایید ( CTRl + Shift + B ) و اطمینان حاصل کنید که Build با موفقیت انجام میشود.
8. در انتها برروی نام پروژه کلیک راست نمایید و گزینهی Deploy را انتخاب نمایید. فرایند Deploy کردن میتواند کمی زمان بر باشد بنابر این شکیبا باشید و در انتها پیام Deployment Completed Successfully را دریافت خواهید کرد.
9. حال به SQL Server Management Studio بروید و به سرویس SSAS کانکت شوید . در قسمت DataBase یک پایگاه داده با نام Adventure Works DW 2008R2 مشاهده خواهید کرد .
به شما تبریک میگویم اینک شما یک پایگاه دادهی Multidimensional را ساخته اید .
در مقالهی بعدی توضیحاتی در خصوص BIMS (Business Intelligence Management Studio) خواهم داد و همچنین اولین MDX Query را خواهیم نوشت.
نکته:
برای ایجاد یک پروژهی جدید مایکروسافت Web Application را به شما پیشنهاد میدهد. هرچند در این مبحث، مطالبی را مبنی بر فواید Web Site معرفی خواهد کرد، ولی اکثر توسعه دهندگان وب که Web Site را برگزیده اند سرانجام مضراتی از آن را مییابند که سنگینی آن بیشتر از فوایدش است. برای مثال تمامی خصیصههای (feature فیچر) ASP.net لزومآ برای وب سایت در دسترس نخواهند بود؛ مثلآ از ویژوال استودیوی 2012 به بعد، ابزاری برای تولید پروژههای وب وجود دارد که فقط برای Web Application در اختیار خواهد بود (برای کسب اطلاعات بیشتر میتوانید مطلب Creating an ASP.net Web Project in Visual Studio را مطالعه نمایید).
سناریو :
سناریویی که مبنی برا انتخاب Web Application میباشد به شرح زیر است:
· شما نیاز به استفاده از Edit And Continue در دیباگر ویژوال استودیو دارید.
· تمامی کدها، فایلها و کلاسهایی که با صفحات ASP.net مرتبط هستند، برای تست بصورت واحد و یکپارچه در نظر گرفته میشوند.
· شما برای کلاسهایی که وابسته به صفحات هستند و همچنین برای کنترلها و کلاسهای منحصر آن باید ارجاع داشته باشید.
· وابستگی در حالتی که چندین پروژهی مرتبط به هم را دارید توسط شما مشخص میشود.
· برای کل سایت در هنگام کامپایل فقط یک اسمبلی ساخته میشود.
· کنترل نام اسمبلیها و همچنین شمارهی ورژن ایجاد شدهی برای پروژه در دست شماست.
· برای کامپایل پروژه میتوانید MSBuild و یا Team Build را انتخاب کنید؛ برای مثال میتوانید مراحل Prebuild یا Postbuild را مشخص کنید.
· نیازی به قرار دادن سورس برنامه روی سرور نیست.
سناریویی که مبنی برا انتخاب Web Site میباشد به شرح زیر است:
· یک پروژه در بر دارندهی کدهای #C و هم کدهای Visual Basic میباشد ( درحالیکه بصورت پیشفرض در Web Application فایل پروژه بر مبنای زبان برنامهی شما کامپایل میشود، هرچند میتوان این حالت پیشفرض را تغییر داد؛ ولی این امر میتواند اندکی مشکل باشد).
· شما میتوانید سایت ایجاد شده را بصورت Real Time توسط FTP باز نموده و آپدیت نمایید.
· برای توزیع (deploy) پروژه مجبور به کامپایل صریح آن نیستید.
· اگر پروژه را کامپایل نمایید کامپایلر به ازای هر صفحه و یا هر پوشه، یک فایل اسمبلی جداگانه خواهد ساخت.
· برای تغییر یک فایل به تنهایی میتوانید فقط آنرا تغییر داده و بر روی سرور قرار دهید.
· حتی بعد از کامپایل هم میتوانید صفحات ASP.net را بدون نیاز به کامپایل دوبارهی کل سایت تغییر داده و جایگزین نمایید.
· سورس کامل پروژه برای اجرا باید روی سرور قرار گیرد.
تفاوتها در یک نگاه:
زمینه | پروژههای Web Application | پروژههای Web Site |
ساختار فایل پروژه | فایل برنامه (.csproj / vbproj) دربردارنده اطلاعاتی از جمله لیست فایلها و رفرنسها پروژه به پروژه دیگر خواهد بود. | هیچ فایل برنامه ای وجود ندارد و تمامی فایل هایی که داخل پوشه میباشند جزو فایلهای سایت شناخته میشوند. |
کامپایل | · شما پروژه را در سیستم خود کامپایل میکنید. · بصورت پیشفرض کامپایل کدها در یک اسمبلی قرار میگیرد. |
· سورس کدها بصورت اتوماتیک در سرور توسط Asp.net با اولین درخواست کامپایل میشوند. (البته شما میتوانید کامپایل را در سیستم خود نیز انجام دهید) · بصورت پیشفرض کامپایل برای هر کلاس یک اسمبلی جدا میسازد. |
فضاهای نام | Namespaceها بصورت صریح در صفحات و کلاسها و کنترلها افزوده میشود. | هیچ namespace ای بصورت پیشفرض اضافه نمیشود (شما میتوانید بصورت دستی آنها را اضافه کنید) |
توزیع | اسمبلی تولید شده در مرحله کامپایل را روی سرور قرار میدهید اکثر مراحل کامپایل توسط ابزارهای ارائه شده ویژوال استودیو انجام میشود. | کل سورس پروژه روی سرور قرار میگیرد. اکثر مراحل کامپایل توسط ابزارهای ارائه شده ویژوال استودیو انجام میشود. |
ساختار فایل پروژه:
پروژههای Web Application از فایل پروژه ویژوال استودیو ( .csproj / .vbproj ) برای نگهداری اطلاعات پروژه استفاده میکنند. با این امکان میتوان فایلهایی را که در پروژه دخیل هستند و یا باید کامپایل شوند، به تفکیک مشخص کرد.
در مورد Web Site تمامی فایلهایی که در داخل پوشهی برنامه قرار دارند، به صورت پیش فرض جزیی از برنامه تلقی شده و کامپایل خواهند شد و برای اینکه فایلی را بخواهید مستثنا کنید یا باید آنرا حذف کنید و یا پسوند آنرا به نامی که توسط سرور IIS قابل شناسایی نیست تغییر دهید.
فایدهی فایل پروژه یعنی همان ( .csproj / .vbproj ) در Web Application :
میتوان فایلی را به طور موقت از برنامه حذف کرد، بدون نگرانی از آنکه فایل بصورت کلی حذف شود. چرا که فایل در ساختار برنامه باقیست. برای مثال اگر صفحهای برای توزیع آماده نیست، میتوانید به راحتی آنرا از برنامه خارج کنید ( Exclude ) و برنامه را کامپایل نمایید و بعد از اینکه این صفحه هم آماده شد، دوباره آن را وارد پروژه نمایید ( include ) که اهمیت این امر در مواردی که از برنامههای کنترل سورس استفاده میکنید، دوچندان میشود.
فایدهی عدم استفاده از فایل پروژهی برنامه در Web Site :
شما مجبور به کنترل و شخصی سازی ساختار فایل برنامه در ویژوال استودیو نیستید و به راحتی هر فایل یا صفحهای را که میخواهید، با کپی کردن به پوشه و یا حذف کردن از آن توسط فایل اکسپلورر انجام میدهید.
کامپایل:
برای برنامههای Web Application شما بصورت معمول پروژه را Build مینمایید و تمامی کدهای صفحات و همچنین کلاسها به صورت یک فایل اسمبلی در پوشهی bin ذخیره میگردد.
برای Web Site شما مجبور به کامپایل دستی پروژه نیستید و میتوانید از Batch-Compile استفاده کنید و همچنین به ازای هر صفحه و کلاسریال شما یک فایل اسمبلی خواهید داشت.
مزایای کامپایل در Web Application :
· میتوانید از MSBuild استفاده کنید.
· میتوانید خصیصههای اسمبلی، از جمله نام و ورژن را به راحتی مدیریت نمایید.
· کامپایل قبل از توزیع برنامه این مزیت را دارد که کاربران مجبور نیستند منتظر کامپایل برنامه در سرور باشند.
· مدیریت دقیقی بر روی فایلها و ساختار برنامه و همچنین کلاسها و ارجاعات خواهید داشت.
مزایای کامپایل در Web Site :
· میتوانید هر صفحهای را که نیاز دارید بدون در نظر گرفتن آماده شدن دیگر صفحات تست و اجرا نمایید.
· آپدیت و جایگزینی فایلها به راحتی صورت میگیرد؛ چرا که اسمبلی تمام فایلها بصورت منحصر همان صفحه ایجاد خواهد شد.
· ایجاد شدن چند اسمبلی میتواند در برخی پروژهها به نفع برنامه بوده و performance را بالا ببرد. برای مثال در حالتیکه یک سایت با صفحات زیاد دارید و برخی صفحات به نسبت دیگر صفحات خیلی کمتر درخواست میشوند.
نکته:
هیچ فرقی بین Web Application , و web Site از نظر performance وجود ندارد مگر درحالت ذکر شده در بالا و در سایتهای خیلی بزرگ.
توزیع : ( Deployment )
در web Site کل فایلهای پروژه را بر روی سرور قرار میدهید؛ درحالی که در Web Application فایلهای برنامه بصورت اسمبلیها ( .dll ) روی سرور قرار میگیرند. همین امر میتواند در برخی حالتها مثلآ زمانی که از هاست share شده استفاده میکنید، خیال شما را از بابت سورس برنامه مطمئن سازد.
برای Web Site نیز این مزیت وجود دارد که برای انجام تغییرات کوچک مجبور به کامپایل و آپلود دوبارهی کل پروژه نیستید.
ماخذ
- برتری های شیرپوینت 2010 نسبت به شیرپوینت 2007 – لیست ها | عارف حکیمی | www.parnianportal.com
- پندهای جوئل اسپالسکی به دانشجویان کامپیوتر | (Afshar Mohebbi) | blog.afsharm.com
- سیر تکاملی Delegate ها - قسمت سوم، Lambda Expression | www.persiadevelopers.com
- مجموعه وبلاگ های یادگیری الکترونیکی در Google Reader | پرهام | www.elb.ir
- Introducing the Microsoft “Roslyn” CTP | Visual Studio Blog | blogs.msdn.com
- Introducing the Microsoft “Roslyn” CTP | CSharpFAQ | blogs.msdn.com
- Microsoft Announces Windows Management Framework 3.0 CTP #1 | Jeff Martin | www.infoq.com
- Mono 2.12 Roadmap | Jonathan Allen | www.infoq.com
- NHibernate Designer 2 | Phillip | www.philliphaydon.com
- Roslyn CTP | Kirill Osenkov - MSFT | blogs.msdn.com
- Roslyn CTP is available | Patrick Smacchia | codebetter.com
- Roslyn CTP Now Available | S.Somasegar | blogs.msdn.com
- Roslyn Syntax Visualizers | Visual Studio Blog | blogs.msdn.com
- The Roslyn Preview Is Now Available | Eric Lippert | blogs.msdn.com
- Windows Server 8 | Bill Laing, Manlio Vecchiet, Max Herrmann, Mike Neil | channel9.msdn.com
- آیا میدانید چطور میتوان تعداد اتصالها به اس کیوال سرور را محدود کرد؟ | beyondrelational.com
- بهینه سازیهای SIMD کامپایلر سی++ ویژوال استودیو 11 | blogs.microsoft.co.il
- ترجیح اوراکل بیشتر به جاوای نگارش سازمانی است تا پشتیبانی دسکتاپ | rss.slashdot.org
- مطابق قوانین کانادا لینک دادن اشکالی ندارد! | rss.slashdot.org
- نحوه استفاده از Stack Exchange API | channel9.msdn.com
در مورد تنظیمات دستی IIS Express که یک نسخهی سبک IIS 7.5 قابل اجرا بر روی ویندوز XP نیز میباشد، پیشتر در این سایت مطلبی را مطالعه کردهاید (+). اکنون که سرویس پک یک VS 2010 ارائه شده (+)، دیگر نیازی به آن تنظیمات دستی نبوده و امکان استفاده یکپارچه و خودکار از این نسخهی ساده شده IIS 7.5 به شرح زیر وجود دارد:
ابتدا نیاز است تا هر دو مورد سرویس پک یک VS 2010 و همچنین IIS Express به صورت جداگانه نصب شوند. سپس:
الف) ابتدا از منوی Tools ، گزینهی Options را انتخاب کنید. در صفحهی باز شده در قسمت Projects and solutions ذیل گزینهی Web projects نیاز است تا یکبار مجوز استفاده از IIS express صادر شود:
ب) اکنون بر روی نام پروژه در Solution explorer موجود در Visual studio کلیک راست کرده و گزینهی Use IIS Express را انتخاب نمائید:
به این صورت تنظیمات لازم به صورت خودکار اعمال خواهد گردید و جهت مشاهده آنها میتوان به خواص پروژه، برگهی Web مراجعه کرد:
نکته مهم:
نسخهی RTM ویژوال استودیوی 2010 تنظیمات فوق را که در تصویر ملاحظه میکنید، ندارد. به عبارتی پس از اعمال تغییرات فوق باید دقت داشت سایرینی که قرار است از پروژهی شما استفاده کنند نیز باید پیشنیازهای ذکر شده را رعایت نمایند و یا جهت توزیع سورس میتوان مجددا بر روی نام پروژه کلیک راست کرده و اینبار گزینهی Use Visual Studio Development Server قدیمی را انتخاب کرد.
در مقاله قبلی ، درباره دلایل استفاده از Xamarin ، کمی صحبت کردیم. حال وقت آن رسیده که به سراغ نصب و راه اندازی اولین پروژه زمارین برویم.
اگر شما از Visual Studio 2015 به بعد استفاده کنید، موقع نصب قادر خواهید بود که با انتخاب گزینه Mobile Development و انتخاب Xamarin ، آن را نصب و همچنین تمامی فایلهای مربوط به آن را دریافت کنید. در نظر داشته باشید که در طول این پروسه شما باید از ف.یل.تر شکن استفاده کنید، چرا که بعضی از فایلها مانند Android Sdk بر روی سرور گوگل قرار دارد و گوگل آپیهای ایران را برای برنامه نویسان فیلتر کرده است (البته اگر بستهی کامل VS 2017 را دریافت کرده باشید، تمام این پیش نیازها، به همراه این بستهی 21~ گیگابایتی موجود است و این مشکلات را نخواهید داشت).
حال اگر در حال حاضر Visual Studio را بر روی سیستم خود نصب دارید و زمارین را نصب نکرده اید میتوانید از طریق خود سایت زمارین اقدام به دانلود آن بکنید. در نظر داشته باشید، وقتیکه فایل نصبی را از سایت دریافت میکنید، برنامه شروع به نصب خودکار زمارین و تمامی موارد مورد نیاز خود میکند که در این مورد هم به ف.یل.تر شکن نیاز دارید (منهای بستهی کامل VS 2017 که پیشتر عنوان شد). همانطور که بالا گفته شد فایل هایی مانند Android Sdk را نمیتوان از آی پی ایران دانلود کرد (مگر اینکه از سایتهای واسط استفاده کنید).
پس از موافقت با حقوق کپی رایت زمارین، سیستم شما
را جستجو کرده و تمامی موارد مورد نیاز را که نیاز به نصب دارند، به شما نشان
داده و نصب خواهد کرد.
اگر همه مراحل با موفقیت به پایان برسد، پیغامی مبنی بر موفقیت آمیز بودن عملیات را دریافت خواهید کرد. اما اگر به هر دلیلی فایل نصبی نتواند فایلهای مورد نیاز را دانلود کند، پیغامی مبنی بر شکست عملیات دانلود فایل مورد نظر را دریافت میکنید. در این صورت میتوانید صفحهای را مشاهده کنید که درون آن تمامی فایلهای دانلود نشده و لینک دانلود مستقیم آنها قرار دارند و شما میتوانید فایلهای offline آنها را دانلود کرده و به صورت دستی بر روی سیستم نصب نمایید.
اگر تمامی فایلهای مورد نظر را دانلود کرده باشید، قادر خواهید بود اولین پروژهی خود را شروع کنید. قبل از اینکه کار با زمارین را شروع کنیم، اجازه دهید از اینکه ویژوال استودیو تمامی فایلهای نصب شده را تشخیص داده یا خیر، مطمئن شویم. ویژوال استودیوی خود را باز کرده و از منوی Tools، گزینهی Options را انتخاب و بعد از باز شدن صفحه مورد نظر، در انتهای لیست، گزینه Xamarin را انتخاب کنید.
اگر تمامی مراحل با موفقیت انجام شده باشند، ویژوال استودیو تمامی فایلها را به صورت خودکار تشخیص خواهد داد. اما اگر ویژوال استودیو به هر دلیلی هر کدام از اینها را تشخیص نداد، ابتدا از نصب بودن آنها اطمینان حاصل نمایید و سپس به صورت دستی مسیر آنها را مشخص کنید.
نکته : در نظر داشته باشید فایلهای زیر برای اجرای برنامه بر روی اندروید میباشند و اگر شما تمایلی به اجرای نرم افزار خود را بر روی اندروید ندارید، میتوانید از آنها صرف نظر کنید.
در این مرحله میخواهیم اولین برنامه زمارین خود را شروع کنیم. همانطور که در مقاله قبلی توضیح داده شد، شما میتوانید از xamarin forms و یا xamarin native استفاده کنید. Xamarin forms ساختاری برای code sharing میباشد که توسط شرکت زمارین توسعه داده شدهاست. به این ترتیب شما قادر خواهید بود که با استفاده از Xamarin Forms با نوشتن کمترین کد، نرم افزار خود را بر روی پلتفرمهای پشتیبانی شدهی توسط زمارین اجرا کنید. استفاده از Xamarin Forms برای یک پروژهی تجاری بسیار مناسب میباشد؛ اما در برخی موارد شما باید از Xamarin Native هم استفاده نمایید که در این صورت هم زمارین دست شما را نخواهد بست و قادر خواهید بود که به صورت ترکیبی از Xamarin Forms و Xamarin Native از آن استفاده نمایید.
حال به سراغ ساخت اولین پروژه زمارین برویم. در ابتدا برای ایجاد یک پروژه، از منوی File گزینه New و سپس گزینه Project را انتخاب کنید. در پنجره باز شده از سمت چپ گزینه C# را انتخاب و از زیر منوی Cross Platform گزینه Cross Platform App را انتخاب کنید.
پس از تایید با صفحه زیر مواجه خواهید شد.
در این قسمت همانطورکه مشاهده میکنید میتوانید از دو نوع قالب استفاده کنید و همانطور که از نام آنها مشخص است، Master Detail دو پروژه خواهد ساخت که میتوانید از آن برای سناریوهای خاص استفاده کنید. در قسمت پایین، UI Technology مشخص کنندهی شیوه پیاده سازی ظاهر برنامه است. زمارین فرم برای پیاده سازی ظاهر برنامه از Xaml استفاده میکند و شما میتوانید از طریق آن ظاهر تمامی پلت فرمها را پیاده کنید. همچنین قادر خواهید بود بجای استفاده از Xaml، از زبانهای مخصوص هر پلتفرم مانند Xml برای اندروید استفاده کرده و ظاهر نرم افزار خود را با استفاده از آن پیاده کنید.
زمارین فرم برای Code Sharing از دو روش استفاده میکند.
Shared Project
مزایا:
· شما به تمامی قسمتهای یک پلتفرم دسترسی دارید.
· قادر خواهید بود کدهایی مخصوص به هر پلتفرم را بنویسید.
· میتوانید با استفاده از Conditional Compilation، بر اساس نوع پلتفرم، شروطی را اعمال نمایید.
معایب:
· شما با این روش نمیتوانید DLL ایی را تولید کنید و از آن در پروژههای دیگر استفاده نمایید.
· نوشتن Unit Testing نسبت به روش Portable پیچیدهتر است.
Portable Class Library
مزایا:
· شما قادر خواهید بود از پروژه خود DLL تهیه کرده و در مابقی پروژهها از آن استفاده کنید.
· نوشتن Unit Test به سادگی امکان پذیر است.
معایب:
· در این روش شما نمیتوانید از کدهای مخصوص به هر پلتفرم ( Platform-Specific ) استفاده کنید (البته با استفاده از Dependency Injection امکان پذیر است).
· فقط قادر خواهید بود که از زیر مجموعه .Net استفاده نمایید.
در ادامه پس از انتخاب Xamarin Forms و Shared Project، بر روی Ok کلیک کنید. همانطور که میبینید ویژوال استودیو شروع به ساخت پروژههای برنامه میکند. اگر تمامی Sdk های مورد نیاز را نصب کرده باشید، ویژوال استدیو 5 پروژه را برای شما میسازد (در نظر داشته باشید که اگر SDK مربوط به Universal Windows Platform را هم نصب کرده باشید، پروژهی مربوط به آن را نیز خواهید دید).
اولین پروژه، پروژه Shared است که کدهای برنامه در این پروژه نوشته خواهد شد.
دومین پروژه همانطور که از پسوند آن مشخص است، پروژه مربوط به اندروید است. در نظر داشته باشید که پروژههایی که مربوط به پلتفرمها میباشند، برای نوشتن کدهای مخصوص به هر پلتفرم در دسترس میباشند و کدهای نوشته شده در این پروژهها و پروژه Shared ترکیب شده و بعد کامپایل میشوند.
در زمارین برنامهها از فایلی به نام App
اجرا میشوند. این فایل علاوه بر دسترسی به Life Cycle اپلیکیشن، وظیفهی دیگر آن مشخص کردن اولین
صفحهی برنامه نیز میباشد. این فایل درون پروژه Shared قرار دارد.
همانطور که مشاهده میکنید پس از باز کردن فایل App، در متد سازنده آن صفحه اصلی، به صفحهای به نام MainPage که یک فایل Xaml میباشد، تنظیم شدهاست. پس از باز کردن فایل MainPage با کدهای زیر مواجه میشویم.
<?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:local="clr-namespace:PreviewerTest" x:Class="PreviewerTest.MainPage"> <Label Text="Welcome to Xamarin Forms!" VerticalOptions="Center" HorizontalOptions="Center" /> </ContentPage>
که مشخص کننده یک لیبل با متن Welcome to Xamarin Forms! میباشد. پس از اجرای برنامه میتوانیم کد اجرا شده را مشاهده کنیم.