جستجوی گروه : مقاله

ایجاد پروژه انگولار در Asp.Net

با سلام خدمت کاربران گرامی .در این مقاله قصد داریم در مورد نصب انگولار 2 در asp.net صحبت نماییم و این که چگونه نصب می شود و چه استفاده هایی دارد و نرم افزار هایی که باید قبل آن نصب شود چیست و از کجا باید دانلود کرد.

معرفی Angularjs 2

Angular 2 یک چارچوب جاوا اسکریپت open source برای ساخت برنامه های کاربردی وب در HTML و جاوا اسکریپت است. این آموزش جنبه های مختلف چارچوب Angular 2 را بررسی می کند، از جمله اصول چارچوب، تنظیم Angular و نحوه کار با جنبه های مختلف چارچوب را بررسی می کنیم.

چرا از انگولار2 استفاده می کنیم؟

1-پشتیبانی از انگولار 2 در موبایل و دستاپ های کامپیوتری

2-Component Based :این به این معنی است که تمام اجزای نرم افزار در یک جا قرار دارد.

3-پشتیبانی از چند زبان:انگولار 2 می تواند از چند زبان پشتیبانی کند

نیاز های نرم افزار

قدم اول

ابتدا از این لینک node.js را دانلود کنید

قدم دوم نصب visual studio 2015  ورژن 3  است

نرم افزار را باز کنید و روی گزینه ی Help بزنید و About visual studio را انتخاب کنید

آپدیت را از لینک زیر نصب کنید

Visual Studio 2015 Update 3

قدم سوم

پیکربندی تنظیمات محیط برای Node و NPM. مراحل زیر را دنبال کنید.
روی Tools -> Options -> Project and Solutions -> External Web Tools کلیک کنید
در اینجا، فقط با استفاده از $(PATH)  بر روی موقعیت بالا (PATH) حرکت کنید و دکمه OK را کلیک کنید

قدم چهارم باید type script را دانلود کنید

قدم پنجم این است که پروژه ی جدید را اضافه نمایید

قدم ششم این است که انگولار 2 را دانلود و نصب نمایید

 

 

 قدم هشتم : روی فایل package.json راست کلیک کرده و روی "Restore Package" کلیک کنید. برای نصب این نرم افزار شاید یک ذره طول بکشد.

قدم نهم: Command Prompt را باز کنید و به محل پروژه بروید و Command npm را اجرا کنید پس از مدتی در مرورگر اجرا می شود

میزبانی سرویس Web API REST بر روی IIS 10

با سلام .برای ارائه هر برنامه به کاربران باید آن برنامه را بر روی یک میزبان قرار دهیم.در این مقاله قصد داریم که روش میزبانی سرویس ASP.NET Web API REST بر روی IIS 10 را همراه با یک مثال و توضیحات تصویری به شما آموزش بدهیم.

اگر شما نمیدانید که چگونه باید سرویس ASP.NET Web API REST را توسعه دهید و یا ایجاد کنید.

بعد از ایجاد کردن سرویس Web API REST ،

 

گام اول نصب IIS

قبل از میزبانی هر برنامه، مطمئن شوید که IIS (خدمات اطلاعات اینترنتی(Internet Information Services)) بر روی سرور میزبان شما نصب شده است.

اگر آن را نصب یا فعال نکرده اید ، مراحل زیر را دنبال کنید.

بر روی آیکن Windows  که در پایین سمت چپ قرار دارد کلیک کنید و در آن منو Control Panel را بیابید و بر روی آن کلیک کنید.

در Control Panel در لیست نمایش داده شده Program and Features را بیابید.

این قسمت این لیست برنامه های نصب شده را نشان می دهد.

Turn Windows feature on or off را در گوشه پنل یافته و بر روی آن کلیک کنید ، همانطور که تصویر آن را در زیر آورده ایم.

