انجام پروژهای برنامه نویسی asp.net

انجام پروژهای برنامه نویسی asp.net

انجام پروژهای برنامه نویسی asp.net

انجام پروژهای برنامه نویسی asp.net

راحی سایت با زبان asp.net

تعریف برنامه نویسی تحت وب با asp.net

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

ASP مخفف کلمه Active Server Pages است و یک  محیط منحصر به فرد برای شرکت مایکروسافت به حساب می آید ، این زبان برنامه نویسی اکنون قدیمی  شده است و جای خود را به زبان اسکریپت نویسی ASP.NET داده است. در همینجا به این نکته اشاره کنم که در واقع ASP.NET یک زبان برنامه نویسی طراحی سایت نیست
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
تکنولوژی برنامه نویسی وب با استفاده از دات نت است، شما می توانید با #C  یا زبان های برنامه نویسی دیگر دات نت ASP.NET بنویسید

بیشتر شرکت ها و سازمان های بزرگ برای برنامه نویسی تحت وب خود از زبان برنامه نویسی  asp.net  استفاده می کنند

نرم افزاری که بیشترین هماهنگی  را با زبان asp.net   دارد به عنوان Microsoft Visual Studio شناخته می شود که در واقع محیط برنامه نویسی مایکروسافت است

معمولا تعداد خط کدی که باید برای یک طراحی سایت asp.net   نوشته شود نسبت به    php بالاتر است برای همین طراحی سایت asp.net زمان بیشتری را از برنامه نویس سایت می گیرید تا php
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
مثلا شما یک تک کد اضافه یا کم کنید برنامه دوباره باید کامپایل شود برای همین برنامه نویسی با asp.net حوصله و صبر زیادی را می خواهد

هاست طراحی سایت asp.net  وب سرور شرکت مایکروسافت که همان IIS است می باشد و پایگاه داده آن Microsoft SQL Server است
پایگاه داده sql server
نکته  در زبان برنامه نویسی asp.net :
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
ASP.NET و IIS هر دو نرم افزارهایی رایگان هستند اما برنامه نویسی برای لایسنس ویندوز بایستی پول پرداخت کند و از طرفی نرم افزار Visual Studio نیز نرم افزار گرانی هست پشتیبانی زبان برنامه نویسی ASP.NET توسط وب سایت و مرجعی به نام MSDN انجام می گردد  که مخفف کلمه Microsoft Software Developer Network است

ASP.NET تحت برند مایکروسافت است و این یعنی بسیاری از زبان های برنامه نویسی دیگری را یا  Platform های دیگر را پشتیبانی نمی کند اما به شما امکانات بسیار ساده ای برای شروع طراحی سایت و برنامه نویسی  می دهد ، ماژول های آماده و محیطی ساده و رابط کاربری آسان برنامه نویسی را برای کاربران لذت بخش می کند
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
توجه کنید که یکی از مشکلاتی که در دنیای برنامه نویسی و طراحی سایت با asp.net   وجود دارد هزینه ای است که برای خرید نرم افزارهای آن باید صرف کرد  ، اما ما در ایران هستیم و هیچ هزینه ای برای خرید این نرم افزارها نمی کنیم  چقدر هم خوب ، پس طراحی سایت با  ASP.NET می تواند گزینه مناسبی برای برنامه نویسی وب باشد

آخرین نگارش  ASP.NET نسخه چهارم این زبان است که در آن توجه زیادی برروی معماری سه لایه یا MVC داشته است
ویژگی زبان برنامه نویسی asp.net

با استفاده از برنامه نویسی asp.net ، می توان سایت هایی زیبا و جذاب را طراحی و کدنویسی کرد

صفحات ASP  شامل دستورات و فایل هایی و  (تگهای HTML) ، متن و دستورات اسکریپت هستند

با استفاده از برنامه نویسی asp.net ، می توان اطلاعات متفاوتی را از طریق فرمهای موجود در صفحات سایت  جمع آوری و پردازش مورد نظر را انجام داد
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
جهت ایجاد سایت های با زبان  ASP در برنامه نویسی asp.net، می توان از زبان های اسکریپت متعددی نظیر vbscript , Jscript , perl , rexx بهره برد

سایت هایی با زبان  ASP می توانند اجزای Activex را جهت انجام عملیات خاصی نظیر اتصال به یک بانک اطلاعاتی و یا محاسبات تجاری مورد برنامه نویس را به راحتی انجام دهند

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

آموزش طراحی سایت ASP.NET

فیلم دوره آموزشی تصویری طراحی سایت ASP.NET با نرم افزار Visual Studio 2010 و زبان برنامه نویسی سی شارپ + HTML + CSS + SQL Server شامل تمامی مباحث طراحی وبسایت مانند طراحی صفحات وب ، امنیت ، بانک اطلاعاتی و سئو بوده که به صورت مجموعه تصویری کامل از مبتدی تا پیشرفته به زبان فارسی و بیان ساده آموزش گام به گام آماده گردیده است.
 azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

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

 
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
در فیلم آموزش ASP.NET سعی نموده ایم از صفر تا صد آموزش طراحی سایت در ASP.NET را تدریس نماییم لذا عزیزانی که آشنایی زیادی با زبان برنامه نویسی C# HTML CSS SQL JQuery WebApplication Ajax ندارند نگران نباشند زیرا با بیان دوستانه و راحت از ابتدا کامل توضیح داده شده و برنامه نویسی تحت وب شی گرا به شکل پروژه محور برای یک وبسایت حرفه ای پیاده سازی گردیده است.

 azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

توانایی های کسب شده پس از پایان دوره :
با طراحی پروژه مربوط به دوره آموزش مجازی طراحی وب سایت تفریحی خبری ASP.NET ، شما توانایی راه اندازی یک وبسایت داینامیک را خواهید داشت و اگر بتوانید در طول دوره آموزشی به صورت مستمر به انجام پروژه بپردازید پس از اتمام دوره می توانید به عنوان طراح سایت در بازار مشغول به کار شوید.
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276


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

 
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
بررسی مهندسی نیازها برای طراحی سایت تفریحی خبری با استفاده از زبان برنامه نویسی HTML + CSS + C# + ASP.NET + SQL Server
معرفی سایت Dynamic و سایت Static
طراحی ظاهر کلی سایت با فتوشاپ به فرمت PSD
تعریف بخش های Header و Menu و Container و Footer
انتخاب نرم افزار Visual Studio 2010 برای محیط کار طراحی سایت ASP.NET
آشنایی با Visual Studio و نحوه بکار گرفتن آن برای برنامه نویسی Web
آشنایی مقدماتی با برخی از قسمت های Visual Studio 2010 مانند Toolbox ، Server Explorer ، Solution Explorer و Properties
پیاده سازی و ایجاد سایت با زبان برنامه نویسی HTML و CSS از روی طرح عکس سایت
تعریف NET.
ساخت و طراحی صفحه مسترپیج یا Master Page
معرفی قسمت های کد نویسی و طراحی مانند Source یا Split یا Design
آموزش برنامه نویسی HTML و CSS در حین انجام پروژه
طراحی و ساخت بخش Header
طراحی و ساخت بخش Menu و اجزای منو

 
   

 
 azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

طراحی و پیاده سازی بخش Container و Footer با زبان اسکریپت نویسی HTML و CSS
ستون بندی بخش Container که دارای دو تگ DIV خواهد بود
دو ستونه کردن قسمت Container ستون سمت چپ برای طراحی قسمت Sidebar یا ستون کناری قالب و ستون سمت راست جهت طراحی بخش قالب پست های مطالب سایت

 



azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

تعریف ASP.NET
معرفی انواع گرایش در طراحی سایت : رویکرد سمت سرور Server Side و رویکرد سمت کاربر Client Side
آشنایی با بانک اطلاعاتی و معرفی SQL Server
معرفی تکنولوژی ADO.NET برای ارتباط با نرم افزار بانک اطلاعاتی
آموزش طراحی و ساخت دیتابیس و ایجاد جداول پایگاه داده همراه با ستون و سطر جدول در Visual Studio 2010
جمع آوری نیازهای طراحی دیتابیس برای طراحی سایت و مهندسی نیازها برای ساخت جدول و ستون و سطر در دیتابیس
طراحی بخش های مختلف برای Database شامل جدول مطالب سایت + جدول موضوعات سایت + جدول نظرات خبرها + جدول پیوند یا لینک ها + جدول تماس با ما
معرفی کلید اصلی جدول یا Primary Key
مدیریت دیتابیس و ایجاد ارتباط بین دیتابیس و صفحات ASP.NET
آشنایی با کوئری در اس کیو ال سرور
تعاریف کنترل و کلاس های SQL شامل Dataset و TableAdapter و Sqlconnection و Sqlcommand و Sqldata Adapter
ایجاد و کدنویسی Query برای جداول دیتابیس به زبان برنامه نویسی SQL Server



آشنایی با مفاهیم Web Form ها


azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

ایجاد صفحه های ASP.NET برای ارتباط با داده ها در دیتابیس و مدیریت Database

بهینه سازی برخی از کدهای اچ تی ام ال و سی اس اس بر اساس اصول سئو یا SEO
معرفی margin در CSS
تراز کردن سایت با استفاده از Clear:Both در CSS
سایه دار کردن نوشته یا متن توسط Text-Shadow در CSS
ساخت قسمت ادمین یا مدیریت در پروژه طراحی سایت
ایجاد صفحه مدیریت ارسال مطلب در بخش صفحات مدیریت سایت جهت ارسال خبر ، حذف خبر و ویرایش اخبار
آشنایی با روشهای اتصال به داده ها بصورت خودکار Data Binding
ساخت مسترپیج برای صفحات مدیریت بخش Admin
معرفی کنترل Gridview و اتصال گریدویو از صفحه aspx به دیتابیس
آشنایی با ابزار Textbox + Label + Button + Dropdownlist + FileUpload در جعبه ابزار Visual Studio 2010
کدنویسی با زبان برنامه نویسی سی شارپ یا #C برای ارسال مطلب
نمایش اخبار و مطالب در صفحه نخست سایت
نمایش موضوعات سایت یا Categories در Masterpage
معرفی کنترل Datalist برای ایجاد ارتباط بین دیتابیس و صفحه aspx
آشنایی با متد QueryString
طراحی دکمه ادامه مطلب با استفاده از کوئری استرینگ در ای اس پی دات نت
ساخت صفحه ادامه مطلب یا shownews.aspx با کمک Query String

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
 
طراحی صفحه موضوعات یا showcats.aspx برای نمایش اخبار مربوط به موضوعات خاص با استفاده از QueryString
آموزش قرار دادن آیکون در کنار اسم سایت با درج Favicon
طراحی بخش لینکستان یا لینکدونی برای سایت
ساخت صفحه مدیریت لینک ها با زبان برنامه تویسی C# + CSS + HTML

طراحی آمار بازدید مطالب با استفاده از کوئری و کدنویسی به زبان برنامه نویسی اسکیوال سرور و سی شارپ
تعریف Query String
آموزش تقلب در نمایش تعداد بازدید مطالب سایت ASP.NET

 azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
طراحی اسلایدشو یا Slide Show با عکس آخرین مطالب توسط تگ Marquee
تقسیم فوتر سایت به سه بخش شامل آخرین نظرات سایت ، آخرین مطالب و پربازدیدترین مطالب سایت
ساخت بخش آخرین مطالب سایت با کنترل Datalist
طراحی صفحه مدیریت موضوعات یا Categories برای بروزرسانی و حذف و درج موضوع جدید با کمک کد سی شارپ و کنترل Gridview

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
یک ساعت و سی و هشت دقیقه – ۱۹۲ مگابایت

طراحی بخش نظرات سایت یا Comment برای سایت ASP.NET
درج قسمت نظر پایین هر مطلب با استفاده از کوئری استرینگ
معرفی ViewState و QueryString
آشنایی با Input Validation برای بررسی صحت داده های ورودی
طراحی گرافیکی بخش ارسال نظر با فتوشاپ و زبان برنامه نویسی HTML و CSS
ساخت صفحه مدیریت نظرات برای حذف و ویرایش و ارسال دیدگاه مدیر با کنترل Detailview


ساخت بخش آخرین نظرات سایت با استفاده از کدنویسی SQL + CSS+ HTML
طراحی صفحه تماس با ما یا Contact Us با کدنویسی به زبان برنامه نویسی C# + HTML + CSS
ایجاد صفحه مدیریت تماس با ما برای حذف و نمایش با استفاده از کنترل Gridview

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
ساخت کنترل پنل مدیریت برای دسترسی به صفحات مدیریت
طراحی صفحه ثبت نام یا صفحه عضویت
طراحی صفحه ورود کاربر یا Login.aspx
تعریف نقش یا Roles برای نقش ادمین و نقش کاربر معمولی در سایت ASP.NET
تعیین Rules یا سطح دسترسی صفحات مدیریت فقط برای نقش ادمین
آموزش ASP.NET Configuration
آموزش مسائل امنیتی یا Security در ASP.NET
ساخت کاربر ادمین برای سایت ASP.NET با یوزرنیم و پسورد برای ورود به بخش مدیریت سایت
معرفی کنترل Login در Visual Studio 2010 شامل Login Status + Login Name + Login View + Login + Create User Wizard
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
ساخت بخش جستجو یا Search در سایت ASP.NET
جستجوی بهینه سازی شده با اصول سئو یا SEO بدون کدنویسی های زمانبر و اضافه
طراحی صفحه جستجو یا search.aspx به وسیله متد QueryString و کنترل Datalist
کدنویسی به زبان برنامه نویسی C# + SQL Server به همراه معرفی Like در زبان SQL
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
سئو و بهینه سازی عنوان یا Title صفحات سایت ASP.NET
عنوان گزاری اتوماتیک صفحه های سایت ASP.NET
معرفی انواع بهینه سازی سایت شامل سئو درونی سایت یا On Page Seo Optimization و سئو بیرونی سایت یا Off Page Seo Optimization
ساخت عنوان برای صفحات ادامه مطلب با کدنویسی Page.Title و زبان برنامه نویسی سی شارپ
دریافت عنوان مطلب از دیتابیس به وسیله کدنویسی کوئری در دیتاست
ساخت عنوان برای صفحات موضوعات مطالب با کد C# Page.Title

 

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

طراحی بخش محبوبترین خبرها یا پربازدیدترین مطالب سایت
نوشتن کوئری SQL در دیتابیس برای پربازدیدترین مطالب
ایجاد صفحه آپلودسنتر برای سایت ASP.NET با زبان برنامه نویسی C# + CSS + HTML
ساخت جدول جدید در دیتابیس برای آپلودسنتر و ایجاد دیتاست و نوشتن اس کیو ال کوئری های مورد نیاز برای Upload Center
تعریف فرمت فایل های مجاز برای آپلود از طریق کدنویسی سی شارپ
ساخت صفحه در ادمین پنل جهت مدیریت فایل های آپلود شده در آپلودسنتر
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
طراحی چت روم ساده با زبان برنامه نویسی HTML + CSS + C# + ASP.NET + SQL Server
ایجاد دیتابیس و نوشتن SQL Query به همراه ایجاد جدول و ستون های جدول chat در دیتابیس
فراخوانی داده ها در صفحه ASP.NET از دیتابیس به وسیله کنترل Datalist
ساخت صفحه مدیریت چتروم برای پیام های chatroom
معرفی AJAX و بهینه سازی کدهای سمت سرور در ASP.NET
مثالی برای Ajax استفاده google suggest از ajax
نمایش تاریخ و زمان با استفاده از ASP.NET و تکنولوژی Ajax
آشنایی با بخش Ajax Extensions از Toolbox در Visual Studio 2010 که شامل کنترل Timer + Script Manager + Update Pane


چگونگی ساخت شمارنده برای بازدیدکنندگان سایت ASP.NET
تعریف شمارنده برای به دست آوردن آمار بازدیدکنندگان سایت
معرفی Application State
معرفی کلاس سراسری Global.asax
معرفی Session
ایجاد Gobal Application Class
تعریف سشن بازدیدکننده در کلاس سراسری ASP.NET
نمایش تعداد بازدیدکننده های سایت در صفحه ASP.NET با استفاده از فراخوانی Session با کد سی شارپ یا C# Counter

یک مگابایت

آشنایی با asp.net core - مقدمه ای بر مزایای نسخه جدید asp.net

آموزش ASP.NET Core
کسانی که تکنولوژی های مایکروسافت به ویژه asp.net را دنبال می کنند یکی دو سالی هست که با شنیدن خبرهایی نظیر "متن باز شدن دات نت"، "قابلیت اجرا بر روی بسترهای غیر ویندوز مثل لینوکس و os x با سوالهایی مواجه می شوند.  دلیل این تغییرات چیست؟ این تغییرات موجب چه بهبودهایی در فضای توسعه نرم افزار های تحت دات نت می شود؟ آیا مایکروسافت قصد دارد از تکنولوژی های قبلی پشتیبانی کند یا من باید سراغ تکنولوژی جدید بروم؟ برای پاسخ به سوالهایی از این دست شاید بهترین کار پس از آشنایی اولیه، تجربه ی یک پروژه کوچک باشد. قصد داریم در این مقاله کوتاه به معرفی اولیه از asp.net نسخه جدید یا همان نسخه  asp.net core  بپردازیم.
برای کسانی که برای توسعه وب سایت از تکنولوژی web forms استفاده می کنند شاید تغییرات خیلی زیاد به چشم بیایند. بنابراین توصیه می شود ابتدا asp.net mvc نسخه های قبلی یعنی تا نسخه ۶ را اندکی تجربه کنند. اما برای کسانی که تجربه کدنویسی در چارچوب الگوی mvc را دارند  تغییرات کاملا نرم و ملموس هستند. تیم asp.net سعی کرده است در نسخه جدید asp.net که تنها بر بستر mvcاست از لحاظ مفهومی سازگاری را حفظ کند با اینکه تمام کتابخانه ها و توابع از ابتدا نوشته شده اند. بنابراین اگر شما در asp.net mvc6 کلاسی با نام controller دارید در  asp.net core هم همین کلاس را دارید با این تفاوت که این کلاس در namespace  دیگری قرار دارد.  به این رویکرد سازگاری مفهومی یا concept compatibility گفته می شود.

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276


اما ابتدا اجازه دهید به چند مورد از نقص های asp.net mvc نسخه های قبلی اشاره کنیم تا نیاز به چارچوب جدید را بهتر درک کنیم.

۱. محدود بودن به وب سرور iis بر روی ویندوز؛ تا امروز شما مجبور بودید از وب سرور iis استفاده کنید. شما گزینه دیگری به جز هاست ویندوز و استفاده از iis نداشته اید. این یعنی شما برای یک وب سایت بسیار ساده با چندapi  و چند صفحه htmlباید از وب سرور غول پیکری مثلiis استفاده می کردید و اگر هاست لینوکس با نصف قیمت هاست ویندوز به شما پیشنهاد می شد باید آن را رد می کردید.
۲. قرار گرفتن requestها در مسیری طولانی از handlerهاو  ماژول ها؛ برای یک وب اپلیکیشن ساده از آغاز session تا اعتبارسنجی درخواست و چندین و چند دالان برای نهایی شدن درخواست و گرفتن پاسخ نهایی، تا امروز امری عادی و اجتناب ناپذیر محسوب می شد.
۳. بیگانگی کامل با چارچوب های مدیریت پکیج های سمت کاربر مثل bower, npm, gulp و ... ؛ در سالهای اخیر پیشرفت های زیادی در زمینه مدیریت پروژه ها و پلاگین های سمت کاربر صورت گرفته اما در نسخه های قبلیasp.netامکان استفاده از این چارچوب ها وجود ندارد
۴. دات نت فریم ورک تا قبل از این پروژه ای انحصاری بوده است؛ علیرغم متن باز شدن بسیاری از پروژه ها و چارچوب های نرم افزاری و قرار گرفتن آنها بر روی github پروژه دات نت سالهای متمادی از این امکان بی بهره بود
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
مسایل بالا عمده (و نه همه) نقص هایی بودند که موجب شدند تا تیم دات نت به فکر ایجاد بستری جدید باشند:
بستری سبک، با عملکرد بالا و با قابلیت توسعه و استقرار نرم افزار در محیط های غیر ویندوز.

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