حالا در پاپ آپ بعدی ، (Internet Information Services (IIS را بیابید و آن را چک کنید.

بر روی دکمه Nextکلیک کنید و سپس Finish را انتخاب کنید.نصب IIS ممکن است چند دقیقه به طول انجامد.

بعد از نصب ، سیستم خود را ReStart کنید.

گام دوم :

نصب NET Framework.

ویژوال استودیو بر روی سرور میزبانی شما مورد نیاز نیست ، ولی باید NET Framework. را بر روی سرور خود نصب کنید.

اگر آن نصب نشد ، سپس باید .NET Framework. مناسب موجود در وب سایت رسمی مایکروسافت را نصب کنید.

ما  فرض میکنیم که NET Framework. را در سرور میزبان خود نصب کرده اید.

گام سوم:

انتقال کدهای منتشر شده به سرور میزبان

فایل های منتشر شده را کپی کنید و آن ها را در سرورهای مربوطه که می خواهید سرویس Web API REST را میزبانی کند، قرار دهید.

در آخرین مقاله ما سرویس Web API REST را در درایو E سیستم منتشر کردیم، همانطور که در تصویر زیر نشان داده شده است.

گام چهارم :

باز کردن IIS Manager

حالا IIS Manager را از منو Windows  باز کنید.

تصویر بالا IIS 10 Manager  در ویندوز 10 سیستم ما است.ویو و همچنین گزینه ها ممکن است بسته به نسخه سیستم عامل بر روی دستگاه شما متفاوت باشد.

گام پنجم :

افزودنwebsite بر روی Site در IIS کلیک کنید و add new website کلیک کنید.همانند تصویر زیر:

بعد از کلیک بر روی گزینه Add Website ، پنجره تنظیمات زیر نمایش داده می شود.

امیدوارم متوجه تنظیمات قبل که متن آن را هایلات کرده ایم شده باشید.

گام ششم :

نام سایت و  Application Pool را تعریف کنید

تعریف نام سایت که میتواند برای شناسایی منحصر به فرد سایت در سرور IIS مفید باشد.بعد از مشخص کردن نام سایت ، Application Pool را از میان Pool های در دسترس انتخاب کنید. شما حتی می توانید یک

application pool سفارشی با هر نام دلخواه ایجاد کنید.در حال حاضر مدیر IIS ما دارای Pool های کاربردی زیر است.

application pool را بسته به تنظیمات برنامه خود انتخاب کنید.در این مقاله ، ما قصد داریم DefaultAppPool را انتخاب کنیم.

 

گام هفتم:

جستجو کنید و مسیر فولدر انتشار را انتخاب کنید.

حالا ، مکان فیزیکی مربوط به کدهای منتشر شده را با کلیک بر روی دکمه Browse همانطور که در تصویر زیر نشان داده شده است انتخاب کنید.

حالا بر روی ok کلیک کنید.

گام هشتم:

IP address و Port را تعریف کنید.

از لیست IP address های در دسترس یک IP address را انتخاب کنید و یک port number یکتا برای برنامه تعریف کنید که در داخل IP address مشخص شده منحصر به فرد خواهد بود.

گام نهم :

Protocol و نام میزبان را انتخاب کنید(اختیاری)

یک پروتکل برای برنامه خود انتخاب کنید به عنوان مثال :HTTP  یا HTTPS که نیاز مند  port 443 برای باز شدن هستند و یک نام برای میزبان انتخاب کنید که به صورت عمومی برای دسترسی به برنامه مورد استفاده قرار می گیرد.بعد از تعریف تمامی تنظیمات ، پنجره تنظیمات وب سایت به صورت تصویر زیر است:

 

حالا بر روی دکمه ok کلیک کنید.این برنامه را ایجاد و در IIS می افزاید.

گام دهم:

مرور URL  با استفاده از REST Client

برنامه میزبانی شده را با استفاده از سرویس REST با آدرس پایه همراه با API، نام کنترلر و نام اکشن متد ، با الگوی مشخص شده در قالب مسیریابی درون فایل webapiconfig.cs مرور (Browse) کنید.

ما می توانیم برنامه های کاربردی را با استفاده از مرورگر مرور کنیم، اما ما تنها می توانیم متد GET آن را آزمایش کنیم.

بنابراین، برای تست تمام انواع روش های اقدام، ما از REST client پیشرفته استفاده می کنیم که یک ابزار افزونه توسعه در مرورگر فایرفاکس است.

 

سرویس Web API REST میزبانی شده ما شامل دو متد که در زیر ذکر شده اند است:

          (GetAllEmployees (GET

           (GetEmployeeById  (POST که یک id به عنوان ورودی پاس میدهد

متد GetAllEmployees  را با استفاده از REST client پیشرفته که از HTTP GET verb استفاده مکیند مرور (Browse) کنید. 

در تصویر قبلی ، GetAllEmployees میزبانی شده متد Web API REST  لیست تمام کارمندان را بازمیگرداند.

اکنون متد GetEmployeeById با استفاده از REST client پیشرفته که از HTTP POST verb استفاده میکند و id را به عنوان پارامتر پاس میدهد مرور میشود.

از خروجی مورد نظر فوق، مشخص است که سرویس Web API REST ما با موفقیت در IIS میزبانی می شود.

امیدوارم که از این مقاله استفاده کافی را برده باشید.

انتشار Web API REST Service با استفاده از متد File System

با سلام خدمت کاربران گرامی .با یک مقاله دیگردر خدمت شما عزیزان هستیم .

در این مقاله قصد داریم که فرایند انتشار یا publish و همچنین گزینه های متفاوت آن را برای شما بیان و به همراه یک مثال کاربردی آموزش بدهیم.با ما همراه باشید.

انتشار ( Publishing ) چیست؟

انتشار یک فرایند برای ایجاد یک کد مناسب برنامه برای میزبان  بر روی سرور به وسیله ادغام کدهای چند کلاس در Dll ها و نگه داشتن تنها کدهای مورد نیاز UI است.

یک برنامه شامل گام های ذکر شده در زیر میباشد.

توسعه برنامه --انتشار برنامه -- میزبانی یک برنامه در IIS

حالا ، مفاهیم قبل را قدم به قدم نشان میدهیم.

به طور مثال ، نحوه انتشار برنامه های ASP.NET Web API را عملا نشان میدهیم.

گام اول : ایجاد برنامه ASP.NET Web API

اگر شما بخواهید هر برنامه ای را انتشار دهید ابتدا نیاز است که یک برنامه ایجاد کنید.

گام دوم : انتشار یک برنامه

بر روی ASP.NET Web API project solution راست کلیک کرده ، همانطور که در زیر نشان داده شده است.

اکنون بر روی گزینه انتشار نمایش داده شده قبلی کلیک کنید.

پنجره ذکر شده زیر باز خواهد شد:

گام سوم : انتخاب Publish Target

اکنون ، گزینه را انتخاب کنید ، جایی که میخواهید فایل انتشار شده را ذخیره کنید.

بسیاری از گزینه های داده شده توسط ویژوال استودیو برای ذخیره فایل های منتشر شده وجود دارد، همانطور که در زیر نشان داده شده است.

در تصویر قبلی ، ما شاهد بوده ایم که گزینه های زیادی برای انتشار برنامه وجود دارد، بیایید در مورد آنها به طور خلاصه بحث کنیم.

Microsoft Azure App Service:

این یکی از خدمات ارائه شده توسط مایکروسافت Azure برای انتشار انواع مختلف نرم افزار مانند وب، تلفن همراه، REST و دیگر به (Azure (Cloud است.برای استفاده از این گزینه به یک اشتراک مایکروسافت Azure نیاز دارید.

Import :

این گزینه برای انتشار برنامه ای که بر اساس فایل های تنظیمات از پیش تعیین شده ارائه شده است که توسط ارائه دهنده میزبانی شما است ، استفاده می شود که به طور مستقیم فایل ها را در محیط ارائه دهنده میزبانی شما منتشر می کند.

Custom :

این گزینه برای انتشار برنامه در مکان سیستم شخصی شما یا FTP Server مورد استفاده قرار میگیرد ، که بهترین راه است.

Microsoft Azure API apps :

این گزینه برای انتشار سرویس REST API ها در Cloud مورد استفاده قرار میگیرد.

Microsoft Azure virtual machine:

این گزینه برای انتشار برنامه در ماشین مجازی مایکروسافت (Azure (Cloud استفاده می شود که نیاز به اشتراک Azure دارد.

گزینه های بسیاری برای انتشار برنامه وجود دارد که با استفاده از آن ما می توانیم برنامه .NET را منتشر کنیم.

گام چهارم : ساخت پروفایل سفارشی

در حال حاضر ، ما قصد داریم که یک برنامه را در  فایل های سیستمی سیستم محلی خود منتشر کنیم ، بنابراین ، ما نیاز داریم که گزینه custom target  را انتخاب کنیم.

ابتدا ، ما نیاز داریم که یک پروفایل برای انتشار برنامه ایجاد کنیم ، بنابراین میتواند یک تنظیم ثابت باشد تا بتوانیم در آینده از آن برای برنامه های دیگر نیز استفاده کنیم.

گزینه custom  را با توجه به توضیحات در رابطه با گزینه target  انتخاب کنید ، همانطور که در زیر نشان داده شده است:

اکنون ، نام پروفایل را به عنوان گزینه مورد نیاز وارد کنید و بر روی OK کلیک کنید.

این پروفایل سفارشی شما بر اساس نامی که دادین ایجاد میشود.

گام پنجم : انتخاب Publish Method

اکنون ، پروفایل ایجاد شده را پیکربندی کنید ، و تصمیم بگیرید که کجا و چگونه فایلها را منتشر کنید.

 متد Publish را از بین متدهایی که در زیر به شما نشان داده شده است انتخاب کنید.

حالا ، file system method را از متدهایی که در قبل بیان کردیم را انتخاب میکنیم و بر روی دکمه Next  کلیک میکنیم.

گام ششم : انتخاب مکان File System

در حال حاضر، محل مورد نظر سیستم محلی خود را که می خواهید فایل های منتشر شده در آن جا ذخیره شوند انتخاب کنید، مانند تصویر زیر:

در تصویر قبل ، ما محل ذخیره سازی فایل منتشر شده را درایو E  قرار دادیم.که ممکن است این مکان برای شما متفاوت باشد ، محل ذخیره سازی را انتخاب کرده و بر روی دکمه Next کلیک کنید.

گام هفتم : انتخاب نوع کد منتشر شده

اکنون ،  با انتخاب کردن گزینه release  یا debug انتخاب کنید که در محیط تولید شما چه نوع کدی میخواهید ،همانطوری که در زیر نشان داده شده است.

حالا ، بیایید که یک توضیح مختصر در رابطه با release  یا debug بیان کنیم:

Debug:

زمانی که می خواهید پس از میزبانی، برنامه خود را debug کنید ، این گزینه را انتخاب کنید.

Release:

زمانی که بعد از میزبانی برنامه را نمیخواهید debug کنید و میخواهید برنامه را سریع اجرا کنید ، این گزینه را انتخاب کنید.

گام هشتم : مشاهده تنظیمات

بعد از تنظیمات ، تنظیمات ابزار انتشار به صورت زیر خواهد شد:

حالا بر روی گزینه Publish کلیک کنید و خروجی پنجره را مشاهده کنید که به صورت زیر میشود.

در حال حاضر، همانطور که در بخش برجسته شده تصویر قبلی نشان داده شده است، کد برنامه ما در محل file system  مشخص شده منتشر شده است.حالا ، به پوشه مورد نظر بروید و فایل های منتشر شده را مشاهده کنید ، که به صورت زیر هستند:

آموزش نکته به نکته زبان سی شارپ

یادگیری زبان سی شارپ به صورت گام به گام و کاربردی نتیجه بخش تر است. زبان سی شارپ دارای اصول اولیه و مباحث تکمیلی می باشد که مخاطب را مجذوب می کند.

برای توسعه انواع برنامه استفاده از یک چهارچوب دقیق و جدید موضوع بسیار مهمی است. همانطور که می دانید .net در بسیاری از برنامه ها به کار می رود و بازار نرم افزار را دست گرفته است. سادگی زبان سی شارپ در محیط .net افراد را به سمت این نوع برنامه نویسی می کشاند. امروز قصد داریم به محیط .net و زبان شیرین سی شارپ به صورت کاربردی بپردازیم.

اصول زبان سی شارپ

برای شروع یادگیری زبان سی شارپ می بایست در ابتدا با فضای نام آشنا شوید، فضای نام و به طور کلی نام دهی از گزینه های بسیار مهم در زبان سی شارپ می باشد. متغیرها می بایست نامگذاری شود بنابراین نام دهی صحیح سبب می شود که فرمان را بهتر در دست بگیرید. در بخش بعدی می بایست ثوابت را بشناسید، ثابت ها گزینه های غیر قابل تغییر در برنامه هستند و بسیار مورد استفاده قرار میگیرند. عملگرهای ریاضی و شرطی و منطقی از دسته موارد اولیه برای یادگیری زبان سی شارپ می باشد. ثابت ها در عملگرها بسیار مورد استفاده قرار میگیرد.

همانطور که می دانید در یادگیری یک زبان استفاده از دستورات یک تصمیم گیری می باشد. این دستورات پایه این زبان بوده و عدم یادگیری صحیح آن قطعا شما را دچار مشکل خواهد نمود. دستورات تکرار و آرایه ها و استفاده ترکیبی از آنها قطعا شروعی ایده آل خواهد بود.

طراحی برنامه ماشین حساب با سی شارپ

یادگیری کاربردی انواع زبان برنامه نویسی قطعا می تواند بهتر در ذهن ها نقش ببندد. می خواهیم طراحی یک ماشین حساب ساده را آموزش دهیم. برای اینکار در ابتدا می بایست پارامترهای اولیه تعریف شود. در یک ماشین حساب ساده اولین پارامتر چیست؟ درست حدس زدید در یک ماشین حساب ساده قطعا ارسال یعنی وارد نمودن عدد اولین نقش را خواهد داشت. بنابراین یادگیری پارامتر sender از گزینه های بسیار مهم خواهد بود. در ماشین حساب ساده عملیات تکرار بسیار مرسوم است بنابراین ساختار تکرار For Each از ملزومات این طراحی است. در زمان اجرا می بایست کنترل دقیق صورت پذیرد، توجه نمایید که به طور کلی حتی در عملیات صفحه کلید نیز این موضوع از اهمیت برخوردار است. با یادگیری این موارد قطعا می توانید یک فایل راه انداز setup.exe نیز برای برنامه ایجاد نمایید.

یادگیری برنامه های کاربردی نوشتاری

به عنوان مثال شما می خواهید زبان سی شارپ را برای طراحی یک برنامه کاربردی notepad بیاموزید. قطعا در چنین شرایطی می بایست جعبه های گفتگوی مختلف را به همراه ویژگی آن شناخت. دقت نمایید که در این روند می بایست در ابتدا دید دقیقی نسبت به فایل داشته باشید استفاده از clipboard برنامه شما را کاربردی تر می نماید. در برنامه های کاربردی نوشتاری، نیاز به کلاس های جدید می باشد بنابراین می توانید از برنامه های چند فرمی نیز بهرمند شوید. دقت کنید که زبان سی شارپ یکی از شیرین ترین زبان هایی است که برنامه نویسی را برای شما ساده تر می کند.

پیاده سازی برنامه دفترچه تلفن

برای طراحی دفترچه تلفن از ado.net استفاده می شود این محیط سبب می شود که در نهایت یک برنامه با قدرت گرافیک بالا تولید نمایید. در این طراحی نیاز به ارتباطات پایگاه داده ای دارید و بهترین گزینه برای شما sql خواهد بود. بخش های مختلفی از ارتباطات رشته و نوع ارتباط گیری از اهمیت ویژه ای برخوردار است. وجود فیلد های متنی توسط command text صورت می پذیرد و این دستور بسیار ساده و کاربردی است. کلاس های محاسبات عدد بر اساس حروف از گزینه های بسیار کاربردی در دفترچه تلفن است. دقت کنید که خاصیت sort و یا مرتب سازی به شما کمک می کند که چنین گزینه ای را اعمال نمایید.

برنامه شما می بایست data view خوبی داشته باشید به معنای این که کاربرد نوع چیدمان شماره تلفن و اسامی را ساده و واضح ببیند. فیلتر بندی صحیح اسامی از روال بسیار مهم در طراحی دفترچه تلفن است.

یادگیری فریم ورک موجودیت

فریم سازی در زبان برنامه نویسی سی شارپ بسیار پر اهمیت است. موجودیت ها می بایست در محل صحیح اعمال شوند. فریم ورک محیطی است که به موجودیت اجازه می دهد که به صورت صحیح مورد استفاده قرار بگیرد و هر گونه اشتباه در نتیجه تاثیر مخرب نخواهد داشت. یادگیری نکته به نکته فریم ورک ها سبب می شود که بدانید هر کدام چه کاربردی دارند.

جمع بندی در یادگیری زبان سی شارپ

شما برای یادگیری زبان سی شارپ در ابتدا می بایست .net را به دقت بررسی نمایید. یعنی می بایست ارتباط آن با زبان سی شارپ را بدانید. محیط visual studio یکی از ملزومات یادگیری زبان سی شارپ است. ایجاد نمودن یک پروژه به صورت صحیح از مسایلی است که در ابتدا ساده به نظر می رسد اما در نهایت اگر به آن توجهی نشود قطعا در روند پروژه تاثیر گذار خواهد بود. بخش های مختلف محیط visual studio را به دقت بیاموزید هرچه بیشتر با این محیط آشنا باشید قطعا می توانید سرعت برنامه نویسی خود را افزایش دهید. به عنوان مثال با یادگیری بخش های پرتکرار قطعا نیاز به کدنویسی همیشگی قسمت های تکراری نخواهید داشت. دقت کنید که زبان سی شارپ در نهایت در برنامه های گرافیکی زیادی نتیجه خواهد داد. اگر می خواهید در روش یادگیری خود تغییر ایجاد نمایید بهترین انتخاب یادگیری برنامه های مختلف به صورت کاربردی است. زبان سی شارپ را ساده بیاموزید.

ذخیره هر نوع فایل در دیتابیس

با سلام و درود .گاهی اوقات نیاز است که عکس دانشجویان -کارمندان و...حتی نامه اداری و فایلهای با حجم زیاد و... یک شرکت یا اداره یا مغازه در بانک اطلاعاتی ذخیره شود یا اینکه می خواهید یک صفحه وب را در بانک اطلاعاتی ذخیره کنید .

این برنامه هرنوع فایل رو میتونه ذخیره کنه میتونه بعنووان برنامه ذخیره اسناد و فایلها مورد استفاده قرار بگیره فایل رو به بایت تبدیل کردم نحوه ذخیره توی هارد هم همینطوره توی گزینه انتخاب محدودیت حجم هم هست میشه تغییرش داد 

یه ترد گذاشتم برای زمان ذخیره فرم توی همه متدها و اکثرا خط ها رو توضیح دادم اگه قرار باشه کارهای دیگه هم زمان انجام بشه میتونیم توی بک گراندورکر و async بزاریم اما ایجا ما یک عمل رو انجام میدیم و اونا لازم نیستن در کل برنامه جالبی هست از اکسس استفاده کردم  

ذخیره فایل ها با هو نوع پسوندی و قابلیت تعیین حجم برای اپلود فایل در دیتابیس 

قابلیت بازیابی فایلهای اپلود شده در دیتابیس 

قابلیت حذف فایل ها بصورت پیش فرض 

دیتابیس اکسس هست اما قابلیت تغییر به دیتابیس sql را دارند

 توی پروژه های انبارداری -حسابداری و خصوصا پرسنلی چنین امکانی کاربرد بسیار مناسبی داره

 

تفاوت زبان برنامه نویسی جاوا و جاوا اسکریپت

با سلام خدمت دوستان .بسیاری به علت تشابه اسمی فکر میکنند تفاوت زبان برنامه نویسی جاوا و جاوا اسکریپت وجود ندارد.در متن به تفاوت زبان برنامه نویسی جاوا و جاوا اسکریپت میپردازیم.

زبان های برنامه نویسی انواع مختلفی داشته که هر کدام شباهت ها و تفاوت هایی با یکدیگر دارند. تفاوت زبان برنامه نویسی جاوا و جاوا اسکریپت در این متن به طور کامل مورد بررسی قرار می گیرد. به علت مشابه بودن نام این 2 زبان برنامه نویسی بسیاری از افراد به اشتباه فکر می کنند که هر دوی آنها یکسان هستند و یا تفاوت آنها ناچیز است. در این متن به تفاوت زبان برنامه نویسی جاوا و جاوا اسکریپت خواهیم پرداخت تا این 2 زبان برنامه نویسی جاوا و جاوا اسکریپت را با یکدیگر اشتباه نگیرید و اطلاعات لازم را دریافت نمایید.

جاوا اسکریپت :

بسیاری از افراد که البته در زمینه برنامه نویسی حرفه ای نیستند فکر می کنند که زبان برنامه نویسی جاوا اسکریپت نسخه برگرفته شده از جاوا می باشد و در حقیقت یک مرحله پیشرفته تر از آن است؛ اما در حقیقت این میزان تفاوت زبان برنامه نویسی جاوا و جاوا اسکریپت بسیار بیشتر از این اندازه می باشد. زبان برنامه نویسی جاوا اسکریپت در صفحه های اچ تی ام ال به کار می رود و قابلیت ها و ویژگی های آن باعث شده است تا محبوبیت و جایگاه مناسبی در دنیا کسب کند. از جمله این ویژگی ها می توان به کنترل کردن صفحه ها، بیشتر کردن کیفیت طراحی صفحه ها و... اشاره کرد. کدهایی که در زبان برنامه نویسی جاوا اسکریپت وجود دارد و به کار گرفته می شود شباهت زیادی به زبان سی دارند.

مزایای جاوا اسکریپت :

قبل از پرداختن به تفاوت زبان برنامه نویسی جاوا و جاوا اسکریپت به مزایای استفاده از جاوا اسکریپت می پردازیم تا آشنایی کامل با این زبان پیدا کنید و درک تفاوت زبان برنامه نویسی جاوا و جاوا اسکریپت آسان تر شود. جاوا اسکریپت قابلیت این را دارد که در همه مرورگر ها مورد استفاده واقع شود. دادن قابلیت برنامه نویسی به اچ تی ام ال و فعال کردن این صفحات از دیگر مزایای آن می باشد. ساخت کوکی ها و استفاده کردن از آنها و همچنین ارزیابی کردن و تغییر اطلاعات نیز مزایای دیگر در استفاده از جاوا اسکریپت می باشد که می توانید از آن بهره مند شوید.

جاوا :

زبان برنامه نویسی جاوا یک زبان کاربردی بوده که در بیشتر موارد و طراحی ها می توان از آن استفاده کرد. یک زبان دارای یک ماشین مجازی ست که این قابلیت را به آن می دهد تا در هر پلتفرمی اجرا شود و در هر سیستم عاملی کار کند که این موضوع به کارایی آن اضافه می کند. مشکلی که به این زبان برنامه نویسی وارد است به علت تبدیلی که توسط ماشین مجازی صورت می گیرد این فرایند کمی سرعت را پایین می آورد. این قابلیت ها باعث شده است تا از این زبان برنامه نویسی در اندروید نیز استفاده شود و اندروید از آن به عنوان یک زبان برنامه نویسی رسمی یاد کند. همه می دانیم که اندروید یکی از سیستم عامل های مورد استفاده می باشد که کاربرد زیادی دارد. از مهمترین تفاوت زبان برنامه نویسی جاوا و جاوا اسکریپت شاید استفاده جاوا در این سیستم عامل می باشد.

تفاوت زبان برنامه نویسی جاوا و جاوا اسکریپت :

همانطور که گفتیم شباهت اسم این 2 زبان برنامه نویسی موجب شده است تا به اشتباه افراد فکر کنند که شباهت زیادی بین آنها برقرار است؛ اما شباهتی در بین آنها وجود ندارد و در این جا به تفاوت زبان برنامه نویسی جاوا و جاوا اسکریپت می پردازیم تا درک این موضوع برای شما آسان تر شود. شرکتی که این دو زبان برنامه نویسی را تهیه کرده است متفاوت می باشد. شرکتی که زبان برنامه نویسی جاوا را تهیه کرده است شرکتی به نام sun microsystem می باشد این در حالی ست که شرکت تهیه کننده جاوا اسکریپت netscape است.این تفاوت زبان برنامه نویسی جاوا و جاوا اسکریپت در ظاهر این 2 بوده و برای هر شخصی که با برنامه نویسی نیز آشنایی نداشته باشد این تفاوت زبان برنامه نویسی جاوا و جاوا اسکریپت مشهود است. در بخش بعد به تفاوت زبان برنامه نویسی جاوا و جاوا اسکریپت در ساختار می پردازیم و آن را بررسی می کنیم.

تفاوت در ساختار :

از دیگر تفاوت زبان برنامه نویسی جاوا و جاوا اسکریپت که می توان به آن اشاره نمود آن است که زبان برنامه نویسی جاوا یک زبان برنامه نویسی شی گرا محسوب می شود. این در حالی است که جاوا اسکریپت یک زبان اسکریپت نویسی شی گرا می باشد. از دیگر تفاوت زبان برنامه نویسی جاوا و جاوا اسکریپت این است که برنامه هایی که با استفاده از زبان برنامه نویسی جاوا نوشته و طراحی می شوند می توانند بر روی ماشین مجازی و همچنین مرورگر های اینترنت اجرا شوند؛ اما در زبان برنامه نویسی جاوا اسکریپت برنامه ها و کد ها تنها امکان اجرا شدن بر روی مرورگر های اینترنتی را دارند. تفاوت زبان برنامه نویسی جاوا و جاوا اسکریپت به این جا محدود نمی شود و تفاوت دیگری نیز وجود دارد. برنامه های که با استفاده از زبان برنامه نویسی جاوا نوشته شده اند باید کامپایل شوند اما در برنامه هایی که با استفاده از جاوا اسکریپت نوشته شده است کامپایل نیازی نبوده زیرا فقط یک متن می باشند.

10 نکته ای که در پروژه های جاوا اسکریپت یاد میگیرید

یادگیری جاوا اسکریپت یک ماجراجویی است. پس از تقریباً یک دهه برنامه نویسی آماتور و حرفه ای در صنایع مختلف به وسیله جاوا اسکریپت، عموماً همه با این جمله موافق هستند. پروژه های فرانت اند با جاوا اسکریپت به ما برنامه نویسان آزادی زیادی در انتخاب، انعطاف پذیری و فضای بسیار زیادی برای خلاقیت می دهد. اما در عوض نیازمند کمی دانش در زمینه ی جاوا اسکریپت و برنامه نویسی می باشد. اگر دوست دارید که موارد بسیار مهمی را در برنامه نویسی به زبان جاوا اسکریپت یاد بگیرید، حتماً این مطلب را به صورت کامل مطالعه کنید و مطمئن باشید که از خواندن و یادگیری این نکات به هیچ وجه پشیمان نخواهید شد.

توضیحات مقدماتی

بعد از انجام دادن پروژه های بسیار زیادی با JQuery، require.js، Angular.js، React، ExtJs و شاید ده ها چیز دیگر در جاوا اسکریپت، چیزهای غیر قابل تصوری از فرانت اند 2018 جاوا اسکریپت دیده ام و همه ی ما احتمالاً زمانی با آن کار کرده ایم. اما همواره الگوهایی وجود داشته اند که کار می کنند تا پروژه های ناهماهنگ به نوعی قابل مدیریت شوند. در ادامه با 10 مورد از اساسی ترین آن ها آشنا می شوید که از تجربه شخصی گرفته شده اند. این الگوها پایه هایی استوار را برای یک پروژه از هر فریم ورک، از هر متد و از هر اندازه ای فراهم می کنند. اگر از این الگوها استفاده کنید می توانید مطمئن شوید که نیازی به توضیحات اضافه و همینطور کامنت گذاری در پروژه نیست و کار برنامه نویس نیز بسیار راحت تر می شود و اگر در یک گروه عضو باشید نیز سایر اعضا به راحتی می توانند کدهای شما را متوجه شده و بهتر آن را بهبود ببخشند.

تقسیم کردن پروژه جاوا اسکریپت به بخش های مختلف

بیشتر ما این عبارت را در جایی شنیده ایم، اما به نظر می رسد که بسیاری از افراد این قانون را جدی نگرفته اند. CommonJS، Webpack و Node به ما این توانایی را می دهند که کدهایمان را به چندین فایل تقسیم کنیم. اما چرا ما باید نگران باشیم؟ در ادامه به بررسی دو دلیل برای تقسیم کردن پروژه در جاوا اسکریپت خواهیم پرداخت.

با تقسیم کردن برنامه در جاوا اسکریپت برنامه دارای ثبات می شود.

تقسیم کردن پروژه در جاوا اسکریپت به فایل های کوچک و تکی زمانی که کدهای شما زیاد است، باعث می شود که جست و جو و مدیریت آن ها به میزان بسیار قابل توجهی راحت تر شود، نام گذاری هر فایل بعد از این که آن را جدا کردیم باعث می شود که پروژه بهتر دیده شود و باعث می شود که در هنگام مشاهده ی معماری پروژه به مغزتان فشار نیاید. 

با تقسیم کردن برنامه در جاوا اسکریپت بهتر می توانید آن را مدیریت کنید.

جدا کردن هر قطعه و قرار دادن آن درون فایل مربوط به آن به شما این اجازه را می دهد که به راحتی در مواقع نیاز درون آن حرکت کنید. زمانی که تابع کمکی مورد نیاز شما در قسمت دیگری از اپلیکیشن قرار دارد، می توانید به راحتی یک پوشه ی اشتراک گذاری ایجاد کنید و تابع مورد نیاز را درون آن قرار دهید و از آن استفاده کنید.

در جاوا اسکریپت کدها را واضح سازی کنید.

درجاوا اسکریپت وقت بگذاریدو نام تمامی متغیرها، تابع ها و فایل ها را تغییر دهید.همانطور که برای فرزند خود نام گذاری می کنید، نام های مناسبی را در جاوا اسکریپت برای آن ها انتخاب کنید. شما امروز 0.3 ثانیه برای این که نام یک متغیر را x قرار دهید گذراندید ولی یک ماه بعد شما باید دو روز وقت بگذارید تا متوجه شوید که این متغیر چه معنایی می دهد. بنابراین نام آن را تغییر دهید حتی اگر چهار برابر زمان نیاز باشد. فکر کن و از نام های طولانی نترس.

از هک و چیزهایی که باعث می شوند درباره اپلای کردن به MIT فکر کنید، جلوگیری کنید. راه حل شما در واقع می تواند هوشمندانه یا پیچیده باشد و حتی گاهی اوقات در آینده شما یا یکی از هم تیمی های شما بخواهد از آن استفاده کند. در این شرایط باید زمان بسیار زیادی را صرف کند تا متوجه شود که درون کد جاوا اسکریپت شما چه اتفاقی افتاده است. تمرکز کنید که برنامه های خود را ساده سازی کنید بدون این که به توضیحات و یا کامنت ها نیاز داشته باشد.

از اعداد جادویی و استرینگ ها به صورت مستقیم استفاده نکنید.

همانند نام گذاری، از اعداد جادویی و استرینگ ها به صورت مستقیم در کد خود استفاده نکنید. مهم نیست که این اعداد یا استرینگ ها چقدر کوچک یا ارزشمند باشند، آن را درون یک متغیر با اسمی با معنی قرار دهید و آن را به بالای جایی که می خواهید از آن در جاوا اسکریپت استفاده کنید، قرار دهید. در بیشتر اوقات وقتی از یک مقدار به صورت مستقیم در کد جاوا اسکریپت استفاده می کنید ممکن است در جایی دیگر نیز استفاده شود، قرار دادن آن ها در متغیرها باعث می شود که کمتر از کد تکراری استفاده کنید و در نتیجه دارای کد ساده تری باشید که این کار ارزشمند است. بسیاری از افراد گمان می کنند که این کار در برنامه نویسی به زبان جاوا اسکریپت اضافه کاری است. در حالی که چنین نیست و شما با انجام این کار در واقع نشان می دهید که در برنامه نویسی به زبان جاوا اسکریپت یک فرد کاملاً حرفه ای هستید.

با پیچیدگی و تودرتویی در جاوا اسکریپت مقابله کنید.

اگر عرض کد شما بیشتر از 120 کاراکتر است و یا عمق آن بیشتر از 500 خط است یا دستور if شما بیشتر از سه سطح پایین رفته است، بیشترین تلاش خود را برای تقسیم بندی کردن کد خود در جاوا اسکریپت انجام دهید. شما می توانید در پیچیدگی هایی که مربوط به دستورهای شرطی است، درون if های تودرتو کد خود را به تقسیم بندی کنید و برای این تقسیم بندی می توانید از تابع های جداگانه استفاده کنید. اگر شما درون کدتان از فراخوانی های همزمان و پی در پی استفاده کرده اید، با استفاده از async/await می توانید اقدام به ساده سازی کد خود کنید.

پیچیدگی های بسیار زیادی در برنامه نویسی جاوا اسکریپت باعث می شود که علاوه بر این که خودتان در حین برنامه نویسی با جاوا اسکریپت دچار مشکل شوید و نتوانید برنامه ها و اپلیکیشن هایی را که نوشته اید را دیباگ کنید، افراد دیگری که قصد داشته باشند کد شما را مشاهده کنند هم نمی توانند به خوبی از آن سر در بیاورند و در نتیجه پروژه ی شما با مشکل بسیار بزرگی رو به رو خواهد شد.

پیکربندی منظم در جاوا اسکریپت

در صورتی که برنامه ی شما از متغیرهای global، API endpoints، قابلیت تغییر یا اعتبارنامه شخص ثالث استفاده می کند، آن ها را در یک فایل پیکربندی جداگانه قرار دهید. مجموعه ای از پکیج ها وجود دارد که به شما در مدیریت پیکربندی هم در وب و هم در کامپیوترتان کمک می کند، همانطور که می دانید اپلیکیشن شما هم بر روی سرور موجود است و هم بر روی کامپیوتر برنامه نویس؛ به همین علت این پکیج ها در مدیریت هر دو حالت به شما کمک می کنند. ایجاد فایل پیکربندی در ابتدای کار پروژه بسیار راحت تر است و این امکان را به شما می دهد که نحوه ی کارکرد این محیط را تنظیم کنید، مشخص کنید که با چه شرطی کار کنند، دقیقاً کدام ویژگی های آن ها در دسترس باشند و بسیاری از کارهای دیگر که در پروژه های جاوا اسکریپت می توان انجام داد.

فریم ورک ها در جاوا اسکریپت برای کمک کردن هستند.

بارها شده است که شما یک فریم ورک را ببینید که از آن استفاده شده و یا استفاده کننده آن را می شناخته است و یا به دلیل محبوبیت از آن استفاده کرده است. کمی زمان بگذارید و فکر کنید که برای پروژه ی خود نیاز به یک فریم ورک دارید یا نه و اگر دارید کدام یک از آن ها را باید استفاده کنید. کاربر نهایی وب سایت شما در صورتی که بداند فریم ورکی که از آن برای طراحی سایت و یا اپلیکیشن خود در جاوا اسکریپت استفاده کرده اید در Github دارای صد هزار ستاره است نمی تواند به راحتی از تجربه ی کردن کار با وب سایت شما بگذرد. کتابخانه ها و فریم ورک ها را می توان به چندین دسته تقسیم کرد که در ادامه با آن ها آشنا خواهیم شد.

کتابخانه های React در جاوا اسکریپت

زمانی از آن استفاده می شود که شما نیاز دارید که یک کنترل کلی بر روی معماری برنامه و نحوه ی ساخت آن داشته باشید اما آن ها فقط برای اپلیکیشن های وب ساخته شده اند. کار با سیستم React زمان زیادی را می گیرد و نقشه های بسیار زیادی قبل از آن نیاز است. به شرطی که شما بدانید می خواهید چکار کنید React می تواند کمک زیادی به شما کند. این کتابخانه ی جاوا اسکریپت از بهترین کتابخانه های آن می باشد که امروزه در دنیا بسیاری از افراد از آن استفاده می کنند بنابراین برای استفاده از آن احساس نگرانی نکنید و خیالتان راحت باشد.

کتابخانه های Angular/VueJS/ Ember در جاوا اسکریپت

زمانی از این کتابخانه های جاوا اسکریپت استفاده می شود که نیاز به یک اپلیکیشن وب سریع و قابل اعتماد باشد. این فریم ورک ها کارهای زیادی برای شما انجام می دهند و باعث می شوند که از مزایا و معایب معماری برنامه دوری کنید و همینطور ساختار دقیق آن ها نیز آزادی عمل بیشتری را به شما نسب به React می دهد.

کتابخانه های JQuery / lodash/ similar جاوا اسکریپت

زمانی که نیاز به یک صفحه ی وب دارید که سریع بالا بیاید و بتواند چند کیلوبایت صرفه جویی کنید، می توانید از این کتابخانه ها استفاده کنید. آن ها می توانند به راحتی زمان توسعه ی اپلیکیشن را کاهش دهند اما باید مراقب باشید از آن جایی که آن ها به شما اجازه می دهند کدهای ناقص بنویسید از آن ها می توان به عنوان یک راهنما استفاده کرد نه یک پایه.

کتابخانه های Vanilla / No framework جاوا اسکریپت

از این کتابخانه ها می توانید هم برای اپلیکیشن های وب و هم صفحات وب استفاده کنید. زمانی که شما زمان زیادی را صرف برنامه نویسی و نقشه کشیدن می کنید، جاوا اسکریپت انتخاب خوبی است .زمانی که پروژه ی شما یک چیز تجربی دارد WebGL، Workers، بهینه سازی های عمیق یا انیمیشن های مرورگر را معرفی می کند. شما در نهایت می توانید فریم ورک شخصی خود را بسازید.

این لیست از کتابخانه های جاوا اسکریپت تنها به عنوان یک پیشنهاد است، زمان بگذارید و تصمیم بگیرید که کدام فریم ورک برای شما بهتر است.

به جز برای نمونه های اولیه در جاوا اسکریپت تست بنویسید.

یونیت تست ها، Smke تست ها، تست های End-to-end، Sanity check ها. به جز مواردی که پروژه ی شما یک پروژه ی اولیه است که قرار است به زودی بازنویسی شود تست ها را بنویسید. با افزایش پیچیدگی، نگهداری و مدیریت کدهای شما سخت تر می شود. تست ها می توانند این کار را برای شما انجام دهند. گاهی اوقات با یک باگ رو به رو خواهید شد و در صورتی که از تست ها در هنگام نوشتن پروژه کمک گرفته باشید، همان لحظه است که از خودتان تشکر می کنید که با استفاده کردن از تست ها در هنگام طراحی پروژه کار دیباگ کردن کد را برای خودتان به میزان بسیار زیادی راحت تر کرده اید.

در جاوا اسکریپت از کنترل کننده ورژن استفاده کنید.

مهم نیست که این یک نمونه ی اولیه باشد یا یک اپلیکیشن وب کامل یا یک نمونه کوچک از اپلیکیشن وب، از گیت یا از سایر کنترل کننده های ورژن (version control)، از همان لحظه ای که شما اولین خط از کدتان را می نویسید استفاده کنید. نحوه ی ادغام کردن را یاد بگیرید، مشکلات را حل کنید و به commit های قبلی بازگردید. کنترل کننده ورژن به شما اجازه می دهد که از طریق زمان سفر کنید، قسمت های شکست خورده ی کد را نجات دهید و تغییراتی که در گذشته ایجاد شده را مشاهده نمایید. بی شک یکی از مهم ترین نکات یا حتی مهم ترین نکته ای که می توانید از این مقاله بیاموزید استفاده کردن از کنترل کننده ورژن در پروژه هایتان است، شاید این سوال برایتان پیش بیاید که چرا این مسئله این قدر مهم است؟ مهم بودن این مسئله به این دلیل است که حتی اگر شما بقیه ی چیزها را نادیده بگیرید و بقیه ی مسیر را به صورت تصادفی اشتباه بروید، با استفاده از کنترل کننده ورژن می توانید آن را بدون نیاز به خودش تعمیر کرده و دوباره شروع کنید.

حالت های مختلف را مسئولانه مدیریت کنید.

یک الگو یا کتابخانه برای مدیریت حالت ها پیدا کنید و از آن به خوبی استفاده کنید طوری که انگار زندگی شما به آن وابسته است. مانند توسعه دهندگان فرانت اند معمولاً با دو چالش مهم در جاوا اسکریپت رو به رو هستیم که این دو چالش نشان دادن داده ها و ذخیره ی آن ها می باشد. این دو چالش تا آخر پروژه در کنار شما هستند و شما بالاخره باید اقدام به حل کردن این دو چالش کنید. بهتر است که این کار را در همان ابتدای پروژه انجام دهید چرا که با گذشت زمان این کار سخت تر می شود و به نوعی اضافه کاری است.

ذخیره دیتا و مدیریت حالت ها معمولاً با پیچیدگی هایی رو به رو است چرا که شما باید به صورت همزمان این دو چالش را حل کنید. در واقع هدف ما این نیست که پیچیدگی کار را افزایش دهیم بلکه می خواهیم کاری کنیم که همان چیزی که در سرور اتفاق می افتد را کاربر به صورت همزمان بر روی صفحه نمایش خود مشاهده کند و همینطور بتواند تغییراتی بر روی آن انجام دهد. حال چطور این مسئله را در جاوا اسکریپت حل کنیم؟

قدم اول:

برای حل کردن این مشکل، React روش های مختلفی به شما ارائه می دهد که از جمله آن ها می توان به استفاده کردن از Redux در معماری Flux و همینطور استفاده از Mobx اشاره کرد. هر کدام از این ها دارای مزایا و معایبی هستند. برای این کار مطمئن شوید که اصول استفاده از کتابخانه را به خوبی یاد گرفته اید.

قدم دوم:

کتابخانه های Angular، Ember و VueJS بر اساس ایده ی قابل مشاهده بودن به راه حل های مدیریت خودشان می پردازند در حالی که چنین کاری لازم نیست زیرا کتابخانه های اضافی همچون ngRx و Akita و Vuex وجود دارند این که این کار را انجام می دهند.

قدم سوم:

برای بقیه ی فریم ورک ها یا وانیلا جاوا اسکریپت می توانید از Redux، Mobx یا راه حل مدیریت حالت خودتان استفاده کنید. هدف اصلی این است که مطمئن شوید که اپلیکیشن از یک ابزار مناسب استفاده می کند. این ابزار می تواند یک سرویس یا یک کتابخانه باشد.

روند سؤال کردن در جاوا اسکریپت

در پایان به گروه ها گوش دهید و یاد بگیرید. هر چیزی که می خوانید، هر کامنتی، هر مقاله ی بلند و طولانی که حتی توسط یک گربه نوشته شده است و می تواند بر روی کد شما تأثیر بگذارد را در نظر داشته باشید و سؤال بپرسید. با ذهنی باز از ایده های جدید استقبال کنید و آن ها را بپذیرید، حتی می توانید از ایده های فرانت اند نیز استفاده کنید ولی فقط به یاد داشته باشید که از روی عادت این کار را نکنید و با علاقه آن را انجام دهید. این مورد باعث شده است که تعداد بسیار زیادی از پروژه های جاوا اسکریپت به صورت مستقیم به فراموشی سپرده شوند.

نکات مهم درباره فریم ورک های مورد استفاده در پروژه

پروژه هایی که با استفاده از فریم ورک های قدیمی نوشته می شوند، گاهی اوقات از پروژه هایی که با دو فریم ورک در یک زمان نوشته شده اند، (به دلیل این که یک نفر از تیم خارج شده است) بسیار بهتر و پایدارتر هستند. در حالی که رویکرد جدید ممکن است اپلیکیشن شما و عملکرد توسعه دادن را بهبود ببخشد. به انتخاب خود بچسبید و از انتخاب خودتان جدا نشوید تا خاصیت نگهداری آن را حفظ کنید و آن را در صورت نیاز تنظیم کنید.

10ویژگی برتر و جدید ASP.NET Core 2.0

با سلام خدمت کاربران عزیز با یکمطلب دیگر در خدمت شماهستیم .

ASP.NET Coreرا به عنوان ابزاری قابل استفاده در چند پلت فرم می شناسند که با استفاده از آن می توانید انواع اپلیکیشن های خود را بسازید. اپلیکیشن های مختلف می توانند شامل برنامه وب، برنامه دسکتاپ، برنامه موبایل یا برنامه بازی باشند. همه نوع برنامه را می توان با استفاده از یک پلت فرم ایجاد کرد، این پلت فرم چیزی جز .NET Core نیست.

همانگونه که در مایکروسافت بیان شده، اکنون.NET را می توان در یک خط به صورت زیر توضیح داد:

رایگان، قابل استفاده در چند پلت فرم (Cross-Platform)، پلت فرمی طراح است که برای ساخت انواع اپلیکیشن ها کاربرد دارد.

بسیار خب، این تعریف کاملا درست است. حال .NET به .NET Core تبدیل شده و آن را به عنوان ابزاری قابل استفاده در چند پلت فرم می شناسند که با استفاده از آن می توانید انواع اپلیکیشن های خود را بسازید. اپلیکیشن های مختلف می توانند شامل برنامه وب، برنامه دسکتاپ، برنامه موبایل یا برنامه بازی باشند. همه نوع برنامه را می توان با استفاده از یک پلت فرم ایجاد کرد، این پلت فرم چیزی جز .NET Core نیست.

به تازگی مایکروسافت نسخه جدیدی از ASP.NET Core را همراه با .NET Core  معرفی کرده است. این نسخه ASP.NET Core 2.0 نام دارد و دارای ویژگی های جدید و جالبی است. این ویژگی ها نه تنها عملکرد آن را بهبود داده اند بلکه باعث افزایش بهره وری آن شده و اپلیکیشن شما را قدرتمند تر و قابل اطمینان تر می سازند. من برای اشتراک گذاری ویژگی های  ASP.NET Core 2.0 بسیار هیجان زده هستم.

می توانید  ASP.NET Core 2.0 را همراه با نسخه 15.3 Visual Studio 2017 استفاده کنید. می توانید با دانلود.NET Core SDK 2.0 از ویژگی های این نرم افزار بهره ببرید. Asp.NET Core 2.0 دارای ویژگی های جدیدی است. در اینجا همه ویژگی های این برنامه بیان نمی گردد اما سعی شده تا 10 ویژگی برتر و جدید ASP.NET Core 2.0 ارائه گردند

عملکرد و کارآیی :

اکنون این برنامه بسیار سریع تر از نسخه ASP.NET Core 1.x است. این نسخه تقریبا 20 % از نسخه قبلی سریع تر است. با استفاده از لینک زیر میتوانید این موضوع را در  techempower.comبررسی کنید. با سرچ کردن عبارت «aspnetcore» در این وب سایت می توانید نتایج را مشاهده کنید.

حداقل کد :

باید چند خط کد را برای رسیدن به همان کار بنویسیم. به عنوان مثال اکنون احراز هویت با استفاده از چند خط کد بسیار ساده انجام می شود. زمانی که در مورد کلاس Program.cs صحبت می کنیم، ASP.NET Core 2.0  در مقایسه با نسخه های قبلی دارای حداقل کد می باشد. در نسخه اولیه ASP.NET Core، باید همه چیز را در متد main مانند وب سرور شما «Kestrel» ، پوشه کنونی تان(current directory) نصب کنیم. اگر تمایل به استفاده از IIS دارید، باید بتوانید به خوبی IIS را با این برنامه ادغام کنید. اما در ASP.NET Core 2.0، نیازی نیست نگران این موارد باشید، این کارها به صورت اتوماتیک با استفاده از متد CreateDefaultBuilder  انجام می شود تا همه چیز نصب گردد.

صفحه Razor :

در ASP.NETCore 2.0، صفحه Razor به منظور ایجاد صفحات دینامیک برای وب اپلیکیشن معرفی شده است. با استفاده از صفحات Razor می توانیم برنامه هایی ساده و قدرتمند همراه با ویژگی های ریزور مانند Layout Pages, Tag Helpers, Partials Pages, Templates بسازیم؛ همچنین با استفاده از ویژگی های ASP.NET مانند کدcode behin و غیره نیز می توان این برنامه ها را ایجاد کرد و بهبود داد. صفحات Razor از الگوهای استاندارد MVC  پیروی می کنند. در اینجا انواع مختلف دستورالعمل ها مانند  @page, @model, @namespace, @usingرااستفاده نمودیم. در صفحه نمایش (view page) و صفحه code behind مربوط به آن از کلاس Page Model که یک کلاس اصلی(base) است ارث بری شده است.

صفحه Razor به بیان ساده، نمایشی مربوط به کلاس code behind است که از کلاس Page Model ارث برده که آن خود یک کلاس ابسترکت در «Microsoft.AspNetCore.Mvc.RazorPages» می باشد. این برنامه از کنترلر برای نمایش (view) [.cshtml] آنطور که ما در MVC استفاده می کردیم، استفاده نمی کند بلکه code behind به خودی خود کار کنترلر را انجام می دهد. این صفحات [.cshtml] در  Pages folder قرار داده نمی شوند.

زمانی که می خواهید صفحات ریزور(Razor Pages) را در Asp.NET Core 2.0 بسازید، قالب web application را انتخاب کنید.

Meta Packages and Runtime Store

ASP.NETCore 2.0 به همراه پکیج “Microsoft.AspNetCore.All”  که یک متا پکیچ برای تمام وابستگی هایی که در هنگام ایجاد اپلیکیشن های  ASP.NET Core 2.0 مورد نیاز هستند، عرضه شد. این بدان معنی است که وقتی یکبار شما آن را اینکلود کردید دیگر نیازی به اینکلود کردن دیگر پکیج ها ندارید به این دلیل که پکیج “Microsoft.AspNetCore.All” از .NET Runtime Core Store که همه ی پکیج های runtime را شامل میشود و برای ASP.NET Core نیاز است ، پشتیبانی میکند

در این عکس شما میتوانید تنها رفرنسی که اضافه شده است یعنی “Microsoft.AspNetCore.All” با ورژن 2.0.5 را ببینید  همان طور که گفته شد این متا پکیج همه ی نیاز های دیگر پکیج ها را برطرف میکند.

پس شما دیگر نیازی به اضافه کردن پکیج دیگری از خارج ندارید با این متا پکیج همه چیز را در اختیار داریم و دیگر شما نیازی به نگهداری از پکیج های مختلف با ورژن های مختلف ندارید، شما اینجا فقط یک ورژن دارید و آن 2.0.5  یا 2.x.x است.

اگر شما مانند عکس زیر روی فلش کوچک کنار آن کلیک کنید تا محتویات داخل ان را ببینید.متوجه میشوید که قبلا همه ی پکیج های مربوطه به این متا پکیج ارجاع داده شده اند.

.NETStandard 2.0

  .NETStandardیک گروهی از API ها که توسط .NET Framework  پشتیبانی میشوند میباشد. .NET Standard 2.0 در مقایسه با ورژن های قبلی از بسیاری از API ها پشتیبانی میکند.

.NETStandard 2.0 بیشتر از 3200 ، API پشتیبانی میکند.

به غیر از موارد استثنائی ، .NETStandard 2.0 از حدود 70% ، API هایی که در حال حاضر دارند استفاده میشوند و یا می توانند با .NET Framework استفاده شوند ، پشتیبانی میکند.

برای مثال .NETStandard از ویژگی Logging با استفاده از Log4Net پشتیبانی نمی کند ، پس ما نمیتوانیم از ان در ASP.NET Core استفاده کنیم اما در2.0 .NET Standard  این ویژگی وجود دارد. ما می توانیم بسیاری از ویژگی هایی که بخشی از NET Framework. هستند استفاده کنیم  ، اما ما از آن در ASP.NET Core با NET Standard 1.x. استفاده نکردیم. ما میتوانیم از NET Framework. به همراه NET Standar 2.0. استفاده کنیم.

SPA Template

ASP.NET Core 2.0 به همراه قالب جدید SPA که می تواند با آخرین ورژن Angular 4 ، React.js ,  و Knockout.js با Redux استفاده شود ، عرضه شد .

به طور پیش فرض Angular 4 و React با تمام صفحات مورد نیاز پیاده سازی شده است . زمانی که ما یک اپلیکیشن با استفاده از قالب SPA ایجاد میکنیم سپس همه ی پکیج های مورد نیاز با استفاده از NPM بصورت اتوماتیک نصب می شوند

شما دیگر نیازی به پکیج های انگولار و تایپ اسکریپت ندارید ، چون همه ی پکیج هایی را که نیاز است  نصب شده و به شما پروژه آماده میدهد تا کد زنی خود را شروع کنید

Sys

پکیج های “Microsoft.AspNetCore.Server.WebListener” و“Microsoft.NET.Http.Server”  در یک پکیج ادغام شده اند و در پکیج  Microsoft.AspNetCore.Server.HttpSys قرار گرفته اند و نام آن به  Microsoft.AspNetCore.Server.HttpSys آپدیت شده است . پس از الان بجای پیاده سازی 2 پکیج ، فقط همین یک پکیج را پیاده سازی می کنیم.

Razor View Engine with Roslyn

ASP.NET Core 2.0 توسط کامپایلر Roslyn پشتیبانی میشود و همچنین از ویژگیهای سی شارپ 7.1 پشتیبانی میکند.

پس ، ما می توانیم از کامپایلر Roslyn در برنامه های ASP.NET Core MVC با Razor View Engine بهره ببریم.

Visual Basic پشتیبانی

در این عرضه جدید ASP.NET Core 2.0 ، ویژوال بیسیک یک بخشی از زبان برنامه نویسی .NET Core می باشد.الان ما می توانیم انواع مختلف اپلیکیشن ها را با استفاده از کد ویژوال بیسیک بسازیم.

Output from ASP.NET Core Web Server

در پنجره ی خروجی ، ما می توانیم برنامه ی خود را با استفاده از گزینه ASP.NET Core Web Server ، تریس (trace) کنیم . این ویژگی به ما نشان خواهد داد که به چه نحوی برنامه ی ما  بالا می آید و چگونه در browser رندر می شود. همه ی اطلاعات از استارت شدن تا رندر شدن به شما داده می شود.

اهمیت NET Coreدر  سی شارپ

با سلام با یکی دیگر از مطالب NET core در خدمت شما هستیم .امیدواریم از این مقاله نهایت استفاده را ببرید .

#C با تنوع، ویژگی های جدید و OSS گسترده می تواند بهترین گزینه باشد. چگونگی اینکه NET Core . سی شارپ را گام بزرگ بعدی قرار داده است را در این پست متوجه خواهید شد.

برای سال ها من درباره زبان های برنامه نویسی چند منظوره و اینکه چگونه برخی از زبان های جدید یک پدیده ی جالب شدند مطالعه کردم. با گذشت زمان زبان هایی نظیر Ruby، Python، Scala، Go، Node.js، Swift و موارد دیگر به وجود آمدند. جالب است که ببینید مایکروسافت و گروه آن چه کاری را NET Core. انجام دادند و چگونه این زبان به یک پدیده ی جذاب جدید تبدیل شد.

مشکل بسیاری از زبان های برنامه نویسی موجود این است که فقط برای یک مورد استفاده مناسب هستند. Ruby و PHP برای وب اپلیکیشن ها عالی هستند Swift یا Objective-C، برای ساخت اپلیکیشن های iOS یا MacOS هستند اگر شما خواستید که یک بک اند سرویس بنویسید می توانید از Python ، جاوا یا زبان های دیگر استفاده کنید در کنار این موارد C# ، جاوااسکریپت و جاوا تنها زبان هایی هستند که برای طیف گسترده ای از موارد استفاده مناسب هستند.

اگر بخواهید زبانهای برنامه نویسی زیادی را یاد بگیرید، مسئله ای دشوار خواهد بود و این موضوع فرصت های شغلی را محدود می کند. موضوع فوق العاده درباره ی C# تنوع بالای آن است که می تواند برای طیف متنوعی از اپلیکیشن ها استفاده شود. امروزه با NET Core. حقیقتا کار با MacOS  و لینوکس هیچ محدودیتی وجود ندارد. این موضوع را در ادامه با جزئیات بیشتری بررسی خواهیم کرد.

چرا C# و NET Core. گام های بزرگ بعدی هستند؟

من با NET Core. بیش از یک سال کار کرده ام و بسیار تحت تاثیر آن قرار گرفته ام. حتی یک اپلیکیشن NET. را برای اجرا روی یک Mac پورت کرده ام که دیدن اجرای آن بعد از همه ی این سال ها بسیار شگفت انگیز بود.

از آنجایی که شرکت ما ابزار های توسعه که با NET Core. هم کار می کند، می سازد، احساس می کنم که ما بیشتر با آن چیزی که در حال رخ دادن است مرتبط هستیم. پیش بینی می شود که NET Core. رشدی بسیار سریع خواهد داشت و من پیشبینی می کنم که نیاز به توسعه دهندگان NET Core. در سال 2018 بسیار زیاد خواهد بود. ما هرروزه با مشتریانی که هم اکنون در تولید، درحال اجرای اپلیکیشن های NET Core. صحبت می کنیم.

بنابر شاخص برنامه نویسی TIOBE، C# درحال حاضر یکی از پنج زبان برنامه نویسی برتر است.

6 موردی که باید درباره ی C# و NET Core. بدانید

اگر شما به یادگیری یک زبان برنامه نویسی جدید فکر می کنید، من می خواهم برخی از دلایل خود که چرا C# و NET Core. باید در راس لیست شما قرار بگیرد را در اختیار شما قرار دهم.

یادگیری آسان:

اگر شما در C ، جاوا یا حتی جاوااسکریپت برنامه نویسی کرده باشید syntax سی شارپ برای شما بسیار آشنا خواهد بود. خواندن و فهم syntax ساده است. بنابر شاخص TIOBE که پیش تر آن را دیدیم میلیون ها توسعه دهنده وجود دارد که می توانند به راحتی از جاوا یا C به این زبان بیایند.

منابع زیادی برای کمک به شما در یادگیری C# وجود دارد که بسیاری از آن ها رایگان هستند و برخی هم هزینه ی کمی دریافت می کنند.

Pluralsight: هزینه ی اشتراکی کمی را برای محتوا های آموزشی عالی دریافت می کند.

Microsoft Virtual Academy: فیلم ها و ارزیابی های رایگان دارد.

Microsoft Getting Started with C# : آموزش های تعاملی رایگان دارد.

ویژگی های زبان مدرن:

NET. سابقه ی طولانی دارد و در طی 15 سال اخیر دائما تغییر و پیشرفت داشته است. در طی سال های اخیر من پیشرفت های بی نظیری از جمله MVC ، generic ها، LINQ، async/awaitو بسیاری موارد دیگر را دیده ام. به عنوان فردی که شخصا وقت خود را وقف این زبان کرده ام، مشاهده ی پیشرفت آن در طی زمان بسیار شگفت انگیز است. NET Core. تغییرات زیادی داشته است از جمله اینکه stack کاملا تغییر کرده است.

در اینجا برخی از ویژگی های برتر را معرفی خواهیم کرد:

-Strongly Typed

- class librarieهای پایه ای قوی

- برنامه نویسی ناهمگام (Asynchronous)- سهولت استفاده از الگوی async/await

- کالکشن Garbage و مدیریت خودکار حافظه

- LINQ زبان تجمیع شده ی کوئری ها

- Genericها - List<T>, Dictionary<T, T>

- مدیریت پکیج

- قابلیت اشتراک گذاری باینری ها از طریق framework ها و platform های چندگانه

- Frameworkهایی که استفاده از آن ها برای ساخت وب اپلیکیشن های MVC و API های RESTful ساده است.

تطبیق پذیری: وب، موبایل، سرور، دسکتاپ

یکی از بهترین موارد درباره ی C# و NET. تنوع بالای آن است. من می توانم اپلیکیشن های دسکتاپ،وب اپلیکیشن ها ،سرویس های پیش زمینه ای و حتی اپلیکیشن های موبایل را با استفاده از Xamarin بنویسیم. درکنار C# تمام چیزی که باید بدانم کمی جاوااسکریپت (به کمک TypeScript) برای هک برخی از کد های UI (که من هنوز سعی می کنم از آن جلوگیری کنم) می باشد. templateها ی ASP.NET Core حتی از layout های Bootstrap و npm برای استفاده از کتابخانه های سمت کلاینت استفاده می کند.

تطبیق پذیری یک چالش بزگ است زیرا سرمایه گذاری برای یادگیری زبان می تواند برای مجموعه ای گسترده از موارد استفاده شود. مجموعه ی مهارت های شما بسیار منعطف است. اگر شما می خواهید مواردی را که درحال انجام هستید را بایکدیگر ترکیب کنید، می توانید از ساخت وب اپلیکیشن ها به ساخت اپلیکیشن های موبایل پرش کنید. این مورد یک تفاوت اساسی با بسیاری از زبان های برنامه نویسی که تنها در سمت سرور کار می کنند، می باشد.

اجازه دهید بهترین پشتیبانی از Microsoft Azure را فراموش نکنیم. هیچگاه مانند الان اجرا و توسعه در کلود تنها با چند کلیک ساده نبوده است. همچنین از مخازن Docker نیز پشتیبانی می شود که توسعه ی اپلیکیشن ها AWS یا ارائه دهندگان هاست دیگر را آسان می کند.

ابزار های توسعه ی عالی :

ویژوال استدیو همیشه به عنوان یکی از بهترین IDE های دردسترس برای توسعه دهندگان معرفی شده است. این IDE یکی از بهترین ویرایشگر های کد است که از ویژگی هایی نظیر کد کامپلیشن،دیباگ کردن، پروفایلینگ، ادغام با Git ، تست unit و بسیاری موارد دیگر پشتیبانی می کند. در حال حاضر ویژوال استدیو یک نسخه ی کامل رایگان را به عموم ارائه می دهد.

همچنین ممکن است که برای NET Core. به عنوان فایل های متنی پایه ای با ویرایشگر متنی مورد علاقه ی خود کدنویسی کنید. شما همچنین می توانید از Visual Studio Code برای هر سیستم عاملی به عنوان یک ویرایشگر کد عالی استفاده کنید. برای افرادی که هیچگاه از vim یا emacs دست نمی کشند باید بگوییم که شما می توانید C# را نیز توسعه دهید.شما همچنین می توانید یک پلاگین برای ویژوال استدیو برای اضافه کردن همه ی کلید های میانبر مورد علاقه ی خود نصب کنید.

تمام محیط NET. سرشار از ابزار های توسعه ای شگفت انگیز است. برای مثال من کار بدون Resharper از Jetbrains را نمی توانم تصور کنم. تعداد زیادی از ابزار های عالی وجود دارد که شامل ترکیبی از محصولات open source و تجاری می باشد.

استاندارد سازی مهارت ها :

NET. با مجموعه ای از class librarie های بسیار عالی همراه است. برخلاف Node.js توابع رشته ای ساده نظیر( LeftPad)وجود دارد. آرایه ی وسیعی از کلاس های پایه ای واقعا نیاز به پکیج های خارجی را کاهش می دهد. مایکروسافت به برخی از پروژه های عمومی نظیر JSON.NET برای اینکه یکی از کتابخانه های کلیدی که در بسیاری از پروژه ها استفاده شود، نیز تکیه کرده است.

مایکروسافت مجموعه ی بسیار خوبی از طرح ها و تمرینات برای NET. ارائه می دهد. برای مثال دسترسی به داده های استاندارد (entity framework) و frameworkهای آماده ی model-view-controller (MVC)  وجود دارد. بسیاری از توسعه دهندگان از این framework های استاندارد استفاده می کنند. این ویژگی به توسعه دهندگان امکان جابجایی بین تیم ها و استانداردسازی های سریع ازاینکه چگونه موارد کار می کنند را می دهد. با این امکان دانش و مهارت شما قابل انتقال می شود.

دات نت کور ، Open Source است :

یکی از بزرگترین تغییراتی که در NET. اتفاق افتاده است Open Source کردن کد ها بوده است. درحال حاضر به صورت مجازی تمام کد ها در GitHub برای عموم به منظور مشاهده، بررسی و مشارکت دردسترس است. این تغییر بزرگی بود که اکثر افراد در این حرفه فکر نمی کردند اتفاق بیفتد.

به عنوان یک توسعه دهنده نیاز دارید که عمیقا بررسی کنید که کد شما واقعا چه کاری انجام می دهد برای مثال در گذشته، یکبار فکر کردم که اگر Dispose() را در database connection فراخوانی کنم آیا ارتباط را می بندد یا نه. اگر شما بتوانید به نحوی به source code دسترسی داشته باشید به سرعت می توانید اینگونه سوال ها را بررسی کنید.

حتی اگر در source code مشارکتی نداشته اید از اجتماع بزرگی که در آن هستید سود خواهید برد. مسائل و بهبود ها به سرعت بحث کدزنی می شوند و برای استفاده در اختیار شما قرار می گیرد.

ویژگی های جدید نسخه ASP.NET Core 2.1

با سلام خدمت کاربران عزیز. درمقاله سعی شده ویژگی های ASP.NET.core2.1 را مورد بررسی قرار دهیم . با ما همراه باشید

ویژگی‌های جدید ASP.NET Core 2.1 در لاین بهبود سرور و سرعت کتابخانه‌ای شگفت‌انگیز است. ASP.NET Core 2.1 با یک فریمورک جدید همراه است.

ASP.NET Core 2.1 وارد بازار شد! شگفت‌انگیزترین ویژگی‌های کد نویسی در این نسخه دیده می‌شود. بررسی‌های متعددی صورت گرفت و مشخص شد که اطلاع از ویژگی‌های جدید ASP.NET Core 2.1 می‌تواند استفاده از آن را کاربردی‌تر نماید.

ارائه فریمورک signalIR در نسخهASP.NET Core 2.1

برنامه‌های آنلاین و چت هرروز رشد می‌یابند و از دسته برنامه‌های محبوب در سراسر دنیا در بین کودکان و جوانان محسوب می‌شود. Signalir فریم ورکی بسیار مناسب برای نوشتن برنامه‌های بازی و چت است که تا به امروز برای ASP.NET Core در دسترس نبود، اما نسخه  ASP.NET Core 2.1 منتشر شد و بر این انتظار پایان داد. این تابع برای این فریم ورک بازنویسی شده است و سیستم بسیار کارآمدی دارد. ویژگی دومی که در نسخه  ASP.NET Core 2.1 دیده می‌شود امنیت بسیار بالای آن است. شما در نسخه  ASP.NET Core 2.1 می‌توانید برای ایجاد پروژه وارد گزینه configure for https شوید وبه این ترتیب امنیت لازم را برای پروژه خود فراهم سازید. به این ترتیب انتقال اطلاعات بین کلاینت و سرور بسیار امن است برای برنامه‌هایی که با درگاه‌های پرداخت مالی همراه است یک گزینه بسیار کارآمد محسوب می‌شود.

کتابخانه جدید در ASP.NET Core 2.1

در نسخه  ASP.NET Core 2.1 برای اینکه احراز هویت در پروژه صورت بگیرد می‌توانید از.net به‌صورت کتابخانه استفاده کنید. این مسیر بسیار آسان است، در ابتدا باید پکیج ASP.NET Core  را از طریق nugget نصب کنید و سپس بخش starup از identity را فعال‌سازی نمایید. شما می‌توانید با کلیک راست بر روی پروژه خود وارد بخش add شوید و بسته موردنیاز را به کتابخانه موجود اضافه نمایید. به‌عنوان‌مثال شما در پروژه خود تنها به login و logout نیاز دارید پس می‌توانید تنها همین گزینه‌ها را انتخاب نمایید. درواقع این ویژگی در این نسخه سبب می‌شود که کتابخانه طبق سلیقه شما شخصی‌سازی شود. ویژگی چهارم در نسخه  ASP.NET Core 2.1 بهبود مدت‌زمان build پروژه است. درواقع زمان زیادی در نسخه‌های قبلی صرف می‌شود تا پروژه ساخته شود با این نسخه توانست با یک رشد 61درصدی همراه باشد.

پیشرفت‌های کتابخانه‌ای و GDPR در نسخه  ASP.NET Core 2.1

پنجمین ویژگی که در نسخه  ASP.NET Core 2.1 دیده می‌شود و البته بسیار مشهور است استفاده از Razor UI به‌عنوان یک کتابخانه است. با استفاده از ابزار می‌توانید مدل‌ها، کنترلرها و و یوهای مربوط به کنترلر را به یک کتابخانه تبدیل نمایید و به‌سادگی در پروژه‌های بعدی از آن استفاده کنید. در این نسخه ویژگی ششم که تحت عنوان پیشرفت GDRP است بسیار مهم و جالب است. GDRP به مجموعه قوانینی گفته می‌شود که توسط اتحادیه اروپا وضع‌شده است و به معنی مقررات حفظ اطلاعات عمومی اشخاص است. طبق این قانون شرکت‌ها باید شفاف‌سازی دقیق در خصوص استفاده از اطلاعات کاربران ارائه دهند. این ابزار در نسخه جدید پیاده‌سازی شده است. درواقع در این نسخه از کاربر به‌صورت مستقیم سؤال می‌شود که آیا مایل است اطلاعاتش ذخیره شود یا خیر. درصورتی‌که در نسخه قبلی این روند به‌صورت بدون پرسش صورت می‌گرفت و ازنظر امنیتی غیرقابل‌قبول بود.

بهبود سرور و پشتیبانی از Area در نسخه  ASP.NET Core 2.1

هفتمین ویژگی در نسخه  ASP.NET Core 2.1 به این صورت است که گزینه‌های بیشتری به بخش kestrel سیستم اضافه‌شده است و این روند سبب افزایش امنیت و سرعت می‌شود و به این صورت اطلاعات لازم درزمینه کار با iis بسیار افزایش می‌یابد. خبر خوش در قالب هشتمین ویژگی نسخه جدید در خصوص پشتیبانی از نسخه razor page است به‌نوعی که از ابزار قدرتمند area پشتیبانی می‌کند.

در این نسخه تعدادی ویژگی جدید به web API اضافه‌شده است به‌طوری‌که ساختن یک تولبار WebAPI آسان‌تر از قبل شده است. درواقع شما می‌توانید ورودی‌ها را بهتر پردازش نمایید و خطاها را به‌سادگی مدیریت کنید. Json patch به‌سادگی بهبود می‌یابد.

به‌روزرسانی قالب‌های SPA در ASP.NET Core 2.1

در این نسخه شاهد به‌روزرسانی قالب‌های React، Angular  هستیم که سبب می‌شود ساختار پروژه استاندارد پیش برود و به‌نوعی بتوان سیستمی ایجاد کرد که برای هر فریم ورکی مناسب باشد.

در این مقاله سعی شد به‌طور دقیق در خصوص ویژگی‌های ASP.NET جدید نسخه صحبت شود و به‌این‌ترتیب برنامه نویسان می‌توانند با استفاده از ویژگی‌های جدید و قدرتمند این نسخه مشکلاتی که در نسخه‌های قبلی وجود داشت را حل نمایند. مزیت ASP.NET Core 2.1 بسیار بیشتر از نسخه‌های قبلی است و سبب سرعت در کد نویسی و البته آسان‌تر شدن آن نیز می‌شود. نصب این نسخه بسیار آسان‌تر از نسخه‌های قبلی است و زمان زیادی برای نصب و همین‌طور فضای زیادی برای نصب نیاز ندارد و شما می‌توانید به‌سادگی از محیط کاربردی آن استفاده نمایید.  دوره‌های آموزشی کاملی نیز در خصوص نسخه جدید دیده می‌شود.

 

ایجاد برنامه Angular با Visual Studio 2017

مطلبی که امروز برای شما آماده کرده‌ایم در رابطه با ساخت برنامه انگولار با Net Core 2.0. می‌باشد. در این مقاله ابتدا نحوه ایجاد برنامه انگولار با استفاده از ویژوال استودیو 2017 (.NET Core 2.) را بررسی خواهیم کرد و سپس آن را بر روی Azure قرار خواهیم داد. با ما همراه باشید.

پیش‌نیازها :

Visual studio 2017 community، می‌توانید آن را از اینجا دانلود کنید.

حساب کاربری Azure، می‌توانید حساب کاربری خود را به صورت رایگان از اینجا ایجاد کنید.

NET Core 2.0 SDK.، دانلود از اینجا

ایجاد برنامه انگولار با استفاده از قالب NET Core 2.0. در ویژوال استودیو 2017

بعد از اینکه تمام این موارد را نصب کردید، ویژوال استودیو 2017 را باز کنید و مراحل زیر را دنبال کنید:

Create New Project -> Select Core Web application

روی Ok کلیک کنید و در پنجره بعدی، همان‌طور که در تصویر زیر نشان داده شده است، Angular را انتخاب کنید.

ویژوال استودیو یک برنامه ساخت‌یافته برای شما ایجاد خواهد کرد.

ما نمی‌خواهیم در این مقاله به صورت عمیق به ساختار انگولار بپردازیم، اگر نیاز به جزئیات بیشتری دارید می‌توانید در مقالات دیگر ما آن را دنبال کرده و بیاموزید.

وقتی برنامه را در IISExpress اجرا می‌کنید، صفحه‌ای همانند تصویر زیر را مشاهده خواهید کرد.

تا اینجا ما یک برنامه انگولار را با استفاده از ویژوال استودیو 2017 با موفقیت ایجاد کرده و آن را بر روی IISExpress اجرا کردیم.

انتشار برنامه انگولار بر روی Azure

روی سولوشن راست کلیک کرده و Publish را انتخاب کنید.

پنجره‌ای باز می‌شود که می‌توانید برنامه خود را روی هاست‌های متفاوتی منتشر کنید. Microsoft Azure App Service را انتخاب کرده و روی Publish کلیک کنید.

بعد از اینکه روی Publish کلیک کردید، برنامه سعی می‌کند تا به حساب کاربری Azure شما وارد شود و ویژوال استودیو جزئیات را از حساب Azure شما واکشی کرده و آن را در فرم نشان خواهد داد. اگر به صورت خودکار وارد سیستم نشدید، باید وارد شوید.

تصویری که در زیر مشاهده می‌کنید، جزئیات حساب کاربری Azure ما است که برنامه در حال تلاش است تا آن‌ها را نمایش دهد.

Resource Group و App Service Plan

Resource Group یک نگهدارنده یا همان کانتینر است که در آن منابع Azure مثل برنامه‌های وب، پایگاه داده‌ها و ذخیره‌سازی حساب‌ها قرار گرفته و مدیریت می‌شوند.

App Service Plan برای تعیین اندازه، موقعیت و موارد دیگر وب که برنامه شما را میزبانی می‌کند، استفاده می‌شود.

اگر از قبل آن‌ها را ندارید، روی New کلیک کرده و Resource Group و App Service Plan را اضافه کنید.

اگر می‌خواهید Database را اضافه کنید، روی تب Service کلیک کنید و از بخش مورد نظر پایگاه داده را اضافه و مدیریت کنید.

اگر نمی‌خواهید پایگاه داده را اضافه کنید روی Create کلیک کنید، برنامه Angular Web با Azure منتشر شده و در مرورگر پیش‌فرض اجرا می‌شود.

نکته :

اگر URL را مشاهده کنید، متوجه می‌شوید که نام برنامه وب به عنوان پیشوند URL استفاده شده است.

به عنوان مثال: http://<app_name>.azurewebsites.net

شما با موفقیت برنامه انگولار خود را بر روی Azure ایجاد کردید.

تغییراتی برای انتشار مجدد/گسترش مجدد (RePublish\ReDeploy)

اجازه دهید تغییراتی را در صفحه انجام داده و تغییراتمان را انتشار دهیم تا ببینیم آیا تغییرات در فضای ابری Azure (Azure cloud) اعمال می‌شوند یا خیر.

ما صفحه home.component.html را تغییر می‌دهیم، متون را به صورت زیر تغییر می‌دهیم.

تغییرات را ذخیره کرده و روی سولوشن کلیک راست می‌کنیم و دوباره Publish را می‌زنیم.

وقتی فرآیند انجام می‌شود، مرورگر راه‌اندازی خواهد شد.

همان‌طور که می‌بینید، تغییرات ما در Azure cloud اعمال شدند.

حالا هر وقت که بخواهیم تغییرات جدیدی را اعمال کنیم، روی Publish کلیک می‌کنیم و Cloud آپدیت خواهد شد.

می‌توانید برنامه وب را در Azure تحت سرویس‌های وب مدیریت کنید.

می‌توانید سورس کد برنامه را از اینجا دانلود کنید.

انتشار اپلیکیشن ASP.NET Core 2.0 در Azure با سرویس های SQL

باسلام با یک مقاله دیگر از ASP.NET CORE 2.0 در خدمت شما عزیزان هستیم انتشار یا توسعه ی یک اپلیکیشن کمی دشوار است و اگر ما راه دقیق توسعه ی اپلیکیشن را ندانیم با مسائل زیادی روبرو خواهیم شد بنابراین در این مقاله به نحوه ی توسعه یا انتشار یک اپلیکیشن ASP.NET CORE 2.0 در Azure خواهیم پرداخت.

این مقاله نحوه ی توسعه یا انتشار یک اپلیکیشن ASP.NET CORE 2.0 در Azure را نشان می دهد. همانطور که همه ی ما می دانیم زمانی که ما اپلیکیشن را می سازیم باید جایی آن را توسعه دهیم که می تواند IIS ، Cloud یا هرجای دیگری باشد. انتشار یا توسعه ی یک اپلیکیشن کمی دشوار است و اگر ما راه دقیق توسعه ی اپلیکیشن را ندانیم با مسائل زیادی روبرو خواهیم شد.

بنابراین تمام گام های انتشار یک ASP.NET CORE 2.0 در Azure را نشان خواهیم داد. ما از قبل یک اپلیکیشن با استفاده از  Razor Page را ساخته ایم و اینجا از همان اپلیکیشن برای توسعه استفاده می کنیم.

بنابراین اجازه دهید به بخش پیاده سازی عملی برویم. ما یک پروژه ی آماده برای توسعه داریم. برای انتشار یک اپلیکیشن Asp.Net Core 2 از Solution Explorer روی پروژه راست کلیک کنید و روی گزینه ی “Publish” کلیک کنید.این مقاله درباره ی استفاده از SQL server و جداول برای عملیات CRUD است.

زمانی که ما گزینه ی “Publish” را انتخاب کردیم پنجره ی دیگری باز خواهد شد که در آن ما گزینه های دردسترس دیگری برای انتشار یک اپلیکیشن در Azure یا هاست دیگری نظیر IIS، پوشه و غیره داریم. این جا ما باید “Microsoft Azure App Service” را با گزینه ی “Create New” انتخاب کنیم و سپس بدون انجام هیچ کار دیگری فقط روی گزینه ی “Publish” کلیک کنیم.

پنجره ی بعدی گزینه های مختلفی برای تنظیم یک محیط هاست و سرویس های آن دارد. زیر قسمت “Hosting” می توانیم نام اپلیکیشن خود را تعریف کنیم “App Name”. این نام برای دسترسی به اپلیکیشن از مرورگر استفاده می شود، حال طرح اشتراکی خود را تعریف کردیم طبق آن می توانیم اپلیکیشن و گروه منابع آن را SQL server منتشر کنیم.

توجه

آیا ما باید Microsoft Subscription Plan را با Azure Credits برای توسعه داشته باشیم؟

توجه

اگر پایگاه داده را به عنوان بخشی از اپلیکیشن داشته باشیم به Service Part برای ساخت SQL server و پایگاه داده می رویم.

همانطور که ما اپلیکیشنی که عملیات CRUD را انجام می دهد منتشر می کنیم نیاز داریم که تنظیمات پایگاه داده ی SQL را نیز انجام دهیم بنابراین مستقیما به گزینه ی Services در زیر Hosting برای ساخت سرویس های مرتبط SQL نظیر SQL server، SQL database ، connection string و غیره می رویم.

همانطور که در تصویر زیر می توانیم ببینیم در گزینه ی Services در قسمت Resource Type ما “SQL Database” با علامت به علاوه[+] را داریم. برای ساخت SQL service جدید روی علامت به علاوه[+] کلیک کنید.

زمانی که روی علامت به علاوه کلیک می کنیم یک پنجره ی جدید باز می شود که مسئول تنظیم SQL server و پایگاه داده است. بنابراین ابتدا یک SQL Server جدید در Azure تنظیم می کنیم. برای ساخت SQL Server جدید در Azure روی دکمه ی New همانطور که در تصویر زیر نشان داده شده است کلیک می کنیم.

از پنجره ی “Configure SQL Server” باید نام SQL Server ، نام کاربری و رمز را برای دسترسی به آن از SQL Server Management Studio یا استفاده از آن با Connection String ، تعریف کنیم.

پس از تنظیم یک SQL server جدید روی OK کلیک کنید. با این کار به صفحه ی “Configure SQL Database” که می توانیم از طریق آن پایگاه داده ی SQL را تنظیم کنیم، برمی گردیم. بنابراین اینجا می توانیم نام پایگاه داده ی خود و همچنین نام connection string را تعریف کنیم زمانی که تمام این کار ها را انجام دادیم روی OK کلیک می کنیم.

توجه

پیش از این نام پایگاه داده و connection string به صورت پیش فرض انتخاب می شود ولی ما این جا این موارد را تغییر دادیم.

بنابراین تا به حال سه مورد را پیکربندی کرده ایم اول طرحی که تحت آن اپلیکیشن ما در Azure منتشر می شود مورد دوم SQL server است که ما پایگاه داده ی SQL خود و جداول را در آن پیکربندی کرده ایم و مورد آخر همانطور که تصویر زیر نشان می دهد پایگاه داده ی SQL با همان SQL server است.

حال زمان توسعه ی اپلیکیشن با پیکربندی بالا است بنابراین فقط روی دکمه ی “CREATE” کلیک کنید. با این کار همانطور که تصویر زیر نشان می دهد توسعه ی اپلیکیشن در Azure  شروع می شود.

اینجا می توانیم “Azure Successfully Configured” را ببنیم و Visual Studio انتشار اپلیکیشن در Azure را شروع می کند.

این کار چند دقیقه و یا چند ثانیه برای هر اتصال شبکه و سرعت توسعه ی اپلیکیشن روی Azure طول می کشد و به ما پیام هایی به شرح زیر در محل زیر نشان می دهد که می گوید اپلیکیشن با موفقیت توسعه یافته است.

همانطور که همه ی ما می دانیم این اپلیکیشن از پایگاه داده ی SQL و جداول آن برای انجام عملیات CRUD استفاده می کند. ما از قبل یک پایگاه داده ساخته ایم. ما از قبل در زمان پیکربندی SQL service یک پایگاه داده ساخته ایم اما جداول در حال ساخت هستند. برای ساخت جداول مورد نیاز SQL در پایگاه داده ی “TestDB” نیاز به دسترسی به SQL server و پایگاه داده ی آن و اجرای اسکریپت های جداول به صورت دستی داریم.

حال باید “Microsoft SQL Server Management Studio” را از سیستم خودمان باز کنیم و گواهی نامه های خودمان را ، همانطور که از قبل SQL server را پیکربندی کردیم، ارسال کنیم. مطمئن باشید که زمان وارد کردن نام سرور نام SQL server باید به فرمت زیر باشد.

Servername.database.secure.windows.net,1433

ما یک خطای جدید داریم که به معنی این است که به دلیل قانون firewall ، با این آدرس IP قادر به دسترسی به SQL server تعریف شده نیستیم.

برای حل این خطا باید این آدرس IP را به قوانین firewall اضافه کنیم بنابراین Microsoft Azure portal را باز کنید و SQL server را که قبلا پیکربندی کرده ایم را انتخاب کنید.

همانطور که تصویر زیر نشان می دهد زیر SQL Server گزینه ی “Firewall/Virtual Networks” را داریم. اینجا در عکس می توانیم ببینیم که درحال حاضر هیچ آدرس IP تعریف نشده است. شما باید روی “Add Client IP” برای اضافه کردن آدرس IP کلاینت در قوانین firewall کلیک کنید و سپس برای ذخیره سازی آن کلیک کنید.

پس از اضافه کردن “Client IP Address” آن را در قوانین Firewall خواهیم داشت حال می توانیم به این سرور از طریق SQL Server Management Studio دسترسی داشته باشیم.

اگر یک بار دیگر برای ورود به SQL Server Management Studio تلاش کنیم قادر به ورود خواهیم بود. حال پایگاه داده ی “TestDB” را که با این انتشار، پیکربندی کرده ایم را انتخاب کنید و راست کلیک کنید و یک پنجره ی کوئری جدید باز کنید. اینجا باید اسکریپت های SQL مانند ساخت یک جدول جدید، وارد کردن رکورد های جدید و غیره را اجرا کنیم.

بنابراین نهایتا همه چیز را پیکربندی کرده ایم که شامل پایگاه داده نیز می شود. حال زمان دسترسی به اپلیکیشن توسعه یافته ما می باشد اگر با URL زیر به اپلیکیشن خود دسترسی پیدا کنیم ( این فقط برای مورد من است و برای شما می تواند با نام خود شما تعریف شده باشد) اپلیکیشن را مانند زیر خواهیم دید.

https://razorpagesexample.azurewebsites.net/Product

 

7 نکته درباره نسخه جدید جاوا

باسلام . در این مقاله به ویژگیهای نسخه جدید جاوا پرداخته ایم .امیدواریم مورد استفاده شما عزیزان قرار بگیرد .

زبان برنامه نویسی جاوا یکی از زبان های برنامه نویسی محبوب دنیا است که امروزه به صورت گسترده ای مورد استفاده قرار می گیرد، تسلط و غلبه این زبان برنامه نویسی بر سایر زبان های برنامه نویسی به گونه ای است که در بیست سال گذشته موفق شده است رتبه اول را در میان بهترین زبان های برنامه نویسی دنیا حفظ کند. با این که در سال اخیر کمی از تسلط و غلبه زبان برنامه نویسی جاوا کاسته شده است ولی با این حال ما در این جا نکات بسیار مهمی را آورد ایم که برنامه نویسان جاوا باید توجه ویژه ای به آن داشته باشند چرا که پیش بینی می شود این زبان در سال های آینده نیز بهترین باشد.

کاربران تجاری java SE در حال حاضر نیازمند یک لایسنس هستند

شاید بتوان گفت مهم ترین تغییری که در زبان برنامه نویسی جاوا به وجود آمده است این است که کاربران نسخه صنعتی جاوا از این ماه فوریه سال ۲۰۱۹ باید اقدام به تهیه لایسنس برای استفاده از این زبان برنامه نویسی کنند. این تغییر به دلیل تصمیم شرکت اوراکل انجام شده است که این شرکت تصمیم گرفته است مدل حمایتی خود را برای زبان برنامه نویسی جاوا تغییر دهد. این تغییر‌ می تواند بر روی Java SE 8 نیز تاثیر بگذارد که نسخه پولی آن در ماه مارس سال 2022 و 2025 منتشر خواهد شد.

برای کاربران شخصی آپدیت ها و ساپورت ها تا سال ۲۰۲۰ ادامه دار خواهد بود، علاوه بر این نسخه یازده زبان برنامه نویسی جاوا که اخیرا منتشر شده است نیز برای ۵ الی یازده سال دارای آپدیت و ساپورت از طرف شرکت و یا محل منتشر شده می باشد.

نسخه 12 زبان برنامه نویسی جاوا در سال 2019 منتشر خواهد شد

از زمانی که شرکت اوراکل مدل حمایتی خود را تغییر داده است نسخه non-LTS همواره به صورت سالانه منتشر شده است و به احتمال بسیار زیاد این نسخه ها دارای تغییرات اساسی در زبان برنامه نویسی جاوا نخواهند بود. JDK 12 به صورت non-LTS می باشد که به همین دلیل نمی توان گفت که تغییراتی که در آن وجود دارد جزئی خواهد بود، این نسخه به همراه ویژگی های فوق العاده اش منتشر خواهد شد. این نسخه در ‌ماه مارس امسال منتشر خواهد شد و تا ماه سپتامبر که نسخه 13 این زبان برنامه نویسی منتشر شود در دسترس خواهد بود و پشتیبانی خواهد شد. این نسخه از زبان برنامه نویسی جاوا دارای تعداد بسیار زیادی از ویژگی های جدید خواهد بود که برخی از آن ها به صورت قطعی از ماه سپتامبر امسال در دسترس برنامه نویسان این زبان قرار خواهند گرفت و برخی دیگر هنوز باید مورد بحث قرار بگیرند.

نسخه 13 به صورت کلی در ماه سپتامبر با امکان دسترسی زودتر منتشر خواهد شد

تا به امروز اطلاعات بسیار کمی درباره نسخه 13 جاوا وجود دارد، تنها چیزی که تقریبا تمامی ما می دانیم این است که این نسخه از زبان برنامه نویسی جاوا در سپتامبر سال 2019 منتشر خواهد شد و این نسخه نیز مانند نسخه 12 non-LTS خواهد بود.

با این حال اگر شما می خواهید که سریع تر آن را آزمایش کنید یک راه دسترسی در حال حاضر موجود است که می توانید آن را تست کنید. برخی از JEP ها( مخفف JDK Enhancement Proposals) ممکن است در نسخه 13 زبان برنامه نویسی جاوا ثبت شود، اما این ویژگی به صورت انحصاری است.

دسته بزرگی از ویژگی ها در زبان برنامه نویسی جاوا در سال 2019

با این وجود که نسخه اصلی پشتیبانی زبان برنامه نویسی جاوا نسخه یازدهم  در سال گذشته منتشر شد، امسال نیز ویژگی های فوق العاده ای به آن اضافه شده است که می توانید آن ها را در استور‌ خود مشاهده کنید، اجازه دهید نگاهی به دو ویژگی که در نسخه پشتیبان اتفاق خواهد افتاد نگاهی بیندازیم.

گزینه های تایید شده برای نسخه 12 زبان برنامه نویسی جاوا

یک کامپایلر زمان توقف ضعیف به نام Shenandoah به زبان برنامه نویسی جاوا اضافه شده است تا توقف هایی که در زمان اجرای یک برنامه به وجود می آیند را به کمترین میزان ممکن برساند. این کامپایلر اضافه شده است تا منابع محاسباتی جدید را همسان سازی کند، زمان توقف و شروع زمان هیپ بدون در نظر گرفتن زمانی است که با استفاده از  زمان توقف GC کاهش پیدا می کند.

ویژگی Micro Benchmark Suite این امکان که برنامه نویسان زبان برنامه نویسی جاوا برنچ مارک های تست را اجرا کرده و یا یک بنچ مارک جدید بسازند را راحت تر کرده است.

یکی دیگر از ویژگی های فوق العاده Revamped switch statements می باشد که پروسه نوشتن کدها را برای برنامه نویسان جاوا راحت تر می کند. به صورت کلی می توان گفت که switch statement می تواند مانند یک expression مورد استفاده قرار گیرد.

JVM Constants API یک ویژگی دیگر است که وب سایت OpenJDK این چنین آن را تعریف می کند که " یک API جدید معرفی می کند که می توان با آن اسامی را توصیف کرد و فایل های کلاس را توسط آن طبقه بندی کرد.

ویژگی های دیگری که ممکن نیست از نسخه 12 جاوا کنار گذاشته شوند

Raw string literals به جاوا اضافه خواهد شد.

یک ابزار پکیج کردن طراحی شده است که تا عملیات نصب کردن و اجرای اپلیکیشن های جاوا را بر روی دستگاه های نیتیو راحت تر کند.

ویژگی Limit Speculative Execution که به هر دو قشر برنامه نویسان زبان برنامه نویسی جاوا و مهندسین عملگرها کمک می کند تا بهتر بتوانند امنیت اپلیکیشن را در برابر آسیب پذیری های احتمالی حفظ کنند.

اشتراکات و ویژگی های بیشتر با OpenJDK

OpenJDK یک اجرای متن باز از نسخه استاندارد جاوا( java SE) می باشد که از طرف اراکل و اجتماع متن باز پشتیبانی می کند. از حالا OpenJDK برای جدیدترین انتشار LTS زبان برنامه نویسی جاوا در دسترس هستند. این کار نشان می دهد که اوراکل به ایده متن باز بودن و مشارکت های اجتماعی علاقه مند می باشد.

اگر چه اوراکل بعد از شش ماه از انتشار نسخه اولیه دیگر این نسخه را پشتیبانی نمی کند، اما Red Hat پشتیبانی خواهد شد. مارک رینولد ون معمار اصلی پلتفرم زبان برنامه نویسی جاوا گفت که استواری ها رهبران واقعی هستند که می توانند چیستی زبان برنامه نویسی جاوا را به عنوان یک زبان برنامه نویسی بدانند. این اساتید می توانند JEP جدید را پیشنهاد دهند، مشکلات جدید  OpenJDK را پیش بینی کنند که کمک زیادی به پیشرفت زبان برنامه نویسی جاوا خواهد کرد.

موقعیت های شغلی موبایل و یادگیری ماشین

در اکوسیستم گوشی های موبایل به خصوص اندروید با این وجود که بسیاری از برنامه نویسان موبایل به سمت زبان های برنامه نویسی جدید رفته اند ولی زبان برنامه نویسی جاوا هنوز هم به عنوان اصلی ترین زبان برنامه نویسی مورد استفاده قرار می گیرد و رایج ترین زبان می باشد. بر طبق تحقیقاتی که صورت گرفته است متوسط حقوق یک برنامه نویس موبایل در کشور آمریکا 100 هزار دلار می باشد. اکوسیستم اندروید در دهه گذشته پیشرفت های بسیار زیادی داشته است.

اما زبان برنامه نویسی جاوا و اکوسیستم وسیع آن کاربردهایی خیلی بیشتر از برنامه نویسی موبایل دارند، اگر چه بیشتر اهمیت جاوا به دلیل طراحی برنامه ها و اپلیکیشن های کاربردی برای شرکت های مختلف می باشد اما این زبان برنامه نویسی در یادگیری ماشین و هوش مصنوعی نیز مورد استفاده قرار می گیرد. حتی اگر زبان برنامه نویسی پایتون بهترین زبان در این زمینه باشد، این زبان برنامه نویسی دارای کتابخانه های متعددی در این زمینه می باشد که دارای کاربردهای بسیار زیادی می باشند که از جمله این کتابخانه های کاربردی هوش مصنوعی و یادگیری ماشین می توان به Deeplearning4j، Neuroph، weka و ... اشاره کرد.

کنفرانس های جاوا در سال 2019 میلادی

حالا که ما درباره این زبان برنامه نویسی صحبت کردیم و ویژگی های آن را مورد بررسی قرار دادیم بهتر است نگاهی اجمالی به کنفرانس هایی که در سال 2019 درباره زبان برنامه نویسی جاوا برگزار می شود را بررسی کنیم. کنفرانس ها یک محیط بسیار مناسب برای شنیدن صحبت های فوق العاده، صحبت کردن و برقراری ارتباط با سایر برنامه نویسان می باشد. حتی اگر شما نمی توانید در این کنفرانس ها حضور پیدا کنید مطمئن باشید که آن ها را به اشتراک خواهند گذشت تا شما نیز بتوانید از آن ها استفاده کنید.

در این جا برخی از کنفرانس های اصلی زبان برنامه نویسی جاوا در سال 2019 را مورد بررسی قرار خواهیم داد.

معرفی کنفرانس ها

Jax یک کنفرانس نوآوری معماری و نرم افزاری زبان برنامه نویسی جاوا می باشد. این نمایشگاه و کنفرانس از تاریخ 6 تا 10 ماه می سال جاری میلادی برگزار خواهد شد. به غیر از زبان برنامه نویسی جاوا موضوعاتی مانند agile، Cloud، Kubernetes و ... نیز در این نمایشگاه مورد بحث قرار خواهد گرفت.

JB CNC در شهر بارسلونا اسپانیا برگزار می شود، این کنفرانس سه روزه درباره برترین برنامه نویسان جاوا صحبت می کند و تمرکز اصلی آن بر روی موتور زبان برنامه نویسی جاوا یعنی JVM  و فناوری های متن باز آن می باشد.

Fokus یک کنفرانس برنامه نویس محور می باشد که در شهر استکهلم سوئد برگزار می شود. این کنفرانس سه روزه از تاریخ 4 تا 6 فوریه در این شهر برگزار می شود. سخنرانان این کنفرانس شامل براون گیتس از اوراکل، معمار زبان برنامه نویسی جاوا و بسیاری از متخصصان دیگر می باشند و  موضوع این کنفرانس نیز فرانت اند و وب، cloud و ... می باشد.

یکی از بزرگ ترین کنفرانس های زبان برنامه نویسی جاوا کنفرانس JavaZone می باشد که سالانه هزاران نفر از آن بازدید می کنند و سخنرانان آن نیز امسال 18 ساله خواهند شد. این کنفرانس هر ساله در شهر اسلو نروژ برگزار می شود. وب سایت امسال این کنفرانس در حال حاضر در دسترس نیست و شما میتوانید تنها از وب سایت سال گذشته آن ها دیدن کنید.

javaLand یک کنفرانس فوق العاده است که شامل سخنرانی ها، آموزش ها و فعالیت های اجتماعی می باشد. این کنفرانس در شهر برهل آلمان و در تاریخ 19 تا 21 مارس امسال برگزار خواهد شد و شرکت کنندگان می توانند به راحتی در آن شرکت کنند.

سخن پایانی

اگر در سال جاری در زمینه زبان برنامه نویسی جاوا و یا زبان های برنامه نویسی نزدیک به این زبان برنامه نویسی در حال فعالیت هستید باید بدانید که به نظر می رسد که در سال های آینده نیز این زبان برنامه نویسی جزو بهترین زبان های برنامه نویسی دنیا باشد. با این که این تغییراتی که در زبان برنامه نویسی جاوا اتفاق می افتد ممکن است بر روی کاری که شما در ماه فوریه انجام می دهید تاثیر نگذارد، اما یادگیری این تغییرات می تواند تاثیر بسیار خوبی بر روی آینده شما در این زمینه بگذارد و شما را به سمت پیشرفت های بزرگ راهنمایی کند.

آشنایی با Framework های جاوا

در این مقاله با مفهوم framework و کاربرد آن در java و ویژگی های آن آشنا میشویم.به طور کلی ،Framework می تواند به عنوان یک ساختار واقعی یا مفهومی تعریف شود که برای راهنمایی برنامه نویسان جهت توسعه و ساخت برنامه های مفید و پرکاربرد بر روی سرورها تعبیه شده است.

Framework چیست؟

به طور کلی ،Framework   می تواند به عنوان یک ساختار واقعی یا مفهومی تعریف شود که برای راهنمایی برنامه نویسان جهت توسعه و ساخت برنامه های مفید و پرکاربرد بر روی سرورها تعبیه شده است.

در دنیای سیستم های کامپیوتری، یک فریم ورک می تواند به عنوان یک ساختار لایه ای در نظر گرفته شود که به کاربر توصیه می کند چه نوع برنامه ای باید ساخته شود و برنامه ی ساخته شده چگونه باید با سایر برنامه ها هماهنگ شود تا در نهایت یک جزء هماهنگ و مفید داشته باشیم. برخی اوقات فریم ورک ها می توانند شامل برنامه های واقعی نیز باشند، که رابط کاربری ها را مشخص کنند و یا ابزارهای برنامه نویسی را برای استفاده از فریم ورک ها فراهم بیاورند.

اگر بخواهیم دقیق تر به این موضوع بپردازیم، یک فریم ورک نرم افزاری،  یک برنامه عظیم از پیش نوشته شده است که می تواند برای حل مشکلی که در یک ناحیه خاص وجود دارد، به کار گرفته شود. در حقیقت، فریم ورک از کد ما استفاده می کند زیرا معمولا فریم ورک تحت کنترل ما و کدهای ما قرار دارد. ما می توانیم از یک فریم ورک با فراخوانی "متد"، "ارث بری " و یا ایجاد"callback" استفاده کنیم.

یک فریم ورک ، مجموعه ای از کتابخانه های نرم افزاری  و یا کامپوننت ها است که یک برنامه رابط کاربری مشخص را برای ما فراهم می کنند.

یک فریم ورک برخی ویژگی های کلیدی دارد که آن را از کتابخانه ها متمایز می کند. این ویژگی های کلیدی عبارتند از :

Inverted flow of control (جریان کنترلی وارونه):

یک فریم ورک  یک جریان کنترلی وارونه بین خودش و کاربر ایجاد می کند. زمانی که از یک فریم ورک استفاده می کنیم، ما معمولا فقط توابع فراخوانی بازگشتی محدود و یا کلاس های محدودی ایجاد می کنیم و سپس یک متد و یا procedure را به کار می گیریم. در این نقطه، فریم ورک سایر امور را برای ما انجام می دهد، و هر فراخوانی و یا متد دیگری که مورد نیاز باشد را در برنامه در زمان و مکان مناسب وارد می کند که همین موضوع ، رمز پایداری و تداوم فریم ورک ها در گذر زمان است.

Extensibility (قابلیت توسعه):

یک فریم ورک می تواند به وسیله کاربر و کدهای برنامه که توابع خاصی را تولید می کنند، گسترش پیدا کند.

 

Non-modifiable (عدم ویرایش پذیری ):

اصولا کدهای مربوط به یک فریم ورک نمی توانند ویرایش شوند. کاربران تنها می توانند فریم ورک را توسعه بدهند ولی نمی توانند آن را ویرایش کنند.

فریم ورک ها با توجه به مساله ای که در آن به کار گرفته می شوند، انواع مختلفی دارند. این انواع شامل کامپوننت ، توسعه، سرویس ها، دامنه ها ، مفاهیم ، برنامه ها ، پلتفرم و غیره می شوند. اگر بخواهیم نگاه دقیق تری به این مبحث داشته باشیم، می توانیم از جدول زیر استفاده کنیم:

کاربرد فریم ورک ها

یک فریم ورک، در ساخت برنامه های پیچیده بسیار مفید و کاربردی است زیرا اغلب معمولا فریم ورک ، ساختار برنامه را شکل می دهد. برخی از فریم ورک ها حتی از کدهای بیشتری پشتیبانی می کنند و به این ترتیب شما می توانید میزان کدنویسی خودتان را کاهش بدهید. این موضوع می تواند با توجه به میزان دشوار بودن پیاده سازی فریم ورک ها در محیط های مختلف برنامه نویسی، خوب و یا بد باشد.

فریم ورک ها در جاوا

در تکنولوژی جاوا، تعداد زیادی از فریم ورک ها وجود دارند که برنامه نویسان و توسعه دهندگان می توانند از آن ها برای ساخت برنامه های پیچیده استفاده کنند. فریم ورک های موجود در جاوا عبارتند از : ‘Hibernate’, ‘Spring’, ‘Struts’ و غیره...

 مثال

در جاوا، یک مثال بسیار متداول از فریم ورک ها ، GUI framework ها مانند کلاس های AWT و Java Swing  هستند. زیرا آن ها حجم بالایی از کد برای مدیریت رابط های کاربری دارند، و از یک جریان وارونه کنترلی پیروی می کنند، جریان وارونه کنترلی به این دلیل اتفاق می افتند که ما ابتدا یک فریم ورک GUI را راه اندازی کردیم و سپس منتظر ماندیم تا پردازش های بعدی ، به وسیله های فراخوانی های کاربر انجام شود.

برخی اوقات کلاس های Collections هم می توانند به عنوان یک framework در نظر گرفته شوند، زیرا آن ها از لحاظ سایز و پیچیدگی در سطح بالایی قرار دارند. اما آن ها در اکثر مواقع به عنوان یک کتابخانه در نظر گرفته می شوند زیرا هیچ جریان کنترلی وارونه ای در آن ها وجود ندارد. در داخل این کتابخانه ها روند برنامه به صورت فراخوانی ساده متدها در نوبت های از پیش تعیین شده انجام می شود و یا از extended class ها برای ترتیب اجرای متدها استفاده می شود. بعد از اجرا نیز پاسخ ها دریافت می شوند.

این مقاله فقط جنبه ی معرفی framework ها را دارد. امیدواریم از خواندن آن لذت برده باشید.

فریم ورک های تزریق وابستگی (Dependency Injection) درNET.

هنگام طراحی یک برنامه نرم افزاری، نگرانی بزرگی که وجود دارد این است که طراحی برنامه باید بدون محدودیت به هم متصل شود، زیرا پیوستگی برنامه بدون محدودیت، قابلیت نگهداری و تست پذیری بیشتری را دارد.

تزریق وابستگی (DI) وابستگی بین کلاس ها را کاهش داده و پیاده‌سازی‌های پیوسته و انتزاعی (abstraction) را به بیرون از کلاس وابسته منتقل می‌کند و توسعه دهندگان را قادر می سازد تا تغییرات  و پیچیدگی های کدهای نرم افزار که در آینده به وجود می آیند را بهتر مدیریت کنند، بنابراین در نگهداری برنامه به ما کمک می کند. همچنین می تواند با تزریق سازنده (constructor injection)، تزریق تنظیم کننده (setter injection) و تکنیک های تزریق مبنی بر Interface (interface-based injection) انجام شود.

الگوی طراحی تزریق وابستگی (DI) :

IOC (Inversion of Control) و تزریق وابستگی برای حذف وابستگی برنامه ایجاد می شوند. این امر باعث می شود که اجزای سیستم بیشتر از هم جدا و قابل نگهداری باشند. تزریق وابستگی یک الگوی طراحی است که نحوه ایجاد کلاس های متصل به هم را بدون محدودیت نشان می دهد. این الگو از سازنده شیء استفاده می کند تا اشیاء را راه اندازی اولیه (initialize) کرده و وابستگی های مورد نیاز شیء را فراهم کند، به این معنا که به توسعه دهندگان اجازه می دهد تا وابستگی را از خارج کلاس تزریق کنند. چهار راه برای دستیابی به تزریق وابستگی وجود دارد. شکل 1 آن ها را توضیح می دهد.

 

شکل 1: انواع تزریق وابستگی

IOC یک اصطلاح جنریک است. به جای اینکه برنامه متدها را در فریم ورک فراخوانی کند، فریم ورک پیاده سازی های برنامه را فراخوانی می کند. تزریق وابستگی شکلی از IOC است، که پیاده سازی ها از طریق سازنده ها/تنظیم کننده ها/ سرویس های lookup به شیء پاس داده می شوند که روی شیء تزریق خواهد شد و به درستی رفتار خواهد کرد. فریم ورک های تزریق وابستگی برای استفاده از DI طراحی شده اند و می توانند رابط ها (interface) را تعریف کرده تا پیاده سازی ها را آسان کنند.

لیست فریم ورک های تزریق وابستگی :

در زیر لیستی از نگهدارنده های (container) محبوب تزریق وابستگی را شرح می دهیم.

Spring.NET

Spring.NET یکی از فریم ورک های open source محبوب برای تزریق وابستگی است که NET 4.0.، NET Client Profile 3.5. و 4.0، Silverlight 4.0 و 5.0 و Windows Phone 7.0 و 7.1 را پشتیبانی می کند.

Castle Windsor

Castle Windsor یک کانتینر کامل IOC برای .NET و Silverlight است. ورژن فعلی آن 4.0 است که در جولای 2017 منتشر شد. Castle Windsor را می توان از GitHub یا NuGet دانلود کرد. مزایای استفاده از Castle Windsor این است که کامل بوده و با decorator آشناست و به خوبی مستندشده است.

Unity

Unity (Unity Application Block) یک کانتینر تزریق وابستگی کم وزن و توسعه پذیر است که نسبتا پیچیده تر می باشد. Unity  از کانتینر و داده های XML استفاده می کند و پشتیبانی قدرتمندی از XML داشته و با برنامه های WPF  کار می کند. تحت مجوز عمومی مایکروسافت بوده و رایگان است. Unity به صورت‌مسأله هایی که توسعه دهندگان در مهندسی نرم افزار مبتنی بر مولفه با آن درگیرند می پردازد. همچنین شامل افزونه Interception container است که به توسعه دهنگان اجازه می دهد تا مدیریت exception، logging یا حتی کدهای سفارشی خود بین فراخواننده و فراخوانده شده را تزریق کنند.

Structure Map

Structure Map تزریق وابستگی برای .NET است که می تواند برای بهبود کیفیت معماری سیستم شیءگرا با کاهش هزینه های ماشینی تکنولوژی های طراحی خوب مورد استفاده قرار گیرد. تحت مجوز Apache 2 OSS منتشر شده است، رایگان می‌باشد و توسعه‌دهنده می‌تواند آن را دانلود کرده، تغییر دهد و مجددا توزیع کند.

Autofac

Autofac کانتینر IOC برای #Microsoft .NET C، ورژن‌های 3.0 و بالاتر می‌باشد. مجوز آن تحت MIT است. وابستگی‌های میان کلاس‌ها را مدیریت می‌کند، چنان که برنامه‌ها با تغییر در اندازه و پیچیدگی، همچنان آسان باقی بمانند.

Ninject

یک فریم‌ورک تزریق وابستگی همگانی، فوق‌العاده سبک و open source برای .NET، Mono، .NET Compact Framework و Silverlight می‌باشد. مجوز آن تحت Apache 2 است. Ninject به شما کمک می‌کند تا از تکنیک‌های تزریق وابستگی برای شکستن برنامه‌یتان به اجزای کاملا یکپارچه و پیوسته بدون محدودیت استفاده کنید، و سپس آن‌ها را به صورت انعطاف‌پذیر به هم متصل می‌کند.

مزایای تزریق وابستگی :

تزریق وابستگی به جداسازی کلاس‌ها کمک می‌کند. DI و IOC کار را برای توسعه‌دهنده آسان می‌کنند تا بتواند وابستگی بین اشیاء را مدیریت کند. این امر باعث می‌شود تا توسعه‌دهنده راحت‌تر بتواند ارتباطات اساسی را با قراردادهای خود نشان دهد. در نتیجه کدها ماژولارتر می‌شوند. همچنین قابلیت استفاده مجدد کدها افزایش یافته و نگهداری و تست کدها بهبود می‌یابد.

معایب تزریق وابستگی :

درک کد شما می‌تواند سخت‌تر شود. تزریق وابستگی معمولا با افزایش تعداد کلاس‌ها، که همیشه هم مفید نیستند، پیچیدگی کد را بالا می‌برد. به طور کلی مزیت جداسازی، خواندن و درک هر کار را ساده‌تر می‌کند، اما پیچیدگی هماهنگی بین کارهای پیچیده‌تر را افزایش می‌دهد.

تزریق وابستگی منحنی یادگیری بالاتری را دارد. برای درک نحوه استفاده یک پروژه از تزریق وابستگی، توسعه‌دهنده باید هم الگوی تزریق وابستگی و هم فریم‌ورک‌های خاص را درک کند.

با استفاده از فریم‌ورک تزریق وابستگی، کلاینت‌ها به پیکربندی داده وابسته هستند. این کار وقتی برنامه نیازی به پیکربندی سفارشی زیادی ندارد، برای توسعه‌دهندگان یک کار اضافی محسوب می‌شود.

نتیجه‌گیری :

محبوبیت تزریق وابستگی در جامعه توسعه‌دهندگان همچنان رو به رشد است. IOC در مورد اینکه چه کسی شروع به برقراری تماس می‌کند، صحبت می‌کند، در حالی که DI در مورد نحوه دستیابی وابستگی یک شیء روی اشیای دیگر، از طریق انتزاع (abstraction)، صحبت می‌کند. اگر از تزریق وابستگی استفاده می‌کنید، سبک‌های زیادی برای انتخاب بین آن‌ها وجود دارد،. پیشنهاد ما این است که از تزریق سازنده (constructor injection) استفاده کنید.

آموزش کاربردی گرافیک با برنامه نویسی #C

با سلام با یک مبحث دیگر از زبان c# در خدمت شما عزیان هستیم .امیدواریم نهایت استفاده را از این مقاله ببرید .

زبان برنامه نویسی سی شارپ یکی از زبان های بسیار پرکاربرد می باشد. سادگی و کارایی بی نظیر زبان برنامه نویسی #C سبب محبوبیت آن در بین برنامه نویسان شده است.

با یک بررسی ساده مشخص می شود که .net یک چهارچوب بسیار جدید برای توسعه بسیاری از برنامه ها می باشد. این محیط بسیار ساده بوده و زبان برنامه نویسی c# یکی از اصلی ترین و شاید محبوب ترین زبان هایی است که در این محیط ایفای نقش می کند. حجم بسیار وسیعی از برنامه های تحت ویندوز با زبان برنامه نویسی c# نوشته شده اند. امروز قصد داریم این زبان را به صورت کاملا کاربردی توضیح دهیم.

اصول زبان برنامه نویسی c#

برای یادگیری زبان برنامه نویسی c# در ابتدا می بایست با فضای نام و یا name space آشنا شوید. پس از بررسی دقیق این فضا می بایست متغیرها به طور دقیق بررسی شود و به دنبال آن صحبت از ثابت خواهد بود. توجه نمایید که ثابت ها از دسته ابزارهای بسیار مهم و اساسی در برنامه نویسی c# هستند. عملگرهای ریاضی و شرطی نقش حیاتی در آموزش برنامه نویسی c# دارند و قطعا ساختارهای کنترلی پر تکرار نیز سبب می شود که شما دقیقتر نتیجه گیری کنید. آرایه ها به نوعی نقش ابزارهای کمکی برای این زبان را ایفا می کنند.

معرفی دستورات گرافیکی برنامه نویسی c#

در ابتدا می بایست سطوح دسترسی ترسیم شود و به دنبال آن سطوح مختصات با توجه به شرایط دکارتی کشیده شود. بررسی رویداد paint از طریق فرم های مختلف صورت می گیرد. می بایست متدهای Override به صورت دقیق انجام شود و شی های ghraphics نیز در محل دقیق خود قرار بگیرد.

در پنل گرافیکی برنامه نویسی c# ساختار color وجود دارد که در خصوص رنگ دهی به طور دقیق از سایه زنی های تیره و روشن استفاده می نماید. ساختار point سبب نقطه دهی و یا جانمایی دقیق هر شی شده و ساختار size به سایز دهی دقیق هر شی گرافیکی کمک می نماید. می بایست کار با brush به طور دقیق آموزش داده شود، این ابزار سبب می شود که بعدهای گرافیکی مختلف به طور دقیق طراحی شوند. عموما متدهای کلاس pen برای جزییات به کار می رود و شما می توانید از این ابزار به صورت روتین استفاده نمایید. در نظر داشته باشید که کشیدن نقش های مختلف در محیط های گرافیکی با استفاده از زبان c# بسیار ساده و قابل قبول می باشد.

پیاده سازی مربع تو در تو

برای پیاده سازی پروژه های مختلف به زبان c# می بایست در ابتدا منطق برنامه به طور دقیق مشخص شود. به عنوان مثال برای پیاده سازی مربع های تودر تو نیاز به تعریف شی های مختلف بوده که قرار است نقش مربع را ایفا نمایند. به این ترتیب مربع ها در یک محیط به صورت تصادفی پخش می شوند و هر مربعی که به طور کامل مربع دیگر را پوشش دهد از دسته مربع های تودر تور محسوب می شود و یا به نوعی دارای هم پوشانی خواهد بود. برای یادگیری زبان برنامه نویسی c# می بایست در ابتدا از پروژه های کوچک شروع نمایید و سپس به سراغ کارهای بزرگ بروید. در این پروژه نیاز به متد براش به صورت کاملا دقیق بوده و حتی متدهای formHwnd نیز مورد استفاده قرار خواهد گرفت. گاه دیده می شود که مربع های تو در تو به وسیله متدهای بازگشتی نیز اعمال می شود.

پروژه سیاه و سفید کردن تصاویر

برای طراحی این پروژه استفاده پرتکرار از متد  fromImage صورت می پذیرد. این متد به تصویرسازی دقیق کمک می کند. در این پروژه در ابتدا می بایست نوع تصویر انتخاب شده وارد فرم های دقیقی شوده و تمامی پیکسل های ان به صورت قطعه بندی شده کدنویسی شود. استفاده از متدهای درست در این روش شما را به نتیجه نزدیکتر خواهد نمود. سپس با استفاده از مختصات مربوط به هر قسمت می بایست رنگ دانه های هر تصویر گرفته شده و تصاویر حالت بی رنگ به خود بگیرد. متد color از دسته ابزارهای اصلی این پروژه می باشد. دقت کنید که شکل ها می تواند به صورت نقطه نقطه نیز مورد بررسی قرار بگیرد. زبان c# این پروژه را به سادگی به مرحله اجرا می رساند. دقت کنید که در این پروژه قطعا می بایست کیفیت تصویر حفظ شود. پیاده سازی برنامه نویسی c# در محیط .net به این موضوع کمک شایانی می نماید.

پیاده سازی بازی با زبان c#

در ابتدا به پیاده سازی بازی snake با زبان c# می پردازیم. این بازی می بایست با استفاده از متدهای کنترلی صورت پذیرد. در واقع کنترل ها می بایست از طریق صفحه کلید حرکت نماید و به این صورت شما می توانید کنترل دقیقی بر روی آن داشته باشید.

بازی بعدی که به زبان c# پیاده سازی شده است حرکت اجسام در محیط با دیواره های مختلف می باشد. در واقع اجسام می بایست در یک مسیر به دنبال هم حرکت نمایند و همینطور جسم هدف در برخورد با اشیا ناپدید شود. در نوع پیشرفه این بازی دیده شده است که برخورد اجسام با دیوارهای صفحه به طور دقیق بررسی می شود. برنامه نویسی c# پیشرفته اجازه داده است که این بازی به نوع برخورد اجسام به یکدیگر نیز ادامه دار باشد.

با توجه به بررسی های انجام شده مشخص شد که کاربرد زبان برنامه نویسی c# بسیار زیاد بوده و زبان برنامه نویسی c# استاندارد دارای یک سری قوانین مشخص می باشد.

 

کد نویسی سریع با سیگنالکو

سیگنالگو ابزاری قدرتمند با امکانات فراوان برای توسعه برنامه های تحت شبکه و اینترنت می باشد.با سیگنالگو بعد از ساخت اپلیکیشن سمت سرور میتوانید بدون یک خط کد سمت کلاینت برای Blazor و Angular و Asp.net MVC و Asp.net Core و C# Core مدل ها و سرویس هاتون رو بسازید و شروع به کد نویسی کنید.

همیشه با خودم فکر میکردم کاش یه راه راحت تر و بهتری بود که برنامه نویسان مجبور نباشن کد های سمت سرور رو برای سمت کلاینت مجدد تکرار کنن، حتی یک خط کد اضافه روی اعصاب بود.بعد از این سیستم هایی اومد که در واقع باهاش میتونستید یک پروژه ی Share بسازید و بین کلاینت و سرور کدها و مدلهاتون رو Share کنید یا از ابزار هایی استفاده کنید که بنظرم بدی های خودش رو داره، اول اینکه کلاینت درگیر مدل هایی میشه که شاید اصلا نیازی نباشه ببینش، مثلا شما پروژه ی EF Core تون که توش مدل های دیتابیس هست رو با کلاینت شیر میکنید، خوب علاوه بر اینکه Context ها و Config هاتون شیر میشه Dependecy هاش هم شیر میشه، برنامه نویس اندروید یا IOS یا Blazor که سمت وب یا موبایل هست چرا باید Dependency از نوع EF Core داشته باشه در حالی که شاید اصلا نیاز نداشته باشه؟ خوب این خودش به نوعی کثیف کاری میشه، درگیر شدن کلاینت با دیدن خصیصه (Attribute) هایی نظیر Key و ForeignKey و غیره... یا برای سمت کلاینت اگر بخواید سیستم INotifyPropertyChanged رو پیاده سازی کنید جهت استفاده Binding ها مجبور میشید از ابزار های تزریق کد استفاده کنید که بزور به مدل ها زمان کامپایل یه سری تغییرات سمت کلاینت ایجاد کنند.حالا با این حال کسانی که انگولار و Type Script کار میکنن چیکار کنن؟ نمیتونن که از Dependency های سی شارپ استفاده کنن پس مجبور میشن مدل سازی کنن و کلی کد بزنن.اگر شما پروژه ای بزنید که فقط سی شارپ کارا ازش استفاده کنن یا قابل توسعه با زبان های دیگه نباشه در واقع شما نمیتونید یک شرکت بزرگ باشید، چون برنامه نویس های حرفه ای ممکنه هر زبانی بلد باشند و شما با اینکار نمیتونید از همه شون استفاده کنید پس همیشه دنبال برنامه نویس حرفه ای خاصی میگردید و این خودش همیشه از شما زمان خواهد گرفت.

خلاصه به دلایل خیلی زیاد که فقط من کمتر از ده درصدش رو در بالا ذکر کردم پروژه ی سیگنالگو تولید شد.این پروژه به شما اجازه میده علاوه بر اینکه بسیار سریع، دقیق و تمیز سمت سرور کد بزنید، هر چیزی که برای کلاینت لازمه رو بدون هیچ دستکاری و کد زدنی تولید کنه و کلاینت بدون هیچ کد زدنی تمامی سرویس ها، توابع و مدل ها و ... براش تولید میشه. اگر کلاینت سی شارپ کار باشه براش کد سی شارپ تولید میشه و اگر انگولار کار باشه براش کد و سرویس های مخصوص Angular تولید میشه.بنابراین کلاینت فقط درگیر کارای خودش میشه و براحتی میتونه توابع خودش رو صدا بزنه بدون اینکه همیشه درگیر تغییرات جدید سمت سرور باشه، هر بار که سرور تغییرات توی توابع و مدل هاش ایجاد کنه، برای کلاینت مجدد بروزرسانی شده و کدهاش ساخته میشه، پس بازم کلاینت درگیر تغییرات نمیشه.

علاوه بر همه ی اینها برنامه نویس سرور میتونه از ابزار SignalGo test که در بالا عکسش رو میبینید در قالب یک کلاینت کامل توابع و سرویس هاشو صدا بزنه بدون اینکه نیاز به وجود و یا برنامه نویسی یک کلاینت جدید باشه.

سیگنالگو قابلیت های خیلی خیلی زیادی داره که من فقط بخش کوچکی از راحتی کار شما برنامه نویسان رو اینجا آوردم، این پروژه ی بزرگ و متن باز (Open Source) حتی قابل مقایسه با SignalR و WCF نیست.چون علاوه بر اینکه برای همه ی پلتفرم ها قابل استفاده هست، بسیار سریع و قدرتمند با امکانات بی نهایت، به شما این اجازه رو میده براحتی کد بزنید و سریع تر از همیشه خروجی بگیرید و کمتر باگ بزنید. هرچه سریعتر شروع کنید با سیگنالگو کار کنید از برنامه نویسان دیگه جلوتر و سریعترید.من سیگنالگو رو تولید کردم و هر روز در حال توسعه ی اون هستم و هدفم جلوگیری از ایجاد کدهای تکراری و سریعتر شدن برنامه نویسان و ایجاد لایه های برنامه نویسی بسیار دقیق و خوانا و زیبا برای اپلیکیشن های خیلی بزرگ هست.

دسترسی به سورس سیگنالگو :

https://github.com/SignalGo/SignalGo-full-net

ابزار تست سیگنالگو :

https://github.com/SignalGo/SignalGoTest

افزونه ی کد جنرتور سیگنالگو برای ویژوال استادیو :

https://marketplace.visualstudio.com/items?itemName=AliVisualStudio.SignalGoExtension

سمپل ها و مثال ها :

https://github.com/SignalGo/signalgo-samples