هم چنان که در تصویر بالا مشاهده می کنید پروژه asp.net core هم می تواند:
1- مانند قبل تحت نسخه کامل دات نت فریم ورک یعنی نسخه 4.6  و یا کمتر بر روی  ویندوز و وب سرور iis منتشر شود.
2-  می تواند بر روی دات نت core بر روی هر یک از بسترهای ویندوز، لینوکس یا os x اجرا شود.

تصمیم با شماست. اگر می خواهید پروژه نوشته شده با asp.net  بر روی هاست لینوکسی منتشر شود یا اگر می خواهید بدون اینکه مجبور باشید  iis موجود بر ویندوز را به روزرسانی کنید پروژه خود را بر روی  آخرین نسخه .net core  منتشر کنید، از گزینه دوم استفاده کنید؛  اما اگر فقط می خواهید از قابلیت های جدید asp.net core (یعنی فقط لایه ی نهایی در شکل بالا) استفاده کنید گزینه اول برای شما مناسب خواهد بود.

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

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

قبل از  ایجاد یک پروژه asp.net core شما باید دو کار اساسی را انجام دهید:
1- ارتقای visual studio به نسخه visual studio 2015 update 3
2- نصب net core tools.
برای این منظور از آدرس زیر هم می توانید نسخه رایگان ویژوال استادیو یعنی نسخه community   و هم مجموعه ابزارهای لازم برای .net core را دانلود و نصب کنید:
https://www.microsoft.com/net/core#windowsvs2015
پس از ارتقای ویژوال استادیو و نصب ابزارهای لازم برای .net core مطابق تصویر زیر اقدام به ایجاد یک پروژه asp.net core خواهیم کرد. لطفا به تصویر زیر دقت کنید.


 
هم چنان که در قسمت وسط مشاهده می کنید سه گزینه رو به روی ما قرار دارد:
1- ایجاد یک پروژه asp.net استاندارد بر اساس دات نت فریم ورم 4.6.1
2- ایجاد یک پروژه asp.net core براساس .net core یا core CLR
3- ایجاد یک پروژه asp.net core بر اساس دات نت فریم ورم 4.6.1
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
گزینه اول که موضوع صحبت ما نیست و همان رویکرد گذشته است که شما با آن آشنا هستید. اما گزینه دوم همان چیزی است که پیشتر به آن اشاره کردیم که اگر می خواهید پروژه شما در بسترهای چندگانه اجرا شود آن را انتخاب کنید اما اگر نیاز شما به ویندوز محدود می شود و  نیاز جدی به قابلیت چند بستری ندارید گزینه سوم را انتخاب نمایید. دقت کنید که با انتخاب گزینه دوم شما دات فریم ورک کامل در اختیار ندارید و بسیاری از توابع و کلاس هایی که تا امروز به صورت پیش فرض آن ها را بخشی عادی از فرآیند توسعه وب سایت خودمی دید وجود ندارد و در عوض باید در nuget.org به دنبال  آنها بگردید. اجازه دهید همین گزینه دوم را انتخاب و تجربه کنیم. با انتخاب این گزینه و دادن نام مناسب به پروژه آن را ایجاد کنید(دقت کنید که پس از ok کردن پنجره بالا پنجره ای دیگر به شما نشان داده  می شود که در آن قالب اولیه پروژه را انتخاب می کنید. گزینه سوم یعنی web application را انتخاب کنید).
تصویر زیر بخش های این پروژه asp.net core را نشان می دهد:


azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
همانطور که ملاحظه می کنید یک پروژه mvc با پوشه های پیش فرض Views و controllers ایجاد شده اما بقیه موارد تقریبا نسبت به گذشته تغییر کرده است. اما در زیر توضیحی مختصر راجع به برخی موارد ارائه می کنیم و توضیح مفصل تر و کاربردی تر هر بخش را به مقاله بعد ارجاع می دهیم.
1- پوشه wwwroot: این پوشه محلی برای ذخیره فایل های استاتیک شامل تصاویر، html ، css و جاوااسکریپت، فونت ها و ... است. در واقع به صورت پیش فرض شما می بایست تمام منابع استاتیک پروژه خود را در این پوشه قرار دهید. زیر پوشه های موجود در  wwwroot به اندازه کافی گویا هستند اما پوشه lib محل قرار دادن کتابخانه ها و پلااگین های آماده موجود در وب هستند. مثلا کتابخانه jquery به همراه نسخه min آن و احیانا سایر فایل های دیگر در زیر پوشه ای با عنوان jquery در wwwroot قرار می گیرند و شما بهتر است آنها را تغییر ندهید.
2- فایل های json. : این فایل ها شامل تمام تنظیمات لازم برای توسعه و انتشار پروژه شما هستند. فایل project.json مهم ترین فایل و بیانگر اکثر تنطیمات و نیز کتابخانه های مورد استفاده شما خواهد بود.
3- بخش Dependencies : این قسمت به شما امکان استفاده از سیستم Bower برای مدیریت پکیج های سمت کاربر مانند پلاگین ها و کتابخانه های جاوااسکریپتی  را میدهد. در واقع پوشه lib در wwwroot توسط این قسمت کم و زیاد می شود. در آینده به طور مفصل در این رابه صحبت خواهیم کرد.


azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

4- فایل Program.cs : این فایل همان فایل است که در پروژه های console application قبلا آن را دیده اید. این فایل نقطه شروع اجرای برنامه شامل  تابع معروف void Main است. وب سرور مورد استفاده، معرفی فایل Start up، معرفی مسیر فایل های استاتیک یعنی  همان wwwroot د راین فایل اتفاق می افتد.

5- فایل Startup.cs : این فایل دو وظیفه اصلی دارد. یکی ایجاد مجموعه ای از middle ware ها یا میان افزارها که بر مسیر یک درخواست http  قرار می گیرند تا پاسخ مناسب به کاربر برگردد (مثلا میان افزار mvc یا میان افزار log) و دیگری تزریق وابستگی  برای  استفاده از سرویس ها در سرتاسر پروژه
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
امیدواریم از توضیحات داده شده که عمدتا انتزاعی و مفهومی بودند خسته نشده باشید و منتظر مقالات بعدی برای بررسی عملی  قسمت های مختلف یک پروژه asp.net core باشید. اما به طور خلاصه در این مقاله به معرفی نسخه جدید asp.net یعنی asp.net  core پرداختیم. مختصرا متوجه شدیم که چرا مایکروسافت به این نسخه روی آورده و یاد گرفتیم که برای کاربرد مورد نظر خود از نسخه کامل دات نت فریم ورک استفاده کنیم یا از .net core.  شما موفق شده اید که asp.net core را راه اندازی کرده و اولین پروژه آن را ایجاد کنید.

ASP.NET Core MVC چه مزایایی نسبت به نسخه های قدیمی NET. دارد ؟


اگر بخواهیم به مزایای ASP.NET Core در مقایسه با سایر نسخه‌های NET. بپردازیم می‌توانیم به موارد زیر اشاره کنیم:

    معماری MVC
    نسخه ASP.NET Core MVC برای ایجاد پروژه های وب از الگوی Model-View-Controller یا به اختصار MVC استفاده می‌نماید.الگوی MVC جدید نیست و به سال 1978 و پروژه smaltalk بر می‌گردد. در معماری MVC برخورد کاربر با برنامه کاربردی یک مسیر طبیعی را طی می‌کند کاربر عملی را انجام می‌دهد و برنامه در پاسخ به آن ، با تغییر مدل داده ها ، نمای جدیدی را نمایش می‌دهد و این چرخه به همین صورت ادامه پیدا می‌کند این روش برای برنامه های تحت وب ، به عنوان مجموعه ای از درخواست‌ها و پاسخ‌های HTTP ، مناسب است. و از آنجا که بر پایه معماری MVC عمل می‌کند در مقایسه با پروژه های قدیمی Web Form ، موضوع جداسازی لایه‌های پروژه را به خوبی انجام می‌دهد .
    گسترش پذیری

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

    ASP.NET Core و ASP.NET Core MVC شامل عناصر (Component) مستقلی هستند. این عناصر دارای مشخصه‌های روشنی بوده و معمولا از یک واسط و یا کلاس مجرد ارث بری کرده اند. بسادگی می‌توانید هر یک از این عناصر را با آنچه خودتان پیادسازی کرده اید جایگزین کنید. برای هر عنصر سه انتخاب پیش رو دارید :
    1- پیاده سازی پیش فرض آن را همان گونه که هست به کار ببرید. که برای بسیاری از برنامه‌ها کافی است.
    2-کلاس دیگری از پیاده سازی پیش فرض مشتق کنید و رفتار آن را به دلخواه تغییر دهید.
    3-عنصر مورد نظر را با ایجاد کلاس جدیدی که از واسط یا کلاس مجرد نخستین ارث بری می‌کند کاملا جایگزین گنید.
     آزمایش پذیری
    از آنجایی که در معماری ASP.NET Core MVC رابط کاربری ، مدل داده ها و کد پردازش کننده به خوبی از هم جدا شده اند زمینه‌ی بسیار خوبی برای اجرای آزمایش های واحد (Unit Tests) فراهم شده است. این کار را می‌توانید با هر یک از نرم افزار‌های آزمایش متن باز موجود مانند xUnit.net انجام دهید.
    آزمایش پذیری تنها به ایجاد آزمایش های واحد مربوط نمی‌شود . برنامه‌های کاربردی با ابزاری که برای آزمایش خودکار واسط کاربری به کار می‌برند به خوبی کار کرده و بدون نیاز به دانستن ساختار HTML و CSS ویا ID هایی که برنامه ایجاد می‌کند می‌توانید کدی بنویسید که برخورد کاربر با برنامه را شبیه سازی کند.
    azsoftir@gmail.com
    azsoftir.com
    09367292276azsoftir@gmail.com
    azsoftir.com
    09367292276
    کنترل کامل بر HTML و HTTP
    خروجی اچ تی ام الی که توسط برنامه های ASP.NET Core ایجاد می‌شود کاملا استاندارد است . برای شکل دادن به این HTML می توانید از CSSاستفاده کنید افزون بر این می‌توانید از Jquery ،Angular و Bootstrap برای ایجاد عناصر پیچیده مانند تقویم و منوهای تودرتو استفاده کنید .
    ASP.NET Core MVC با HTTP هماهنگ است به این معنی که کنترل درخواست های ارسال شده از مرورگر به سرور را در دست دارید . و این امکان می‌دهد که تجربه کاربر از برنامه را آنگونه که می‌خواهید شکل دهید .کاربرد Ajax ساده تر شده و به راحتی می‌توانید از سرویس های وب (Web Service) برای دریافت درخواست‌های ارسالی از مرورگر استفاده کنید.

    روش مسیریابی قوی

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

    با توجه به تکامل فناوری فن آوری وب ، روش استفاده از URL ها تغییر کرده است آدرس‌های مانند :
    App_v2/User/Page.aspx?action=show%20prop&prop_id=8421/ به ندرت پیدا می‌شود و به جای آن از آدرس‌های مشخص‌تری مانند asp-net/core/ که در سئو سایت بسیار اهمیت دارد استفاده می‌شود.
    چگونگی ساختار URL به دلایل زیادی اهمیت پیدا کرده است نخست اینکه موتورهای جست و جو به واژه های کلیدی موجود در آدرس های اینترنتی اهمیت می‌دهند. و دیگر اینکه بسیاری از کاربران اکنون معنی آدرس های اینترنتی را می دادند و ترجیح می‌دهند خودشان آن را در نوار آدرس مرورگر وارد کنند. افزون بر این زمانی که یک شخص معنی یک آدرس اینترنتی را می‌فهمد تمایل بیشتری برای سهیم شدن آن با دیگران و یا کاربرد آن در صفحه وب خود خواهد داشت . و مهمتر از همه آن‌ها این است که کاربرد چنین URL هایی ساختار پوشه ها و فایل های پروژه را برای دیگران آشکار نمی‌کند و در صورت تغییر پیاده سازی برنامه ، در مورد شکسته شدن آدرس ها و یا لزوم تغییر آن ها، نگرانی نخواهید داشت.
    واسط برنامه نویسی قوی

    از آنجا که ASP.NET Core MVC بر پایه NET Core. بنا شده است از بسیاری از ویژگی‌های قدرتمند آن که برای برنامه نویسان #C آشناست مانند کاربرد await ، متدهای توسعه یافته(Extension Methods) ، عبارت های لامدا (Lamda Expression) ، انواع پویا و بی‌نام و کوئری آمیخته به زبان LINQ استفاده می‌کند


azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

    چند سکویی (Cross Platform)
    نسخه های قدیمی ASP.NET برای نوشتن برنامه نیازمند سیستم عامل ویندوز بودند و هم برای میزبانی به سرور ویندوز نیاز داشتند. اما ASP.NET Core MVC هم برای برنامه نویسی و توسعه و هم برای انتشار به محیط ویژه ای وابسته نیست و قابلیت اجرا بر روی پلتفرم های مختلف از جمله Linux ، macOs را داراست .
    متن باز بودن
    بر خلاف چارچوب های گذشته‌ی توسعه ماکروسافت ، شما اکنون می‌توانید کد سورس ASP.NET Core و ASP.NET Core MVC را دانلود کنید و حتی پس از تغییرات و کامپایل نگارش خودتان از آن‌ها را به کار ببرید .

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

تفاوت زبان‌های برنامه‌نویسی php و asp.net به زبان مامان‌بزرگ‌ها

تفاوت زبان‌های برنامه‌نویسی php و asp.net به زبان مامان‌بزرگ‌ها
تفاوت زبان‌های برنامه‌نویسی php و asp.net به زبان مامان‌بزرگ‌هاReviewed by گروه آموزشی F1 on Apr 7Rating: 5.0
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
امروزه هر کسی که به دنبال برنامه‌نویسی وب و مخلفات آن می رود ناخودآگاه دو گزینه به گوشش می رسد که معمولا بین این دو گزینه بایستی یکی را برای شروع برنامه‌نویسی تحت وب انتخاب کند و آن را به صورت حرفه ای ادامه دهد. یکی از این اسامی PHP و دیگری ASP.NET و مشتقات آن است. یکی از مهمترین مشکلاتی که در انتخاب یکی از این زبان های برنامه‌نویسی وب وجود دارد این است که مقایسه درستی بین این دو زبان به صورت جامع و به زبان فارسی وجود ندارد. شما کافی است تفاوت بین زبان ASP.Net و PHP را در اینترنت به فارسی جستجو کنید. مشاهده می کنید که اکثر وب سایت ها با رویکرد طرفدارانه مقایسه خود را انجام داده اند یا فقط یه ترجمه یک متن خارجی کفایت کرده اند. اگر شخصی برنامه نویس ASP.NET  است، به طرفداری از این زبان برنامه‌نویسی و کوبیدن زبان برنامه‌نویسی PHP پرداخته است و برعکس همین مورد هم برای برنامه نویسان PHP وجود دارد.
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
ابتدا به معرفی ASP و PHP می پردازیم و سپس ملاک هایی که می توان برای مقایسه این دو زبان عنوان کرد را با هم مقایسه می کنیم و در نهایت به یک نتیجه کلی می رسیم که قطعا این نتیجه کلی طرفداری از زبان برنامه‌نویسی خاصی نخواهد بود و انتخاب اصلی با شما خواهد بود. قبل از این که انتخابی انجام دهید، می خواهیم تفاوت بین این دو زبان برنامه‌نویسی را برای شما تشریح کنیم تا در انتخاب میان این ها دچار مشکل نشوید. هر دو زبان برنامه‌نویسی تحت PHP و ASP.NET در واقع زبان های اسکریپت نویسی سمت سرور یا در اصطلاح فنی Server Side Scripting هستند که برای طراحی وب سایت های داینامیک مورد استفاده قرار می گیرند. صفحات وب داینامیک ابتدا درخواست کلاینت (کاربر، بازدید کننده) را در سمت سرور پردازش کرده و در نهایت پس از هر بازدید کاربر، نتیجه را به سمت کاربر ارسال می کنند. انتخاب بین این دو زبان اسکریپت نویسی بستگی به مواردی از قبیل اندازه و بزرگی وب سایت، قابلیت های توسعه وب سایت، هزینه های هاستیگ وب، هزینه های پشتیبانی و زمان پیاده سازی و بسیاری دیگر از مواردی از این قبیل دارد که در ادامه به بررسی اکثر این موارد خواهیم پرداخت.
معرفی زبان: زبان برنامه‌نویسی وب ASP یا ASP.NET چیست؟
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
برنامه‌نویسی
    php vs asp.net

ASP مخفف کلمه Active Server Pages است و یک محصول منحصر به فرد برای شرکت مایکروسافت به حساب می آید. این زبان برنامه‌نویسی اکنون منسوخ شده است و جای خود را به زبان اسکریپت نویسی ASP.NET داده است. در همین جا به این نکته اشاره کنم که در واقع ASP.NET یک زبان برنامه‌نویسی نیست، بلکه یک تکنولوژی برنامه‌نویسی وب با استفاده از دات نت است. شما می توانید با #C یا #F یا زبان های برنامه‌نویسی دیگر دات نت ASP.NET بنویسید؛ اما با توجه با اینکه شما به عنوان یک زبان بیشتر با این محصول آشنا هستید، ما در این مقاله از ASP.NET به عنوان یک زبان برنامه‌نویسی یاد می کنیم. بیشتر شرکت ها و سازمان های بزرگ برای نرم افزارهای تحت وب خود از این زبان برنامه‌نویسی استفاده می کنند. نرم افزاری که بیشترین هماهنگی با این زبان برنامه‌نویسی را دارد، به عنوان Microsoft Visual Studio شناخته می شود که در واقع محیط برنامه‌نویسی مایکروسافت محسوب می شود. در این نرم افزار قابلیت های بسیار زیادی برای برنامه‌نویسی به صورت پیش‌فرض قرار گرفته اند که کار برنامه‌نویسی را برای برنامه نویسان بسیار راحت می کند. معمولا تعداد خط های کدی که باید برای یک برنامه به زبان ASP.NET نوشته بشود نسبت به محصولات مشابه کمی بیشتر است. همین دلیل به تنهایی می تواند تا حدودی باعث زمان‌گیر بودن کدنویسی در این زبان برنامه‌نویسی برای فعالیت های پیچیده شود. در صورتی که تغییری در هر خط کد از این زبان برنامه‌نویسی انجام شود، به ناچار کل برنامه بایستی مجددا کامپایل شود. بنابراین زمان برنامه‌نویسی تا حدودی افزایش می یابد. وب سروری که با این زبان برنامه‌نویسی هماهنگ است صرفا وب سرور شرکت مایکروسافت که همان IIS است می باشد و معمولا به عنوان پایگاه داده نیز در این نوع زبان برنامه‌نویسی از Microsoft SQL Server  استفاده می شود.
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
درست است که ASP.NET و IIS هر دو نرم افزارهایی رایگان هستند اما شما برای لایسنس ویندوز بایستی پول پرداخت کنید و از طرفی نرم افزار Visual Studio نیز نرم افزار ارزان قیمتی نیست. پشتیبانی زبان برنامه‌نویسی ASP.NET توسط وب سایت و مرجعی به نام MSDN انجام می شود که مخفف کلمه Microsoft Software Developer Network می باشد. پیشرفت ها و توسعه هایی که در این زبان برنامه‌نویسی انجام می شود، توسط بازخوردها و تجاربی است که کاربران این محصول به وب سایت این شرکت اطلاع می دهند و همین موضوع باعث ارایه نسخه های جدیدتر این زبان برنامه‌نویسی با امکانات جدید می شود. ASP.NET تحت برند مایکروسافت است و این یعنی بسیاری از زبان ها یا Platform های دیگر را پشتیبانی نمی کند؛ اما در این حین به شما امکانات بسیار ساده ای برای شروع برنامه‌نویسی می دهد. ماژول های آماده، محیط ساده و رابط کاربری آسان، برنامه‌نویسی را برای کاربران لذت بخش می کند. توجه کنید که یکی از مشکلاتی که در دنیای برنامه‌نویسی به این زبان برنامه‌نویسی وارد می شود، هزینه ای است که برای خرید نرم‌افزارهای آن صرف می شود. اما با توجه به اینکه ما در ایران هستیم و هیچ هزینه ای برای خرید این نرم افزارها نمی کنیم،ASP.NET  می تواند گزینه مناسبی برای برنامه‌نویسی وب باشد.
معرفی زبان: زبان برنامه‌نویسی وب PHP چیست؟
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
PHP  مخفف کلمه PHP Hypertext Preprocessor است و یک نرم‌افزار یا بستر برنامه‌نویسی متن باز و رایگان است که توسط شخصی به نام رزموس لردورف در سال ۱۹۹۵ طراحی و ایجاد شد. یکی از نکات مهمی که در خصوص برنامه‌نویسی به زبان PHP  وجود دارد این است که این زبان وابسته به هیچ Platform خاصی نیست و می توان آن را بر روی هر سیستمی عاملی اجرا و استفاده کرد. شرکت های متوسط و کوچک، بیشتر از این زبان برنامه‌نویسی در دنیا استفاده می کنند؛ زیرا هزینه توسعه و همچنین هزینه هاستینگی که در اینترنت دارد، بسیار ارزان است. بسیاری از ابزارهای رایگان برای توسعه دهندگان این زبان برنامه‌نویسی به صورت رایگان در اینترنت وجود دارد که به برنامه نویسان PHP این امکان را می دهد که بتوانند براحتی با آن ها برنامه بنویسند.
فاکتور اول: تکنولوژی مورد استفاده در ASP.NET بهتر است یا PHP؟

زبان برنامه‌نویسی PHP در اصل و ماهیت برای نوشتن اسکریپت های وب ایجاد شد و هدف اصلی آن کاهش پیچیدگی های برنامه‌نویسی های وب ای مانند Perl و CGI بود. Php برای این ایجاد شد تا این امکان را ایجاد کند که افراد تازه وارد به دنیای برنامه‌نویسی وب نیز بتوانند در این حوزه شروع به فعالیت کنند و به همین دلیل بیشتر کارهای ساده و طراحی وب سایت های کوچک با این زبان برنامه‌نویسی وب شروع شد و اکثرا در اوایل برنامه نویسان حرفه ای از این زبان استفاده نمی کردند. اما به مرور زمان با توجه به گسترش روزافزون نرم افزارهای Open Source و استفاده بیشتر از زبان Open Source ای به نامPHP  حرکت رو به جلوی این زبان بسیار سریع صورت گرفت. یکی از مشکلاتی که به این زبان گرفته می شد عدم وجود توابع زیاد و همچنین دستورات کم بود که با گستردگی استفاده از PHP به مرور این موانع و مشکلات برطرف شد و امروزه می توان با PHP توابع و کارهای تقریبا پیچیده ای را برنامه‌نویسی کرد. PHP یک زبان مفسری است؛ یعنی در هر بار اجرا بایستی کد توسط وب سرور خط به خط اجرا و نتیجه نمایش داده شود.یکی از مشکلاتی که به PHP برنامه نویسان می گیرند این است که اگر شخصی بتواند به سرور لینوکسی یا آپاچی شما دسترسی پیدا کند، با توجه به اینکه کدهای شما به صورت کامپایل نشده و Open Source روی سرور قرار دارند، می تواند به آن ها دسترسی پیدا کنند. این مشکل در ASP.NET وجود ندارد زیرا برنامه قبل از اجرا به فایل های DLL کامپایل می شود و باعث عدم نمایش کد به مهاجم می شود. این مشکل را PHP با معرفی تکنولوژی رمزنگاری به نام Zend حل کرد تا بتواند کدهای PHP را Encode کند و دیگر نگران این مسأله نباشد.
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
در ابتدا PHP از شی گرایی پشتیبانی نمی کرد؛ اما به مرور این قابلیت به یکی از قدرت های این زبان تبدیل شد. تکنولوژی کاربردی این زبان بیشتر برای نوشتن و اجرا کردن اسکریپت های وب برای اجرا در سیستم عامل های Open Source ای مانند یونیکس و لینوکس استفاده می شود. البته یکی از خرده هایی که به PHP گرفته می شود این است که هنوز تا حدودی نقص های اولیه خود را در خصوص شی گرایی دارد و به گفته برخی برنامه نویسان خاصیت های حرفه ای شی گرایی در این زبان برنامه‌نویسی دیده نشده است. یکی از قدرت های بی بدیل PHP عدم وابستگی به Platform خاص است؛ یعنی برنامه هایی که با زبان PHP نوشته می شوند، به راحتی قابل اجرا بر روی هر سیستم عاملی از جمله ویندوز هستند. اما ذاتا تکنولوژی برنامه‌نویسی وب PHP مبتنی بر یک ساختار است که به آن در اصطلاح فنی LAMP می گویند. LAMP مخفف کلمات Linux به عنوان سیستم عامل،Apache  به عنوان وب سرور، MySQL به عنوان پایگاه داده و در نهایت PHP به عنوان زبان برنامه‌نویسی می باشد. بنابراین اکثر افرادی که به برنامه‌نویسی وب PHP می پردازند، با این ابزارهای کاملا رایگان آشنا هستند. جالب اینجاست که به راحتی می توان این ابزارها را در سیستم عامل ویندوز نیز نصب و استفاده کرد.
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
از دات نت یا ASP.NET می توان به عنوان یک Platform نام برد تا یک زبان برنامه‌نویسی. دات نت یک محصول کاملا مایکروسافتی است که به عنوان نسل جدید ابزارهای برنامه‌نویسی و توسعه نرم افزار شرکت مایکروسافت به بازار ارایه شده است. دات نت را می توان بیشتر با Platform هایی مثل جاوا مقایسه کرد و در این میان بیشتر رقابت بین ASP.NET و Java  می باشد. توجه کنید که زبان برنامه‌نویسی کلاسیکی به نام ASP وجود داشت که سابقا استفاده می شد؛ اما امروزه این زبان برنامه‌نویسی وب منسوخ شده است و دیگر استفاده ای ندارد. یکی از قدرت های اصلی ASP.NET وجود کتابخانه ها یا همان Library های بسیار غنی و توایع زیاد و همچنین کلاس های زیادی است که در ASP.NET وجود دارد و همین امر امکان انجام تقریبا هر کاری را در محیط وب به یک برنامه نویس می دهد. در بیشتر موارد برای برنامه‌نویسی ASP.NET از Microsoft Visual Studio  و برای پایگاه داده نیز از Microsoft SQL Server و برای وب سرور نیز از IIS یا همان Internet Information Service  مایکروسافت استفاده می شود. در ASP.NET کدها در سمت سرور Encode می شوند و اگر کسی بتواند به سرور دسترسی پیدا کند نمی تواند از این کدها که در قالب فایل های DLL هستند استفاده کند. در اصطلاح فنی به این عملیات Code-Behind گفته می شود.
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
زبان برنامه‌نویسی ASP.NET ذاتا برای سیستم عامل ویندوز و استفاده در آن طراحی و ایجاد شده است و بیشتر برنامه هایی که در این زبان نوشته می شوند وابسته به سیستم عامل ویندوز هستند. البته این نکته را به عنوان نکته منفی در خصوص زبان برنامه‌نویسی ASP.NET مطرح می کنند؛ اما توجه کنید که مایکروسافت پروژه هایی را شروع کرده است که برنامه هایی که توسط ASP.NET نوشته می شوند بر روی سیستم عامل های دیگر نیز قابل اجرا باشند. معروفترین این پروژه ها به نام MONO  شناخته می شود. بنابراین در آینده ای نه چندان دور شاهد این خواهیم بود که برنامه هایی که توسط ASP.NET نوشته می شوند، به راحتی بر روی لینوکس و یونیکس نیز اجرا شوند. از نظر تکنولوژی و معماری ASP.NET و Java از Platform هایی هستند که در سطح Enterprise و کلان استفاده می شوند و PHP معمولا برای نوشتن اسکریپت های وب استفاده می شود. همانطور که قبلا هم اشاره کردیم برای نوشتن یک برنامه پیچیده در زبان ASP.NET تعداد خطوط کد بیشتری نسبت به PHP نیاز است و به همین دلیل زمان تولید و توسعه یا همان Develop Time مربوط به زبان ASP.NET نسبت به زمان مشابه PHP بیشتر است. بر خلاف PHP که یک زبان مفسری است ،ASP.NET  یک زبان کامپایلری است. بدین معنا که کدها بعد از هر بار نوشتن؛ مجددا بایستی کامپایل شده و با فایل های DLL تبدیل شوند.
فاکتور دوم: برنامه‌نویسی با ASP.NET ساده تر است یا PHP ؟

بحث سادگی کار با یک محیط برنامه‌نویسی بستگی به موارد مختلفی دارد که از جمله آن ها می توان به اندازه پروژه ای که می خواهیم انجام دهیم اشاره کرد. در وهله اول باید بگوییم که یادگیری زبان PHP قطعا برای شروع ساده تر از برنامه نویسی به زبان ASP.NET است اما برای برنامه نویسی اسکریپت های چند خطی یا وب سایت های کوچک نه برای نوشتن Web Application های بزرگ و سازمانی و یا اتوماسیون های اداری پیچیده. اگر می خواهید صرفا یک وب سایت یا یک CMS یا یک Web Application  ساده و دارای پیچیدگی های کم بنویسید، برای شروع یادگیری PHP بهترین گزینه است. شما با استفاده از هر ویرایشگر متنی قادر به نوشتن کدهای PHP هستید که این خود یکی از مزایای اصلی این زبان برنامه نویسی وب می باشد. متاسفانه PHP ویرایشگر و ابزار مشخصی برای کدنویسی ندارد. شرکت های مختلفی در اینترنت ابزارهای مختلفی برای استفاده برای کدنویسی این محصول ارایه داده اند که این خود یک عدم تمرکز برای برنامه نویسی PHP را ایجاد می کند.
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
اما اگر قصد برنامه نویسی Web Application هایی در سطح Enterprise دارید، ترجیجا ASP.NET را انتخاب کنید. هدف اصلی و ماهیت واقعی زبان ASP.NET (که همانطور که گفتیم یک Platform به حساب می آید) نوشتن Web Application های بزرگ و دارای فرم ها و اطلاعات ورودی و پیچیدگی های زیاد است. برای کسانی که به برنامه نویسی کردن در محیط های گرافیکی عادت دارند، این زبان بسیار بهتر است. در ASP.NET شما در قالب استفاده از ابزارهای گرافیکی براحتی می توانید تولید کد داشته باشید و همچنین با استفاده از فرم های آماده یا همان Web Form ها می توانید به راحتی به بانک های اطلاعاتی و ماهیت های مختلف اطلاعات و جدول ها به صورت گرافیکی دسترسی پیدا کنید، بدون اینکه نیاز به کد نوشتن داشته باشید. ASP.NET به صورت خودکار با ماژول هایی که در اختیار دارد این کدها را برای شما ایجاد می کند. در کنار این ها فریم ورک .NET  برخی از موارد مانندCaching ، احراز هویت و بسیاری دیگر از این مسایل را به خودی خود انجام می دهد. توابع ASP.NET  اینقدر زیاد است که تقریبا شما را از استفاده کردن از توابع خارجی در برنامه نویسی خود بی نیاز می کند. تمامی کارهایی که قرار است شما در ASP.NET انجام دهید در یک محیط یکپارچه یا بهتر بگوییم یک ابزار قدرتمند به نام Microsoft Visual Studio  انجام می شود که طبیعتا سادگی های کار گرافیکی در محصولات مایکروسافت به خوبی در این نرم افزار نیز دیده می شود.
فاکتور سوم: وابستگی به سیستم عامل در ASP.NET بیشتر است یا در PHP؟
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
یکی از مواردی که تا چند وقت پیش به عنوان مزیت PHP بر ASP.NET مطرح می شد، این بود که کدهای نوشته شده توسط PHP  بر روی هر سیستم عاملی قابل اجرا هستند و این موضوع برای کدهای ASP.NET وجود ندارد. با این موضوع تا حدودی موافق هستیم اما نه الان، در حال حاضر کدهای PHP براحتی با استفاده از نرم افزارهای شبیه سازی مثل WAMP و XAMP و بسیاری از این موارد براحتی بر روی سیستم عامل ویندوز اجرا می شوند و شما نیازی نیست برای برنامه نویسی PHP حتما لینوکس بلد باشید. در مقابل مایکروسافت نیز در سالهای گذشته سعی کرده است این نقطه ضعف خود را پوشش دهد و در این راه پروژه معروفی به نام MONO را ارایه کرده است که توسط آن شما می توانید براحتی کدهای ASP.NET را بر روی Platform هایی مثل لینوکس و یونیکس اجرا و کد نویسی کنید.

همین مورد باعث شده است دیگر ASP.NET این ضعف را نپذیرد؛ اما به دلیل عدم شناخت درست افراد از وجود چنین پروژه ای و همچنین عادت کردن به زبان PHP و گسترده شدن این زبان معمولا این مسأله عنوان نمی شود. هر چند شخصی که واقعا می خواهد کدنویسی در محیط ASP.NET کند در ۹۹ درصد موارد از ویندوز استفاده می کند؛ اما با این پروژه حرف و حدیث ها در مقابل این نقطه ضعف تمام شد. در واقع یکی پروژه MONO به عنوان Open Source ASP.NET با استفاده از وب سرور آپاچی و سرور لینوکس پیاده سازی و استفاده می شود. بنابراین امروزه ASP.NET را نیز می توانیم زبان برنامه نویسی وب مستقل از سیستم عامل عنوان کنیم.
فاکتور چهارم: امنیت ASP.NET بیشتر است یا PHP؟

پرسیدن این موضوع که امنیت در ASP.NET بیشتر است یا در PHP دقیقا مثل همین سؤال است که امنیت در لینوکس بیشتر است یا در ویندوز؟ در نهایت شما به جواب قاطعی در این زمینه دست پیدا نخواهید کرد. بحث امنیت بیشتر در حوزه میزان تخصص و دانش برنامه نویس بستگی دارد. چه بسا شما یک اتومبیل FJCruser داشته باشید و بلد نباشید با آن رانندگی کنید، این اتومبیل با پیکان برای شما تفاوتی نخواهد داشت؛ چون دانش استفاده از آن را ندارید. اما مواردی هم هست که کمی قبل تر هم در مورد آنها صحبت کردیم. یکی از موارد امنیتی که در پروژه های PHP وجود داشت این بود که فایل های PHP  متن باز هستند و در صورتی که کسی به سرور شما دسترسی داشته باشد، می تواند سورس کدهای شما را به راحتی بخواند؛ اما در ویندوز به دلیل اینکه فایل ها قبل از اجرا توسط کامپایلر به فایل های DLL تبدیل می شوند و دارای قابلیت Code-Behind  هستند نمی توان از این نقطه ضعف استفاده کرد. PHP برای پوشش این مسأله و Encode کردن سورس کد های خود قابلیت Zend را معرفی کرد که یک روش رمزنگاری برای کدهای PHP می باشد که دیگر این نقطه ضعف را نداشته باشند.
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
گفته می شود: «یکی دیگر از مزایایی که به عنوان مزیتی امنیتی برای PHP محسوب می شود، این است که نرم افزارهایی که به صورت عام و در قالب پروژه هایی مثل GNU ارایه می شوند، متن باز هستند و شما می توانید سورس کد آن ها را مشاهده و از نظر امنیتی آن را تحلیل کنید و به دلیل استفاده زیاد افراد در دنیا از این گونه نرم افزارها و به دست آوردن باگ های امنیتی آن کدهای PHP  از امنیت بالاتری برخوردارند.» اما این حرف درست نیست؛ زیرا همان طور که کدهای باز می تواند باعث بالاتر رفتن امنیت شوند، باعث انتشار باگ های امنیتی یک محصول هم می توانند باشند. یک هکر می تواند سورس کد یک محصول را به صورت کامل در اختیار داشته باشد و آن را از نظر امنیتی تحلیل و با نقاط ضعف به دست آمده به آن حمله کند؛ اما در کدهای ASP.NET همچنین مشکلی وجود ندارد. البته باز هم تاکید می کنم که هیچ ملاکی برای امنیت بیشتر برنامه نویسی PHP بر ASP.NET و برعکس آن وجود ندارد و صرفا این دانش یک برنامه نویس است که تعیین کننده امنیت یک نرم افزار است. برای مثال CMS رایگان Joomla که به صورت رایگان در اینترنت وجود دارد یکی از اهداف همیشگی و ساده هکرها محسوب می شود.

برخی اوقات مشاهده می کنیم که برنامه نویس های PHP این ادعا را دارند که چون سایت های بزرگی مثل گوگل ، یاهو و … از برنامه نویسی PHP استفاده می کنند، بنابراین امنیت این برنامه نویسی از ASP.NET بیشتر است. قبل از هر چیز باید یک نکته را خاطر نشان کنیم که این یک تصور نادرست است که بگوییم یک وب سایت بزرگ در دنیا صرفا از یک زبان برنامه نویسی استفاده می کند. معمولا این وب سایت ها از انواع زبان های برنامه نویسی برای کار خود استفاده می کنند که قطعا PHP  هم می تواند جزیی از آن ها باشد.PHP  در گوگل به عنوان زبان برنامه نویسی اصلی به کار نمی رود. زبان غالب اکثرا در این وب سایت ها C و C++ و جاوا می باشد و در برخی از ماژول های زیر مجموعه ممکن است از PHP استفاده کنند. عزیزان توجه کنید که ASP.NET با برند مایکروسافت معرفی می شود و طبیعی است که حتی اگر بهترین زبان برنامه نویسی دنیا هم باشد، شرکت های رقیب از آن برای نمایش کار خود استفاده نکنند. اما به واقع می توان گفت زبان برنامه نویسی PHP بسیار بسیار محبوب تر و مرسوم تر از ASP.NET در اینترنت می باشد.
فاکتور پنجم: سرعت و کارایی ASP.NET بیشتر است یا PHP ؟
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
قبل از این که این بحث را باز کنیم، یک مسأله را روشن کنیم ، توجه کنید که شما هر کاری را که می توانید با برنامه نویسی وب PHP انجام دهید با برنامه نویسی ASP.NET نیز می توانید انجام دهید و بر عکس همین موضوع نیز صادق است . سرعت و کارایی هر زبان برنامه نویسی به عوامل مختلفی بستگی دارد که از آن جمله می توان به تکنولوژی مورد استفاده در زبان برنامه نویسی، نوع سیستم عامل مورد استفاده، نوع فایل سیستم مورد استفاده، بزرگی و گستردگی برنامه و پروژه و دانش برنامه نویسی اشاره کرد. در وهله اول برنامه نویسان ASP.NET اینطور القا می کنند که چون زبان برنامه نویسی ASP.NET یک زبان کامپایلری است و زبان PHP یک زبان مفسری است بنابراین سرعت اجرا کدها در ASP.NET بیشتر از سرعت اجرا کدها در PHP  است. این حرف هم درست است و هم اشتباه. درست از این بابت که سرعت اجرای برنامه های کامپایل شده که در قالب فایل های DLL وجود دارند از برنامه های مفسری که به صورت خط به خط اجرا می شوند بیشتر است. یک اسکریپت PHP سرعت بیشتری نسبت به اسکریپت مشابه در ASP.NET دارد اما دلیلی برای اینکار وجود دارد. زمانی که شما یک اسکریپت PHP  را اجرا می کنید، این کد به سرعت تفسیر شده و اجرا می شود و خروجی به مرورگر کاربر ارسال می شود که در این میان وقفه ای نداریم؛ اما زمانی که صحبت از اسکریپت ASP.NET می شود این کد علاوه بر این که به خودی خود باید اجرا شود، بایستی چندین ماژول مانند ماژول های خواندن تنظیمات، کنترل کردنWeb Form ها، انجامauthentication ها و بسیاری دیگر از موارد را به صورت همزمان انجام دهد که همین مورد باعث کمتر شدن سرعت آن نسبت به مفسر PHP می شود. این جاست که برنامه نویس های PHP به خود مغرور می شوند که زبان سریع‌تری دارند؛ اما حقیقت طور دیگری است. بدون شک در برنامه هایی با تعداد خطوط پایین و اسکریپت های کوچک برتری با PHP است؛ اما در سطوح کلان و برنامه های بسیار بزرگ سطح Enterprise که دارای ده ها یا صدها هزاران خط هستند برتری بدون شک با زبان های کامپایلری است. هر چند برنامه هایی برای سرعت بخشیدن به عملیات اجرای کدهای PHP ایجاد شده است اما همچنان برتری در سطح کلان با ASP.NET است.

نوع سیستم عامل نیز عامل بسیار مهمی در سرعت اجرای نرم افزارها می باشد. قطعا و بدون شک سیستم عامل ویندوز از نظر کارایی و سرعت نمی تواند با سرویس های لینوکسی برابری کند. ویندوز به یکباره کلیه منابع سیستم را در اختیار می گیرد و وجود رابط گرافیکی ناخواسته سرعت اجرای نرم افزارها و سرویس ها را کند می کند؛ اما لینوکس بر حسب نیاز اینکار را انجام می دهد و تمامی کارها از طریق Command و دستورات خط فرمان انجام می شود و رابط گرافیکی عملا وجود ندارد. سرویس های لینوکس بسیار قابل اعتمادتر از سرویس ها در ویندوز هستند و قطعا به این مورد برخورده اید که با انجام هر تغییری در سیستم عامل ویندوز یک Restart نیاز است. اما توجه کنید که اگر کدهای ASP.NET را بر روی سرور لینوکس و از طرفی کدهای PHP را بر روی سرور ویندوزی اجرا کنید که قطعا هم این امکان وجود دارد دیگر سیستم عامل جزو ملاک های سرعت و کارایی نمی تواند باشد. از طرفی طبق تحقیقات، فایل سیستم مورد استفاده در هارد دیسک شما نیز می تواند عامل سرعت اجرای کد شما باشد که در این حالت گفته می شود بهترین فایل سیستم برای سرعت فایل سیستم لینوکسی ext4 است. هر چند این ملاک ها نسبی است؛ زیرا بیشتر ما می خواهیم درباره ی خود برنامه نویسی صحبت کنیم نه سخت افزار و فایل سیستم. در اینصورت وجود RAID در هارد دیسک ها نیز می تواند جزو ملاک ها محسوب شود. با توجه به تحقیقات انجام شده در صورت اجرای کدهای ASP.NET با استفاده از MONO در لینوکس سرعت اجرا آن از PHP به نسبت بالاتر خواهد بود.
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
اما از همه این ها که بگذریم، مهم دانش برنامه نویسی است که در این حوزه استفاده می شود. شیوه Query گرفتن و شیوه کد نویسی بر حسب دانش افراد در این حوزه متفاوت است. هر چقدر هم که شما پروژه بزرگتری داشته باشید، طبیعی است که دانش بیشتری را نیاز خواهید داشت. در این خصوص به یک خاطره اکتفا می کنم ، در حوزه پایگاه داده قطعا Oracle از برتری مشهوی نسبت به MSSQL Sever برخوردار است. در یکی از پروژه هایی که یکی از دوستان در یک سازمان دولتی داشت قرار شد که یک Query از دیتابیس های Oracle گرفته شود که بعد از نوشته شدن این Query و اجرای آن در حدود ۳۰ ثانیه پاسخ به Query و دریافت پاسخ از Oracle طول کشید اما جالب اینجا بود که همین Query در MSSQL Server تنها ۵ ثانیه طول می کشید. در اینجا مسأله دانش Oracle بود که دوست ما این دانش را نداشت. فردای همان روز یک Oracle کار حرفه ای همان Query را با کمی تغییر در Oracle وارد کرد و مشاهده کردیم که پاسخ در کمتر از یک دهم ثانیه ارایه شد. این نشان از اهمیت دانش برنامه نویسی و کد نویسی در سرعت و کارایی یک برنامه دارد که واقعا از همه چیز در بحث سرعت و کارایی مهمتر است. در مقاله بعدی فاکتورهای نهایی مقایسه این دو زبان برنامه نویسی را با هم مقایسه خواهیم کرد.
فاکتور ششم: ابزارها و رابط های کاربری ASP.NET بهتر است یا PHP؟

برای هر یک از زبان های برنامه نویسی PHP و ASP.Net یک محیط برنامه نویسی وجود دارد که در اصطلاح فنی به آن IDE گفته می شود. یکی از مزایای بسیار خوب زبان برنامه نویسی PHP این است که نیازی به محیط برنامه نویسی خاصی ندارد. تقریبا شما می توانید با هر ویرایشگر متنی که در دسترس است به زبان PHP کد نویسی کنید که یکی از مزایای عالی این زبان به حساب می آید. از طرفی برای اینکه بتوانید صرفا در یک محیط متنی کد نویسی کنید بایستی در برنامه نویسی PHP تا حدی حرفه ای باشید تا بتوانید نیاز خود را تمام و کمال برآورده کنید. در مقابل برای ASP.NET یک IDE معروف وجود دارد که تقریبا به صورت انحصاری فقط در این نرم افزار کدهای ASP.NET نوشته می شود و این IDE چیزی جز Microsoft Visual Studio نمی باشد. نرم افزاری گرافیکی که با استفاده از محیط آن به راحتی می توانید برنامه های خود به زبان ASP.NET را کد نویسی کنید. البته انحصاری بودن در این حوزه یکی از نقاط ضعف ASP.NET محسوب می شود.

در کنارIDE ها بحث ابزارها و اسکریپت های آماده نیز وجود دارد که در این خصوص بدون شک با توجه به عمومیت بیشتر زبان PHP برای این زبان اسکریپت های آماده و همچنین کدهای آماده بسیار زیادی وجود دارد که حقیقت متن باز بودن این زبان را آشکار می کند. درست است که پروژه های Open Source ای برای ASP.NET هم وجود دارد؛ اما واقعا در قیاس با پروژه ها و اسکریپت ها و نرم افزارهای متن بازی که برای PHP وجود دارد، قابل مقایسه نیستند. تقریبا شما هر نوع اسکریپت آماده ای را که بخواهید می توانید به زبان PHP آن را با یک جستجوی ساده پیدا کنید، حداقل کاری که با این ابزارهای فراوان می توان انجام داد اعمال تغییرات و بومی سازی برای برنامه نویسان مبتدی و الگوبرداری برای نوشتن اسکریپت های بهتر است. بنابراین بدون شک ابزارها، نرم افزارها و رابط های کاربری که برای PHP وجود دارد از تنوع و تعداد بیشتری نسبت به ASP.NET  برخوردارند؛ اما از این موضوع هم غافل نشویم که اگر در ASP.NET شما فقط از یک IDE انحصاری استفاده می کنید این IDE شما را از استفاده کردن از هر IDE دیگری بی نیاز می کند.
فاکتور هفتم: سرعت توسعه و پیشرفت ASP.NET بیشتر است یا PHP؟
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
سرعت توسعه و پیشرفت هر یک از این زبان های برنامه‌نویسی به عوامل متعددی بستگی دارد که از آن جمله می توان به پشتیبانی، منابع آموزشی و یادگیری و بازار کار این زبان های برنامه‌نویسی وب اشاره کرد. در خصوص پشتیبانی یکی از مهمترین موارد، وجود یک ارگان یا یک شرکت منسجم در پس زمینه می باشد. در خصوص برنامه‌نویسی ASP.NET قطعا نمی توان به غول نرم افزاری بزرگ دنیا یعنی مایکروسافت شک کرد. شرکت مایکروسافت به خوبی و با بهترین و منسجم ترین حالت ممکن همیشه در حال به روز رسانی ، پشتیبانی و ارتقای ASP.NET بوده است و همیشه مرجعی واحد به نام MSDN وجود داشته است که به راحتی شما می توانید مشکلات و مسایل خود در خصوص یادگیری را با این مرجع مرتفع کنید. از دیگر نقاط قوت ASP.NET این است که کتاب هایی که برای این محصول نوشته می شود هم همیشه منسجم و دارای نظم و یکپارچگی خاصی هستند زیرا از طرف شرکت مایکروسافت به خوبی پشتیبانی می شوند. وجود وب سایتی مثل TechNet و امثال آن ها برای پشتیبانی و دریافت بازخورد از کاربران، یکی دیگر از نقاط قوت این زبان برنامه نویسی است.
یکی از نقاط قوت برنامه‌نویسی به زبان ASP.NET پشتیبانی ذاتی این زبان از یونیکد و زبان فارسی می باشد که برای برنامه نویسان ایرانی بسیار این امر مهم است. یکی از نقاط ضعفی که برای پشتیبانی از ASP.NET عنوان می شود این است که فقط یک شرکت انحصاری به نام مایکروسافت از این زبان پشتیبانی می کند و ممکن است این شرکت روزی دیگر از این زبان پشتیبانی نکند و در مقابل برای زبان PHP با توجه به فراگیر بودن آن منابع و پشتیبانی های متعددی وجود دارد. به نظر من این یک مبحث  طنز است تا یک بحث انتقادی. اگر قرار باشد روزی مایکروسافت از ASP.NET پشتیبانی نکند قطعا باید بیشتر به فکر ویندوز باشیم تا برنامه‌نویسی ASP.NET . در خصوص پشتیبانی از زبان PHP باید بگوییم که در مقایسه با ASP.NET منابعی که در اینترنت برای آموزش و یادگیری PHP وجود دارد، بسیار فراوان تر و گسترده تر می باشد. این امر کاملا طبیعی است زیرا عمومیت بیشتری در استفاده از PHP نسبت به ASP.NET وجود دارد و بر حسب ذات Open Source این زبان وب سایت ها و تالارهای گفتمان تخصصی بسیار زیادی برای پشتیبانی از این محصول وجود دارد. در کنار این منابع آموزشی به صورت رسمی شرکتی به نام Zend مسؤول توسعه و ارایه نسخه های جدید PHP می باشد که به پشتیبان اصلی این زبان معروف است. شرکت Zend همان کاری را انجام می دهد که مایکروسافت برای ASP.NET انجام می دهد و در واقع به روز کردن Engine مربوط به PHP را بر عهده دارد. طبیعی است که هیچوقت نیازی نیست نگران پشتیبانی یا عدم پشتیبانی از PHP  باشیم. آن قدر منابع آموزشی و اسکریپت های آماده برای یادگیری این محصول وجود دارد که به هیچ عنوان وابستگی به شرکت خاصی ندارد. با توجه به سادگی یادگیری و توسعه نرم افزارها در PHP و سهولت کاربری برای برنامه نویسان تازه کار، سرعت توسعه و پیشرفت این زبان نیز به سرعت رو به پیشرفت است.
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
از دیگر مسایلی که بسیار زیاد در توسعه و پیشرفت زبان های برنامه‌نویسی وب دارای اهمیت هستند، بحث بازار کار آن است. قطعا برنامه‌نویسی که قصد ورود به بازار کار را دارد، می خواهد بهترین گزینه برای اینکار را انتخاب کند. در این خصوص باید بگوییم که چه در ایران و چه در خارج از کشور تفاوت چندانی در کاریابی در هر دوی این زبان های برنامه‌نویسی مشاهده نمی شود. فقط تنها نکته در این است که معمولا سازمان های بزرگ و شرکت های منسجم علاقه مند به جذب برنامه نویسان ASP.NET و شرکت های کوچک و متوسط بیشتر برای کارهای وب خود ترجیح با جذب برنامه نویسان PHP دارند. توجه کنید که به طور میانگین حقوق یک برنامه نویس ASP.NET چه در ایران و چه در کشورهای خارجی به نسبت بیشتر از یک برنامه نویس PHP است. همین موضوع می تواند عاملی برای توسعه بیشتر این زبان برنامه‌نویسی در دنیا باشد.
فاکتور هشتم: هزینه استفاده از ASP.NET بیشتر است یا PHP؟

قبل از اینکه به سراغ هزینه برویم، اول یک مورد را مشخص می کنیم: آیا شما در کشور ایران زندگی و برنامه‌نویسی می کنید یا در یک کشور خارجی؟ این موضوع، خیلی مهم است. در خصوص هزینه های استفاده از این زبان های برنامه‌نویسی، یکی از مواردی کهPHP کارها به عنوان نقطه قوت خود می دانند، رایگان بودن کلیه بسته های نرم افزاری مورد استفاده در این زبان است. ساختار کاری PHP بر اساس پروژه GNU و نرم افزارهای آزاد است. بدین معنی که همه چیز در حوزه نرم افزار در اینجا رایگان است. سیستم برنامه‌نویسی PHP یک ساختار مشخص دارد که به عنوان LAMP شناخته می شود و همان طور که قبلا هم اشاره کردیم، مخفف شده کلمات Linux و Apache و MySQL و PHP می باشد. همه این بسته های نرم افزاری، بدون هیچ گونه هزینه ی اضافی و به صورت رایگان – چه در ایران و چه در جاهای مختلف جهان – برای برنامه نویسان در دسترس می باشد. از این بابت، برای افرادی که در خارج از کشور زندگی می کنند کاملا PHP به صرفه است زیرا کوچکترین هزینه ای بابت خرید لایسنس نرم افزار خود نباید بدهند. هم لینوکس رایگان است و هم آپاچی و همMySQL . پس نیازی به هزینه های اضافی نیست. از طرفی نمونه نرم افزارهای زیادی به صورت رایگان در اینترنت وجود دارد که بدون هیچ هزینه ای می توانید از آن ها استفاده کرده و بومی سازی کنید. توجه کنید که در موردAdd-On ها به هیچ عنوان ASP.NET نمی تواند در این حجم زیاد نرم افزارهای رایگان در اینترنت داشته باشد. هر چند پروژه هایی برای متن باز کردن ASP.NET وجود دارد؛ اما واقعا در مقابل پروژه هایی که با PHP انجام شده اند و رایگان در اینترنت وجود دارند قابل مقایسه نیستند.
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
از طرف دیگر در برنامه‌نویسی به زبان ASP.NET چیزی به نام رایگان وجود ندارد. شما باید برای هر چیزی در این حوزه هزینه کنید و طبیعی است؛ زیرا یک شرکت در دنیا پشتیبانی کلی مجموعه ASP.NET را بر عهده دارد نه یک جامعه. به همین دلیل شرکت سازنده بایستی بتواند از پس مخارج خود در بیاید. ASP.NET باید بر روی ویندوزی نصب شود که خود ویندوز سیستم عامل رایگانی نیست. ASP.NET  باید بر روی Microsoft Visual Studio ای ایجاد شود که رایگان نیست. ASP.NET از پایگاه داده ای باید استفاده کند به نام MSSQL که طبیعتا رایگان نیست و در نهایت از وب سروری استفاده می کند که باید در سیستم عامل های مایکروسافت نصب شود. بنابراین استفاده از ASP.NET هزینه هایی را در بر دارد. اما به یک نکته توجه کنید که این هزینه ها برای اشخاص یا شرکت هایی است که در خارج از کشور هستند. در ایران ما چیزی به عنوان هزینه نرم افزار نداریم. اینجا قیمت ویندوز سون از ماست سون کمتر است!! پس صحبت از هزینه در ایران بی معنی است. در خارج از کشور هم اینگونه نیست که همه به سراغ PHP بروند زیرا هزینه کمتری دارد ، شرکت ها و سازمان های بزرگی که در حال پیاده سازی پروژه های Enterprise هستند، به راحتی هزینه های اولیه خرید لایسنس بسته ASP.NET را قبول می کنند؛ زیرا به قابلیت های این بسته برای انجام پروژه های سنگین اعتماد دارند. از طرفی این هزینه فقط یکبار انجام می شود و طبیعی است که هر بار نیاز به تکرار آن نمی باشد.

یکی دیگر از مواردی که ممکن است در این میان پیش بیاید، این است که اگر ایران به قانون کپی رایت بپیوندد، چه اتفاقی برای برنامه نویسان ASP.NET می افتد؟ در واقع این نیز یک نکته جالب برای برتری PHP عنوان می شود؛ اما خب چند نکته را در این خصوص باید متذکر شویم. اولا به این نکته توجه کنید که زمانی که شما به قانون کپی رایت بپیوندید، دغدغه هایی بیشتر از ASP.NET خواهید داشت چون هزاران نرم افزار دیگر نیز داریم که دارای همین مشکل هستند. بنابراین اگر ایران به قانون کپی رایت بپیوندد، قطعا کشورهای دیگر دنیا با علم به وجود چنین موردی به صورت گام به گام مراحل سوق به سمت کپی رایت را در ایران پیش می برند و نه به یکباره. از طرف دیگر پروژه هایی که در حوزه ASP.NET انجام می شود معمولا پروژه های بزرگی هستند که هزینه های بالایی نیز دارند. همیشه به فکر هزینه نباشید. چه بسا یکبار برای خرید بسته ASP.NET  هزینه می کنید؛ اما بارها در پروژه های گسترده سازمانی از آن ها استفاده می کنید و قطعا در همان فار اول هزینه های خرید نرم افزار خود را در می آورید. بدون شک چه بخواهیم و چه نخواهیم بسته نرم افزاری ASP.NET از قدرت بیشتر و امکانات بیشتری نسبت به PHP برخوردار است و اگر هزینه ای بابت آن، آن هم در صورت پذیرفتن قانون کپی رایت به وجود بیاید دریافت شود ازرشش را دارد.
نتیجه گیری کلی در خصوص تفاوت و مقایسه زبان PHP و ASP.NET
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
فاکتورهای مختلفی را در رابطه با مقایسه این دو زبان برنامه‌نویسی وب عنوان کردیم اما همانطور که در ابتدای مقاله هم اشاره کردیم سعی کردیم حقایق را عنوان کنیم و طرفداری از محصول خاصی را نکنیم. به هر حال با تمامی این اوصاف در نهایت، این خلاقیت، دانش و مهارت برنامه نویس است که یک زبان برنامه‌نویسی را خوب جلوه می دهد و یا بر عکس. یک برنامه نویس حرفه ای باید بتواند باPlatform ها و ابزارهای مختلف کار کند و با آن ها تا حدودی آشنایی داشته باشد. نوع ابزار مهم نیست. مهم دانش و شیوه ی پیاده سازی است. برای یک برنامه نویس حرفه ای، سویچ کردن از برنامه‌نویسی ASP.NET  به PHP و برعکس، کار چندان سختی نیست زیرا مفاهیم را همیشه در ذهن دارد. فقط syntax اجرای آن را عوض می کند. تعصب بیجا به یک زبان برنامه‌نویسی صرفا برای برنامه نویسان مبتدی است، نه برای برنامه نویسان حرفه ای. چیزی که در شبکه نیز وجود دارد و به صورت نادرستی سیسکو را با مایکروسافت مقایسه می کنند. در سطوح بالا هر دو به خوبی با هم کار می کنند؛ اما در سطوح پایین همه با هم مشکل دارند. انتخاب یک زبان برنامه‌نویسی به صورت ویژه ای به سطح و اندازه کار و نیازمندی های پروژه شما دارد که در پاراگراف های قبل به این مسأله اشاره کردیم. در نهایت مهم ترین رکن در برتری یک زبان برنامه‌نویسی دانش شخصی است که زبان را در دست می گیرد.

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276